diff mbox series

[ovs-dev,v2] datapath-windows: Fix GRE/VxLAN/STT Tunnel RX.

Message ID 20220530025445.1750-1-u9012063@gmail.com
State Accepted
Headers show
Series [ovs-dev,v2] datapath-windows: Fix GRE/VxLAN/STT Tunnel RX. | expand

Checks

Context Check Description
ovsrobot/apply-robot success apply and check: success
ovsrobot/intel-ovs-compilation success test: success
ovsrobot/github-robot-_Build_and_Test success github build: passed

Commit Message

William Tu May 30, 2022, 2:54 a.m. UTC
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 <aserdean@ovn.org>
Signed-off-by: William Tu <u9012063@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(-)

Comments

Alin-Gabriel Serdean June 21, 2022, 10:42 p.m. UTC | #1
Applied on master! Thank you!

Alin

-----Original Message-----
From: William Tu <u9012063@gmail.com> 
Sent: Monday, May 30, 2022 5:55 AM
To: dev@openvswitch.org
Cc: pweisong@vmware.com; Alin-Gabriel Serdean <aserdean@ovn.org>
Subject: [PATCH v2] datapath-windows: Fix GRE/VxLAN/STT Tunnel RX.

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 <aserdean@ovn.org>
Signed-off-by: William Tu <u9012063@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
diff mbox series

Patch

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;