[ovs-dev] [PATCH] datapath-windows: Fix various Geneve bugs
Guru Shetty
guru at ovn.org
Thu Jul 21 18:28:03 UTC 2016
On 13 July 2016 at 20:21, Yin Lin <linyi at vmware.com> wrote:
> Signed-off-by: Yin Lin <linyi at vmware.com>
>
Thank you, applied.
> ---
> 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 at openvswitch.org
> http://openvswitch.org/mailman/listinfo/dev
>
More information about the dev
mailing list