Thanks Anand and Sai. I applied this on master and on branch-2.8. Should we apply this on branch-2.7 also?
Thanks, Alin. > -----Original Message----- > From: Sairam Venugopal [mailto:[email protected]] > Sent: Friday, October 20, 2017 12:15 AM > To: Anand Kumar <[email protected]>; [email protected] > Cc: Alin Serdean <[email protected]>; Gurucharan Shetty > <[email protected]> > Subject: Re: [ovs-dev] [PATCH v2] datapath-windows: Update > OvsIPv4TunnelKey flags in geneve decap. > > 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 <[email protected]> > > > > > > > On 10/19/17, 1:26 PM, "[email protected] on behalf of > Anand Kumar" <[email protected] on behalf of > [email protected]> 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 <[email protected]> > >--- > > 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 > >[email protected] > >https://urldefense.proofpoint.com/v2/url?u=https- > 3A__mail.openvswitch.o > >rg_mailman_listinfo_ovs- > 2Ddev&d=DwICAg&c=uilaK90D4TOVoH58JNXRgQ&r=Z6vow > >HUOjP5ysP_g372c49Nqc1vEKqHKNBkR5Q5Z7uo&m=BRjHHHPFJJP1H7BWHj > wF0OS4UFpTbB > >iTQNM1SPvh51w&s=JCowvVY7CQ4CxJWnx8dPPqUbvS346xU066Dd0DnMI8 > A&e= _______________________________________________ dev mailing list [email protected] https://mail.openvswitch.org/mailman/listinfo/ovs-dev
