GRE/Vxlan/STT tunnel RX is broken due to incorrecly checking the
'tunKey->dst.si_family != AF_INET', which is actually
set later after parsing the GRE header. Removing such
chunk makes tunnel works.

Fixes: edb2335861d6 ("datapath-windows: Add IPv6 Geneve tunnel support in 
Windows")
Cc: Alin-Gabriel Serdean <aserd...@ovn.org>
Signed-off-by: William Tu <u9012...@gmail.com>
---
v2: talked to Wilson and add fixes to Vxlan.c and Stt.c
---
 datapath-windows/ovsext/Gre.c   | 5 -----
 datapath-windows/ovsext/Stt.c   | 6 ------
 datapath-windows/ovsext/Vxlan.c | 5 -----
 3 files changed, 16 deletions(-)

diff --git a/datapath-windows/ovsext/Gre.c b/datapath-windows/ovsext/Gre.c
index d87864029..54725dd17 100644
--- a/datapath-windows/ovsext/Gre.c
+++ b/datapath-windows/ovsext/Gre.c
@@ -332,11 +332,6 @@ OvsDecapGre(POVS_SWITCH_CONTEXT switchContext,
 
     *newNbl = NULL;
 
-    if (tunKey->dst.si_family != AF_INET) {
-        /*V6 tunnel support will be supported later*/
-        return NDIS_STATUS_FAILURE;
-    }
-
     status = OvsExtractLayers(curNbl, &layers);
     if (status != NDIS_STATUS_SUCCESS) {
         return status;
diff --git a/datapath-windows/ovsext/Stt.c b/datapath-windows/ovsext/Stt.c
index ebdebb690..09d317934 100644
--- a/datapath-windows/ovsext/Stt.c
+++ b/datapath-windows/ovsext/Stt.c
@@ -931,12 +931,6 @@ OvsDecapStt(POVS_SWITCH_CONTEXT switchContext,
     UINT32 advanceCnt, hdrLen;
     OVS_PACKET_HDR_INFO layers = { 0 };
 
-
-    if (tunKey->dst.si_family != AF_INET) {
-        /*V6 tunnel support will be supported later*/
-        return NDIS_STATUS_FAILURE;
-    }
-
     status = OvsExtractLayers(curNbl, &layers);
     if (status != NDIS_STATUS_SUCCESS) {
         return status;
diff --git a/datapath-windows/ovsext/Vxlan.c b/datapath-windows/ovsext/Vxlan.c
index d2c7a4a46..b268e7de2 100644
--- a/datapath-windows/ovsext/Vxlan.c
+++ b/datapath-windows/ovsext/Vxlan.c
@@ -412,11 +412,6 @@ OvsDecapVxlan(POVS_SWITCH_CONTEXT switchContext,
     NDIS_STATUS status;
     OVS_PACKET_HDR_INFO layers = { 0 };
 
-    if (tunKey->dst.si_family != AF_INET) {
-        /*V6 tunnel support will be supported later*/
-        return NDIS_STATUS_FAILURE;
-    }
-
     status = OvsExtractLayers(curNbl, &layers);
     if (status != NDIS_STATUS_SUCCESS) {
         return status;
-- 
2.33.0.windows.2

_______________________________________________
dev mailing list
d...@openvswitch.org
https://mail.openvswitch.org/mailman/listinfo/ovs-dev

Reply via email to