[ovs-dev] [PATCH v2] datapath-windows: Update OvsIPv4TunnelKey flags in geneve decap.
Sairam Venugopal
vsairam at vmware.com
Thu Oct 19 21:14:46 UTC 2017
Thanks for fixing this.
Alin/Guru - Can we back port this to 2.8 too? This causes flow misses when geneve options are present.
Acked-by: Sairam Venugopal <vsairam at vmware.com>
On 10/19/17, 1:26 PM, "ovs-dev-bounces at openvswitch.org on behalf of Anand Kumar" <ovs-dev-bounces at openvswitch.org on behalf of kumaranand at vmware.com> wrote:
>Currently, the OvsLookupFlow fails for the decap packet,
>when the Geneve options are present in the packet as the OvsIPv4TunnelKey
>flags are not set in the Geneve decap.
>
>Set the OvsIPv4TunnelKey flags OVS_TNL_F_OAM and OVS_TNL_F_CRT_OPT
>in OvsDecapGeneve based on the geneve header. Also set OVS_TNL_F_GENEVE_OPT
>if the packet has geneve options.
>
>Signed-off-by: Anand Kumar <kumaranand at vmware.com>
>---
> datapath-windows/ovsext/Geneve.c | 9 +++++----
> 1 file changed, 5 insertions(+), 4 deletions(-)
>
>diff --git a/datapath-windows/ovsext/Geneve.c b/datapath-windows/ovsext/Geneve.c
>index 43374e2..6dca69b 100644
>--- a/datapath-windows/ovsext/Geneve.c
>+++ b/datapath-windows/ovsext/Geneve.c
>@@ -324,10 +324,10 @@ NDIS_STATUS OvsDecapGeneve(POVS_SWITCH_CONTEXT switchContext,
> status = STATUS_NDIS_INVALID_PACKET;
> goto dropNbl;
> }
>- tunKey->flags = OVS_TNL_F_KEY;
>- if (geneveHdr->oam) {
>- tunKey->flags |= OVS_TNL_F_OAM;
>- }
>+ /* Update tunnelKey flags. */
>+ tunKey->flags = OVS_TNL_F_KEY | (geneveHdr->oam ? OVS_TNL_F_OAM : 0) |
>+ (geneveHdr->critical ? OVS_TNL_F_CRT_OPT : 0);
>+
> tunKey->tunnelId = GENEVE_VNI_TO_TUNNELID(geneveHdr->vni);
> tunKey->tunOptLen = (uint8)geneveHdr->optLen * 4;
> if (tunKey->tunOptLen > TUN_OPT_MAX_LEN ||
>@@ -349,6 +349,7 @@ NDIS_STATUS OvsDecapGeneve(POVS_SWITCH_CONTEXT switchContext,
> memcpy(TunnelKeyGetOptions(tunKey), optStart, tunKey->tunOptLen);
> }
> NdisAdvanceNetBufferDataStart(curNb, tunKey->tunOptLen, FALSE, NULL);
>+ tunKey->flags |= OVS_TNL_F_GENEVE_OPT;
> }
>
> return NDIS_STATUS_SUCCESS;
>--
>2.9.3.windows.1
>
>_______________________________________________
>dev mailing list
>dev at openvswitch.org
>https://urldefense.proofpoint.com/v2/url?u=https-3A__mail.openvswitch.org_mailman_listinfo_ovs-2Ddev&d=DwICAg&c=uilaK90D4TOVoH58JNXRgQ&r=Z6vowHUOjP5ysP_g372c49Nqc1vEKqHKNBkR5Q5Z7uo&m=BRjHHHPFJJP1H7BWHjwF0OS4UFpTbBiTQNM1SPvh51w&s=JCowvVY7CQ4CxJWnx8dPPqUbvS346xU066Dd0DnMI8A&e=
More information about the dev
mailing list