summaryrefslogtreecommitdiff
path: root/datapath-windows/ovsext/Gre.h
diff options
context:
space:
mode:
Diffstat (limited to 'datapath-windows/ovsext/Gre.h')
-rw-r--r--datapath-windows/ovsext/Gre.h16
1 files changed, 16 insertions, 0 deletions
diff --git a/datapath-windows/ovsext/Gre.h b/datapath-windows/ovsext/Gre.h
index c45df8fed..45f3f59f3 100644
--- a/datapath-windows/ovsext/Gre.h
+++ b/datapath-windows/ovsext/Gre.h
@@ -103,4 +103,20 @@ GreTunHdrSize(UINT16 flags)
return sum;
}
+static __inline UINT32
+GreTunHdrSizeFromLayers(UINT16 flags, POVS_PACKET_HDR_INFO layers)
+{
+ UINT32 sum = layers->l4Offset + sizeof(GREHdr);
+ sum += (flags & GRE_CSUM) ? 4 : 0;
+ sum += (flags & GRE_KEY) ? 4 : 0;
+
+ return sum;
+}
+
+static __inline UINT32
+GreMaxLengthFromLayers(POVS_PACKET_HDR_INFO layers)
+{
+ return (layers->l4Offset + sizeof(GREHdr) + 12);
+}
+
#endif /*__GRE_H_ */