Hi Shashank, I have set the tunnel key flags OVS_TNL_F_GENEVE_OPT by default to match the linux behavior @https://github.com/openvswitch/ovs/blob/master/datapath/linux/compat/geneve.c#L242
Thanks, Anand Kumar On 10/18/17, 9:07 AM, "Shashank Ram" <[email protected]> wrote: On 10/17/17, 5:31 PM, "[email protected] on behalf of Anand Kumar" <[email protected] on behalf of [email protected]> 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://github.com/openvswitch/ovs/blob/master/datapath/linux/compat/geneve.c#L242 Signed-off-by: Anand Kumar <[email protected]> --- 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); Shouldn’t OVS_TNL_F_GENEVE_OPT be set only when the options header is present? tunKey->tunnelId = GENEVE_VNI_TO_TUNNELID(geneveHdr->vni); tunKey->tunOptLen = (uint8)geneveHdr->optLen * 4; if (tunKey->tunOptLen > TUN_OPT_MAX_LEN || -- _______________________________________________ _______________________________________________ dev mailing list [email protected] https://mail.openvswitch.org/mailman/listinfo/ovs-dev
