Commit | Line | Data |
---|---|---|
6f52b16c | 1 | /* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */ |
499a2425 RP |
2 | #ifndef _UAPI_LWTUNNEL_H_ |
3 | #define _UAPI_LWTUNNEL_H_ | |
4 | ||
5 | #include <linux/types.h> | |
6 | ||
7 | enum lwtunnel_encap_types { | |
8 | LWTUNNEL_ENCAP_NONE, | |
9 | LWTUNNEL_ENCAP_MPLS, | |
3093fbe7 | 10 | LWTUNNEL_ENCAP_IP, |
65d7ab8d | 11 | LWTUNNEL_ENCAP_ILA, |
32a2b002 | 12 | LWTUNNEL_ENCAP_IP6, |
6c8702c6 | 13 | LWTUNNEL_ENCAP_SEG6, |
3a0af8fd | 14 | LWTUNNEL_ENCAP_BPF, |
d1df6fd8 | 15 | LWTUNNEL_ENCAP_SEG6_LOCAL, |
499a2425 RP |
16 | __LWTUNNEL_ENCAP_MAX, |
17 | }; | |
18 | ||
19 | #define LWTUNNEL_ENCAP_MAX (__LWTUNNEL_ENCAP_MAX - 1) | |
20 | ||
a1c234f9 JB |
21 | enum lwtunnel_ip_t { |
22 | LWTUNNEL_IP_UNSPEC, | |
23 | LWTUNNEL_IP_ID, | |
24 | LWTUNNEL_IP_DST, | |
25 | LWTUNNEL_IP_SRC, | |
26 | LWTUNNEL_IP_TTL, | |
27 | LWTUNNEL_IP_TOS, | |
a1c234f9 | 28 | LWTUNNEL_IP_FLAGS, |
b46f6ded | 29 | LWTUNNEL_IP_PAD, |
4ece4778 | 30 | LWTUNNEL_IP_OPTS, |
a1c234f9 JB |
31 | __LWTUNNEL_IP_MAX, |
32 | }; | |
33 | ||
34 | #define LWTUNNEL_IP_MAX (__LWTUNNEL_IP_MAX - 1) | |
499a2425 | 35 | |
32a2b002 JB |
36 | enum lwtunnel_ip6_t { |
37 | LWTUNNEL_IP6_UNSPEC, | |
38 | LWTUNNEL_IP6_ID, | |
39 | LWTUNNEL_IP6_DST, | |
40 | LWTUNNEL_IP6_SRC, | |
41 | LWTUNNEL_IP6_HOPLIMIT, | |
42 | LWTUNNEL_IP6_TC, | |
32a2b002 | 43 | LWTUNNEL_IP6_FLAGS, |
b46f6ded | 44 | LWTUNNEL_IP6_PAD, |
4ece4778 | 45 | LWTUNNEL_IP6_OPTS, |
32a2b002 JB |
46 | __LWTUNNEL_IP6_MAX, |
47 | }; | |
48 | ||
49 | #define LWTUNNEL_IP6_MAX (__LWTUNNEL_IP6_MAX - 1) | |
50 | ||
4ece4778 XL |
51 | enum { |
52 | LWTUNNEL_IP_OPTS_UNSPEC, | |
53 | LWTUNNEL_IP_OPTS_GENEVE, | |
edf31cbb | 54 | LWTUNNEL_IP_OPTS_VXLAN, |
b0a21810 | 55 | LWTUNNEL_IP_OPTS_ERSPAN, |
4ece4778 XL |
56 | __LWTUNNEL_IP_OPTS_MAX, |
57 | }; | |
58 | ||
59 | #define LWTUNNEL_IP_OPTS_MAX (__LWTUNNEL_IP_OPTS_MAX - 1) | |
60 | ||
61 | enum { | |
62 | LWTUNNEL_IP_OPT_GENEVE_UNSPEC, | |
63 | LWTUNNEL_IP_OPT_GENEVE_CLASS, | |
64 | LWTUNNEL_IP_OPT_GENEVE_TYPE, | |
65 | LWTUNNEL_IP_OPT_GENEVE_DATA, | |
66 | __LWTUNNEL_IP_OPT_GENEVE_MAX, | |
67 | }; | |
68 | ||
69 | #define LWTUNNEL_IP_OPT_GENEVE_MAX (__LWTUNNEL_IP_OPT_GENEVE_MAX - 1) | |
70 | ||
edf31cbb XL |
71 | enum { |
72 | LWTUNNEL_IP_OPT_VXLAN_UNSPEC, | |
73 | LWTUNNEL_IP_OPT_VXLAN_GBP, | |
74 | __LWTUNNEL_IP_OPT_VXLAN_MAX, | |
75 | }; | |
76 | ||
77 | #define LWTUNNEL_IP_OPT_VXLAN_MAX (__LWTUNNEL_IP_OPT_VXLAN_MAX - 1) | |
78 | ||
b0a21810 XL |
79 | enum { |
80 | LWTUNNEL_IP_OPT_ERSPAN_UNSPEC, | |
81 | LWTUNNEL_IP_OPT_ERSPAN_VER, | |
82 | LWTUNNEL_IP_OPT_ERSPAN_INDEX, | |
83 | LWTUNNEL_IP_OPT_ERSPAN_DIR, | |
84 | LWTUNNEL_IP_OPT_ERSPAN_HWID, | |
85 | __LWTUNNEL_IP_OPT_ERSPAN_MAX, | |
86 | }; | |
87 | ||
88 | #define LWTUNNEL_IP_OPT_ERSPAN_MAX (__LWTUNNEL_IP_OPT_ERSPAN_MAX - 1) | |
89 | ||
3a0af8fd TG |
90 | enum { |
91 | LWT_BPF_PROG_UNSPEC, | |
92 | LWT_BPF_PROG_FD, | |
93 | LWT_BPF_PROG_NAME, | |
94 | __LWT_BPF_PROG_MAX, | |
95 | }; | |
96 | ||
97 | #define LWT_BPF_PROG_MAX (__LWT_BPF_PROG_MAX - 1) | |
98 | ||
99 | enum { | |
100 | LWT_BPF_UNSPEC, | |
101 | LWT_BPF_IN, | |
102 | LWT_BPF_OUT, | |
103 | LWT_BPF_XMIT, | |
104 | LWT_BPF_XMIT_HEADROOM, | |
105 | __LWT_BPF_MAX, | |
106 | }; | |
107 | ||
108 | #define LWT_BPF_MAX (__LWT_BPF_MAX - 1) | |
109 | ||
110 | #define LWT_BPF_MAX_HEADROOM 256 | |
111 | ||
499a2425 | 112 | #endif /* _UAPI_LWTUNNEL_H_ */ |