aboutsummaryrefslogtreecommitdiff
path: root/original/uapi/linux/seg6_iptunnel.h
diff options
context:
space:
mode:
Diffstat (limited to 'original/uapi/linux/seg6_iptunnel.h')
-rw-r--r--original/uapi/linux/seg6_iptunnel.h21
1 files changed, 21 insertions, 0 deletions
diff --git a/original/uapi/linux/seg6_iptunnel.h b/original/uapi/linux/seg6_iptunnel.h
index eb815e0..09fb608 100644
--- a/original/uapi/linux/seg6_iptunnel.h
+++ b/original/uapi/linux/seg6_iptunnel.h
@@ -37,4 +37,25 @@ enum {
SEG6_IPTUN_MODE_L2ENCAP,
};
+#ifdef __KERNEL__
+
+static inline size_t seg6_lwt_headroom(struct seg6_iptunnel_encap *tuninfo)
+{
+ int head = 0;
+
+ switch (tuninfo->mode) {
+ case SEG6_IPTUN_MODE_INLINE:
+ break;
+ case SEG6_IPTUN_MODE_ENCAP:
+ head = sizeof(struct ipv6hdr);
+ break;
+ case SEG6_IPTUN_MODE_L2ENCAP:
+ return 0;
+ }
+
+ return ((tuninfo->srh->hdrlen + 1) << 3) + head;
+}
+
+#endif
+
#endif