diff options
Diffstat (limited to 'datapath-windows/ovsext/Gre.h')
-rw-r--r-- | datapath-windows/ovsext/Gre.h | 16 |
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_ */ |