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