Message ID | 1457618830-4908-1-git-send-email-aserdean@cloudbasesolutions.com |
---|---|
State | Not Applicable |
Headers | show |
On Thu, Mar 10, 2016 at 02:07:06PM +0000, Alin Serdean wrote: > Revisit the mapping of an IPv4 key to netlink key and add the according > transformation. > > Also add support for OVS_KEY_ATTR_ICMP to the windows datapath. > > Signed-off-by: Alin Gabriel Serdean <aserdean@cloudbasesolutions.com> Though this was acked, it gets patch rejects when I try to apply it.
Rebased: http://patchwork.ozlabs.org/patch/604021/ Thanks, Alin > -----Mesaj original----- > De la: Ben Pfaff [mailto:blp@ovn.org] > Trimis: Tuesday, March 29, 2016 6:30 PM > Către: Alin Serdean <aserdean@cloudbasesolutions.com> > Cc: dev@openvswitch.org > Subiect: Re: [ovs-dev] [PATCH] datapath-windows: Add > OVS_KEY_ATTR_ICMP support > > On Thu, Mar 10, 2016 at 02:07:06PM +0000, Alin Serdean wrote: > > Revisit the mapping of an IPv4 key to netlink key and add the > > according transformation. > > > > Also add support for OVS_KEY_ATTR_ICMP to the windows datapath. > > > > Signed-off-by: Alin Gabriel Serdean <aserdean@cloudbasesolutions.com> > > Though this was acked, it gets patch rejects when I try to apply it.
diff --git a/datapath-windows/ovsext/Flow.c b/datapath-windows/ovsext/Flow.c index 5eec513..9e9b8b0 100644 --- a/datapath-windows/ovsext/Flow.c +++ b/datapath-windows/ovsext/Flow.c @@ -1034,13 +1034,12 @@ _MapFlowIpv4KeyToNlKey(PNL_BUFFER nlBuf, IpKey *ipv4FlowPutKey) case IPPROTO_ICMP: { struct ovs_key_icmp icmpKey; - /* XXX: revisit to see if htons is needed */ - icmpKey.icmp_type = (__u8)(ipv4FlowPutKey->l4.tpSrc); - icmpKey.icmp_code = (__u8)(ipv4FlowPutKey->l4.tpDst); + icmpKey.icmp_type = (__u8)ntohs(ipv4FlowPutKey->l4.tpSrc); + icmpKey.icmp_code = (__u8)ntohs(ipv4FlowPutKey->l4.tpDst); if (!NlMsgPutTailUnspec(nlBuf, OVS_KEY_ATTR_ICMP, - (PCHAR)(&icmpKey), - sizeof(icmpKey))) { + (PCHAR)(&icmpKey), + sizeof(icmpKey))) { rc = STATUS_UNSUCCESSFUL; goto done; } @@ -1411,6 +1410,13 @@ _MapKeyAttrToFlowPut(PNL_ATTR *keyAttrs, ipv4FlowPutKey->l4.tpDst = sctpKey->sctp_dst; } + if (keyAttrs[OVS_KEY_ATTR_ICMP]) { + const struct ovs_key_icmp *icmpKey; + icmpKey = NlAttrGet(keyAttrs[OVS_KEY_ATTR_ICMP]); + ipv4FlowPutKey->l4.tpSrc = htons(icmpKey->icmp_type); + ipv4FlowPutKey->l4.tpDst = htons(icmpKey->icmp_code); + } + destKey->l2.keyLen += OVS_IP_KEY_SIZE; } break;
Revisit the mapping of an IPv4 key to netlink key and add the according transformation. Also add support for OVS_KEY_ATTR_ICMP to the windows datapath. Signed-off-by: Alin Gabriel Serdean <aserdean@cloudbasesolutions.com> --- datapath-windows/ovsext/Flow.c | 16 +++++++++++----- 1 file changed, 11 insertions(+), 5 deletions(-)