This patch applies the conversions needed for the ICMPv6 type and code.

Signed-off-by: Alin Gabriel Serdean <aserd...@cloudbasesolutions.com>
---
 datapath-windows/ovsext/Flow.c | 9 ++++-----
 1 file changed, 4 insertions(+), 5 deletions(-)

diff --git a/datapath-windows/ovsext/Flow.c b/datapath-windows/ovsext/Flow.c
index 5eec513..df37be7 100644
--- a/datapath-windows/ovsext/Flow.c
+++ b/datapath-windows/ovsext/Flow.c
@@ -1130,9 +1130,8 @@ _MapFlowIpv6KeyToNlKey(PNL_BUFFER nlBuf, Ipv6Key 
*ipv6FlowPutKey,
             struct ovs_key_icmpv6 icmpV6Key;
             struct ovs_key_nd ndKey;
 
-            /* XXX: revisit to see if htons is needed */
-            icmpV6Key.icmpv6_type = (__u8)(icmpv6FlowPutKey->l4.tpSrc);
-            icmpV6Key.icmpv6_code = (__u8)(icmpv6FlowPutKey->l4.tpDst);
+            icmpV6Key.icmpv6_type = (__u8)ntohs(icmpv6FlowPutKey->l4.tpSrc);
+            icmpV6Key.icmpv6_code = (__u8)ntohs(icmpv6FlowPutKey->l4.tpDst);
 
             if (!NlMsgPutTailUnspec(nlBuf, OVS_KEY_ATTR_ICMPV6,
                                    (PCHAR)(&icmpV6Key),
@@ -1462,8 +1461,8 @@ _MapKeyAttrToFlowPut(PNL_ATTR *keyAttrs,
 
                 icmpv6Key = NlAttrGet(keyAttrs[OVS_KEY_ATTR_ICMPV6]);
 
-                icmp6FlowPutKey->l4.tpSrc = icmpv6Key->icmpv6_type;
-                icmp6FlowPutKey->l4.tpDst = icmpv6Key->icmpv6_code;
+                icmp6FlowPutKey->l4.tpSrc = htons(icmpv6Key->icmpv6_type);
+                icmp6FlowPutKey->l4.tpDst = htons(icmpv6Key->icmpv6_code);
 
                 if (keyAttrs[OVS_KEY_ATTR_ND]) {
                     const struct ovs_key_nd *ndKey;
-- 
1.9.5.msysgit.0
_______________________________________________
dev mailing list
dev@openvswitch.org
http://openvswitch.org/mailman/listinfo/dev

Reply via email to