[ovs-dev] [PATCH] datapath-windows: Update OvsIPv4TunnelKey flags in geneve decap.

Anand Kumar kumaranand at vmware.com
Thu Oct 19 17:29:33 UTC 2017


Hi Sairam,

Sure, I will add the check to see if there are any geneve tunnel options and set OVS_TNL_F_GENEVE_OPT accordingly and send out v2 version of the patch.

Thanks,
Anand Kumar

On 10/19/17, 8:13 AM, "Sairam Venugopal" <vsairam at vmware.com> wrote:

    Anand,
    
    Looks like Linux does make a check to see if there are any metadata present before setting these flags - https://github.com/openvswitch/ovs/blob/master/datapath/linux/compat/geneve.c#L239
    
    Can you verify this and update the patch? (un-ack in meantime??)
    
    Thanks,
    Sairam
    
    
    
    
    On 10/18/17, 3:45 PM, "ovs-dev-bounces at openvswitch.org on behalf of Sairam Venugopal" <ovs-dev-bounces at openvswitch.org on behalf of vsairam at vmware.com> wrote:
    
    >Thanks for fixing this. Should we check for geneveHdr->opts before setting OVS_TNL_F_GENEVE_OPT?
    >
    >I know the current code maintains consistency with Linux. But we need to understand if this is intended.
    >
    >Acked-by: Sairam Venugopal <vsairam at vmware.com>
    >
    >
    >
    >
    >
    >On 10/17/17, 5:31 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:
    >
    >>Set the geneve flags OVS_TNL_F_GENEVE_OPT and OVS_TNL_F_CRT_OPT
    >>in OvsDecapGeneve, so that windows behavior is similiar to linux
    >>https://urldefense.proofpoint.com/v2/url?u=https-3A__github.com_openvswitch_ovs_blob_master_datapath_linux_compat_geneve.c-23L242&d=DwICAg&c=uilaK90D4TOVoH58JNXRgQ&r=Z6vowHUOjP5ysP_g372c49Nqc1vEKqHKNBkR5Q5Z7uo&m=ntDbsrs3dZtqbGfAIQnQA7qzLK8SlLouMDV36u0JsGQ&s=TtHsQ-7YSUu8XJHpn4iiQkhaothJamn3dU7_FKuRptE&e=
    >>
    >>Signed-off-by: Anand Kumar <kumaranand at vmware.com>
    >>---
    >> datapath-windows/ovsext/Geneve.c | 8 ++++----
    >> 1 file changed, 4 insertions(+), 4 deletions(-)
    >>
    >>diff --git a/datapath-windows/ovsext/Geneve.c b/datapath-windows/ovsext/Geneve.c
    >>index 43374e2..77244b1 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 | OVS_TNL_F_GENEVE_OPT |
    >>+                    (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 ||
    >>-- 
    >>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=ntDbsrs3dZtqbGfAIQnQA7qzLK8SlLouMDV36u0JsGQ&s=weAfeEKoncNrwUrh3c5va-Efy3yApbOLqPd2LZleZkM&e=
    >_______________________________________________
    >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=eMSUuuWxH9h1UeKSVIcTwgE8ktXUUIht3ybSd8WphY8&s=Y6LNJpoXU2BdIsXqef34Gk0al6E4EaHcbISPLhClhVc&e=
    



More information about the dev mailing list