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.org_mailman_listinfo_ovs-2Ddev&d=DwICAg&c=uilaK90D4TOVoH58JNXRgQ&r=Z6vowHUOjP5ysP_g372c49Nqc1vEKqHKNBkR5Q5Z7uo&m=BRjHHHPFJJP1H7BWHjwF0OS4UFpTbBiTQNM1SPvh51w&s=JCowvVY7CQ4CxJWnx8dPPqUbvS346xU066Dd0DnMI8A&e= _______________________________________________ dev mailing list [email protected] https://mail.openvswitch.org/mailman/listinfo/ovs-dev
