Warning: This file is not a C or C++ file. It does not have highlighting.
1 | /* SPDX-License-Identifier: GPL-2.0+ WITH Linux-syscall-note */ |
---|---|
2 | /* |
3 | * SR-IPv6 implementation |
4 | * |
5 | * Author: |
6 | * David Lebrun <david.lebrun@uclouvain.be> |
7 | * |
8 | * |
9 | * This program is free software; you can redistribute it and/or |
10 | * modify it under the terms of the GNU General Public License |
11 | * as published by the Free Software Foundation; either version |
12 | * 2 of the License, or (at your option) any later version. |
13 | */ |
14 | |
15 | #ifndef _UAPI_LINUX_SEG6_IPTUNNEL_H |
16 | #define _UAPI_LINUX_SEG6_IPTUNNEL_H |
17 | |
18 | #include <linux/seg6.h> /* For struct ipv6_sr_hdr. */ |
19 | |
20 | enum { |
21 | SEG6_IPTUNNEL_UNSPEC, |
22 | SEG6_IPTUNNEL_SRH, |
23 | __SEG6_IPTUNNEL_MAX, |
24 | }; |
25 | #define SEG6_IPTUNNEL_MAX (__SEG6_IPTUNNEL_MAX - 1) |
26 | |
27 | struct seg6_iptunnel_encap { |
28 | int mode; |
29 | struct ipv6_sr_hdr srh[]; |
30 | }; |
31 | |
32 | #define SEG6_IPTUN_ENCAP_SIZE(x) ((sizeof(*x)) + (((x)->srh->hdrlen + 1) << 3)) |
33 | |
34 | enum { |
35 | SEG6_IPTUN_MODE_INLINE, |
36 | SEG6_IPTUN_MODE_ENCAP, |
37 | SEG6_IPTUN_MODE_L2ENCAP, |
38 | SEG6_IPTUN_MODE_ENCAP_RED, |
39 | SEG6_IPTUN_MODE_L2ENCAP_RED, |
40 | }; |
41 | |
42 | #endif |
43 |
Warning: This file is not a C or C++ file. It does not have highlighting.