summaryrefslogtreecommitdiff
path: root/datapath-windows/ovsext/Geneve.h
diff options
context:
space:
mode:
Diffstat (limited to 'datapath-windows/ovsext/Geneve.h')
-rw-r--r--datapath-windows/ovsext/Geneve.h19
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);