Merge tag 'linux-kselftest-5.6-rc5' of git://git.kernel.org/pub/scm/linux/kernel...
[linux-block.git] / include / uapi / linux / lwtunnel.h
CommitLineData
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
7enum 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
21enum 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
36enum 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
51enum {
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
61enum {
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
71enum {
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
79enum {
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
90enum {
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
99enum {
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_ */