Signed-off-by: Yin Lin <li...@vmware.com> --- datapath-windows/ovsext/Flow.c | 2 +- datapath-windows/ovsext/Vport.c | 3 ++- datapath-windows/ovsext/Vport.h | 5 +++++ 3 files changed, 8 insertions(+), 2 deletions(-)
diff --git a/datapath-windows/ovsext/Flow.c b/datapath-windows/ovsext/Flow.c index bc0bb37..7a57f96 100644 --- a/datapath-windows/ovsext/Flow.c +++ b/datapath-windows/ovsext/Flow.c @@ -1683,7 +1683,7 @@ OvsTunnelAttrToGeneveOptions(PNL_ATTR attr, option = (GeneveOptionHdr *)((UINT8 *)option + len); optLen -= len; } - memcpy(TunnelKeyGetOptions(tunKey), option, optLen); + memcpy(TunnelKeyGetOptions(tunKey), NlAttrData(attr), tunKey->tunOptLen); if (isCritical) { tunKey->flags |= OVS_TNL_F_CRT_OPT; } diff --git a/datapath-windows/ovsext/Vport.c b/datapath-windows/ovsext/Vport.c index 1462453..22741db 100644 --- a/datapath-windows/ovsext/Vport.c +++ b/datapath-windows/ovsext/Vport.c @@ -724,7 +724,8 @@ OvsFindTunnelVportByDstPortAndNWProto(POVS_SWITCH_CONTEXT switchContext, if (GetPortFromPriv(vport) == dstPort) { switch (nwProto) { case IPPROTO_UDP: - if (vport->ovsType != OVS_VPORT_TYPE_VXLAN) { + if (vport->ovsType != OVS_VPORT_TYPE_GENEVE && + vport->ovsType != OVS_VPORT_TYPE_VXLAN) { continue; } break; diff --git a/datapath-windows/ovsext/Vport.h b/datapath-windows/ovsext/Vport.h index f0a9acd..1f4968e 100644 --- a/datapath-windows/ovsext/Vport.h +++ b/datapath-windows/ovsext/Vport.h @@ -21,6 +21,7 @@ #include "Stt.h" #include "Switch.h" #include "VxLan.h" +#include "Geneve.h" #define OVS_MAX_DPPORTS MAXUINT16 #define OVS_DPPORT_NUMBER_INVALID OVS_MAX_DPPORTS @@ -183,6 +184,7 @@ static __inline BOOLEAN OvsIsTunnelVportType(OVS_VPORT_TYPE ovsType) { return ovsType == OVS_VPORT_TYPE_VXLAN || + ovsType == OVS_VPORT_TYPE_GENEVE || ovsType == OVS_VPORT_TYPE_STT || ovsType == OVS_VPORT_TYPE_GRE; } @@ -270,6 +272,9 @@ GetPortFromPriv(POVS_VPORT_ENTRY vport) case OVS_VPORT_TYPE_VXLAN: dstPort = ((POVS_VXLAN_VPORT)vportPriv)->dstPort; break; + case OVS_VPORT_TYPE_GENEVE: + dstPort = ((POVS_GENEVE_VPORT) vportPriv)->dstPort; + break; default: ASSERT(! "Port is not a tunnel port"); } -- 2.8.0.windows.1 _______________________________________________ dev mailing list dev@openvswitch.org http://openvswitch.org/mailman/listinfo/dev