During vswitchd boot up kernel is receiving FLOW_ADD commands
without ETHERTYPE attribute. Added additional check for the same
in this patch.

Signed-off-by: Ankur Sharma <ankursha...@vmware.com>
---
 datapath-windows/ovsext/Flow.c | 8 +++++++-
 1 file changed, 7 insertions(+), 1 deletion(-)

diff --git a/datapath-windows/ovsext/Flow.c b/datapath-windows/ovsext/Flow.c
index 5ed5c18..b55263b 100644
--- a/datapath-windows/ovsext/Flow.c
+++ b/datapath-windows/ovsext/Flow.c
@@ -1238,8 +1238,14 @@ _MapKeyAttrToFlowPut(PNL_ATTR *keyAttrs,
     RtlCopyMemory(destKey->l2.dlSrc, eth_key->eth_src, ETH_ADDR_LEN);
     RtlCopyMemory(destKey->l2.dlDst, eth_key->eth_dst, ETH_ADDR_LEN);
 
+    /* TODO: Ideally ETHERTYPE should not be optional.
+     * But during vswitchd bootup we are seeing FLOW_ADD
+     * requests with no ETHERTYPE attributes.
+     * Need to verify this. */
+    if (keyAttrs[OVS_KEY_ATTR_ETHERTYPE]) {
     destKey->l2.dlType = ntohs((NlAttrGetU16(keyAttrs
-                          [OVS_KEY_ATTR_ETHERTYPE])));
+                               [OVS_KEY_ATTR_ETHERTYPE])));
+    }
 
     if (keyAttrs[OVS_KEY_ATTR_VLAN]) {
         destKey->l2.vlanTci = NlAttrGetU16(keyAttrs
-- 
1.9.1

_______________________________________________
dev mailing list
dev@openvswitch.org
http://openvswitch.org/mailman/listinfo/dev

Reply via email to