diff options
Diffstat (limited to 'datapath-windows/ovsext/Geneve.h')
-rw-r--r-- | datapath-windows/ovsext/Geneve.h | 19 |
1 files changed, 17 insertions, 2 deletions
diff --git a/datapath-windows/ovsext/Geneve.h b/datapath-windows/ovsext/Geneve.h index db758dd07..6307479d1 100644 --- a/datapath-windows/ovsext/Geneve.h +++ b/datapath-windows/ovsext/Geneve.h @@ -87,7 +87,7 @@ VOID OvsCleanupGeneveTunnel(POVS_VPORT_ENTRY vport); NDIS_STATUS OvsEncapGeneve(POVS_VPORT_ENTRY vport, PNET_BUFFER_LIST curNbl, - OvsIPv4TunnelKey *tunKey, + OvsIPTunnelKey *tunKey, POVS_SWITCH_CONTEXT switchContext, POVS_PACKET_HDR_INFO layers, PNET_BUFFER_LIST *newNbl, @@ -95,7 +95,7 @@ NDIS_STATUS OvsEncapGeneve(POVS_VPORT_ENTRY vport, NDIS_STATUS OvsDecapGeneve(POVS_SWITCH_CONTEXT switchContext, PNET_BUFFER_LIST curNbl, - OvsIPv4TunnelKey *tunKey, + OvsIPTunnelKey *tunKey, PNET_BUFFER_LIST *newNbl); static __inline UINT32 @@ -114,6 +114,21 @@ OvsGetGeneveTunHdrMaxSize(VOID) } static __inline UINT32 +OvsGetGeneveIPv6TunHdrMinSize(VOID) +{ + /* XXX: Can L2 include VLAN at all? */ + return sizeof (EthHdr) + sizeof (IPv6Hdr) + sizeof (UDPHdr) + + sizeof (GeneveHdr); +} + +static __inline UINT32 +OvsGetGeneveIPv6TunHdrMaxSize(VOID) +{ + /* XXX: Can L2 include VLAN at all? */ + return OvsGetGeneveIPv6TunHdrMinSize() + TUN_OPT_MAX_LEN; +} + +static __inline UINT32 OvsGetGeneveTunHdrSizeFromLayers(POVS_PACKET_HDR_INFO layers) { return layers->l7Offset + sizeof(GeneveHdr); |