xref: /aosp_15_r20/external/libnl/include/linux-private/linux/lwtunnel.h (revision 4dc78e53d49367fa8e61b07018507c90983a077d)
1*4dc78e53SAndroid Build Coastguard Worker /* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */
2*4dc78e53SAndroid Build Coastguard Worker #ifndef _LWTUNNEL_H_
3*4dc78e53SAndroid Build Coastguard Worker #define _LWTUNNEL_H_
4*4dc78e53SAndroid Build Coastguard Worker 
5*4dc78e53SAndroid Build Coastguard Worker #include <linux/types.h>
6*4dc78e53SAndroid Build Coastguard Worker 
7*4dc78e53SAndroid Build Coastguard Worker enum lwtunnel_encap_types {
8*4dc78e53SAndroid Build Coastguard Worker 	LWTUNNEL_ENCAP_NONE,
9*4dc78e53SAndroid Build Coastguard Worker 	LWTUNNEL_ENCAP_MPLS,
10*4dc78e53SAndroid Build Coastguard Worker 	LWTUNNEL_ENCAP_IP,
11*4dc78e53SAndroid Build Coastguard Worker 	LWTUNNEL_ENCAP_ILA,
12*4dc78e53SAndroid Build Coastguard Worker 	LWTUNNEL_ENCAP_IP6,
13*4dc78e53SAndroid Build Coastguard Worker 	LWTUNNEL_ENCAP_SEG6,
14*4dc78e53SAndroid Build Coastguard Worker 	LWTUNNEL_ENCAP_BPF,
15*4dc78e53SAndroid Build Coastguard Worker 	LWTUNNEL_ENCAP_SEG6_LOCAL,
16*4dc78e53SAndroid Build Coastguard Worker 	LWTUNNEL_ENCAP_RPL,
17*4dc78e53SAndroid Build Coastguard Worker 	LWTUNNEL_ENCAP_IOAM6,
18*4dc78e53SAndroid Build Coastguard Worker 	LWTUNNEL_ENCAP_XFRM,
19*4dc78e53SAndroid Build Coastguard Worker 	__LWTUNNEL_ENCAP_MAX,
20*4dc78e53SAndroid Build Coastguard Worker };
21*4dc78e53SAndroid Build Coastguard Worker 
22*4dc78e53SAndroid Build Coastguard Worker #define LWTUNNEL_ENCAP_MAX (__LWTUNNEL_ENCAP_MAX - 1)
23*4dc78e53SAndroid Build Coastguard Worker 
24*4dc78e53SAndroid Build Coastguard Worker enum lwtunnel_ip_t {
25*4dc78e53SAndroid Build Coastguard Worker 	LWTUNNEL_IP_UNSPEC,
26*4dc78e53SAndroid Build Coastguard Worker 	LWTUNNEL_IP_ID,
27*4dc78e53SAndroid Build Coastguard Worker 	LWTUNNEL_IP_DST,
28*4dc78e53SAndroid Build Coastguard Worker 	LWTUNNEL_IP_SRC,
29*4dc78e53SAndroid Build Coastguard Worker 	LWTUNNEL_IP_TTL,
30*4dc78e53SAndroid Build Coastguard Worker 	LWTUNNEL_IP_TOS,
31*4dc78e53SAndroid Build Coastguard Worker 	LWTUNNEL_IP_FLAGS,
32*4dc78e53SAndroid Build Coastguard Worker 	LWTUNNEL_IP_PAD,
33*4dc78e53SAndroid Build Coastguard Worker 	LWTUNNEL_IP_OPTS,
34*4dc78e53SAndroid Build Coastguard Worker 	__LWTUNNEL_IP_MAX,
35*4dc78e53SAndroid Build Coastguard Worker };
36*4dc78e53SAndroid Build Coastguard Worker 
37*4dc78e53SAndroid Build Coastguard Worker #define LWTUNNEL_IP_MAX (__LWTUNNEL_IP_MAX - 1)
38*4dc78e53SAndroid Build Coastguard Worker 
39*4dc78e53SAndroid Build Coastguard Worker enum lwtunnel_ip6_t {
40*4dc78e53SAndroid Build Coastguard Worker 	LWTUNNEL_IP6_UNSPEC,
41*4dc78e53SAndroid Build Coastguard Worker 	LWTUNNEL_IP6_ID,
42*4dc78e53SAndroid Build Coastguard Worker 	LWTUNNEL_IP6_DST,
43*4dc78e53SAndroid Build Coastguard Worker 	LWTUNNEL_IP6_SRC,
44*4dc78e53SAndroid Build Coastguard Worker 	LWTUNNEL_IP6_HOPLIMIT,
45*4dc78e53SAndroid Build Coastguard Worker 	LWTUNNEL_IP6_TC,
46*4dc78e53SAndroid Build Coastguard Worker 	LWTUNNEL_IP6_FLAGS,
47*4dc78e53SAndroid Build Coastguard Worker 	LWTUNNEL_IP6_PAD,
48*4dc78e53SAndroid Build Coastguard Worker 	LWTUNNEL_IP6_OPTS,
49*4dc78e53SAndroid Build Coastguard Worker 	__LWTUNNEL_IP6_MAX,
50*4dc78e53SAndroid Build Coastguard Worker };
51*4dc78e53SAndroid Build Coastguard Worker 
52*4dc78e53SAndroid Build Coastguard Worker #define LWTUNNEL_IP6_MAX (__LWTUNNEL_IP6_MAX - 1)
53*4dc78e53SAndroid Build Coastguard Worker 
54*4dc78e53SAndroid Build Coastguard Worker enum {
55*4dc78e53SAndroid Build Coastguard Worker 	LWTUNNEL_IP_OPTS_UNSPEC,
56*4dc78e53SAndroid Build Coastguard Worker 	LWTUNNEL_IP_OPTS_GENEVE,
57*4dc78e53SAndroid Build Coastguard Worker 	LWTUNNEL_IP_OPTS_VXLAN,
58*4dc78e53SAndroid Build Coastguard Worker 	LWTUNNEL_IP_OPTS_ERSPAN,
59*4dc78e53SAndroid Build Coastguard Worker 	__LWTUNNEL_IP_OPTS_MAX,
60*4dc78e53SAndroid Build Coastguard Worker };
61*4dc78e53SAndroid Build Coastguard Worker 
62*4dc78e53SAndroid Build Coastguard Worker #define LWTUNNEL_IP_OPTS_MAX (__LWTUNNEL_IP_OPTS_MAX - 1)
63*4dc78e53SAndroid Build Coastguard Worker 
64*4dc78e53SAndroid Build Coastguard Worker enum {
65*4dc78e53SAndroid Build Coastguard Worker 	LWTUNNEL_IP_OPT_GENEVE_UNSPEC,
66*4dc78e53SAndroid Build Coastguard Worker 	LWTUNNEL_IP_OPT_GENEVE_CLASS,
67*4dc78e53SAndroid Build Coastguard Worker 	LWTUNNEL_IP_OPT_GENEVE_TYPE,
68*4dc78e53SAndroid Build Coastguard Worker 	LWTUNNEL_IP_OPT_GENEVE_DATA,
69*4dc78e53SAndroid Build Coastguard Worker 	__LWTUNNEL_IP_OPT_GENEVE_MAX,
70*4dc78e53SAndroid Build Coastguard Worker };
71*4dc78e53SAndroid Build Coastguard Worker 
72*4dc78e53SAndroid Build Coastguard Worker #define LWTUNNEL_IP_OPT_GENEVE_MAX (__LWTUNNEL_IP_OPT_GENEVE_MAX - 1)
73*4dc78e53SAndroid Build Coastguard Worker 
74*4dc78e53SAndroid Build Coastguard Worker enum {
75*4dc78e53SAndroid Build Coastguard Worker 	LWTUNNEL_IP_OPT_VXLAN_UNSPEC,
76*4dc78e53SAndroid Build Coastguard Worker 	LWTUNNEL_IP_OPT_VXLAN_GBP,
77*4dc78e53SAndroid Build Coastguard Worker 	__LWTUNNEL_IP_OPT_VXLAN_MAX,
78*4dc78e53SAndroid Build Coastguard Worker };
79*4dc78e53SAndroid Build Coastguard Worker 
80*4dc78e53SAndroid Build Coastguard Worker #define LWTUNNEL_IP_OPT_VXLAN_MAX (__LWTUNNEL_IP_OPT_VXLAN_MAX - 1)
81*4dc78e53SAndroid Build Coastguard Worker 
82*4dc78e53SAndroid Build Coastguard Worker enum {
83*4dc78e53SAndroid Build Coastguard Worker 	LWTUNNEL_IP_OPT_ERSPAN_UNSPEC,
84*4dc78e53SAndroid Build Coastguard Worker 	LWTUNNEL_IP_OPT_ERSPAN_VER,
85*4dc78e53SAndroid Build Coastguard Worker 	LWTUNNEL_IP_OPT_ERSPAN_INDEX,
86*4dc78e53SAndroid Build Coastguard Worker 	LWTUNNEL_IP_OPT_ERSPAN_DIR,
87*4dc78e53SAndroid Build Coastguard Worker 	LWTUNNEL_IP_OPT_ERSPAN_HWID,
88*4dc78e53SAndroid Build Coastguard Worker 	__LWTUNNEL_IP_OPT_ERSPAN_MAX,
89*4dc78e53SAndroid Build Coastguard Worker };
90*4dc78e53SAndroid Build Coastguard Worker 
91*4dc78e53SAndroid Build Coastguard Worker #define LWTUNNEL_IP_OPT_ERSPAN_MAX (__LWTUNNEL_IP_OPT_ERSPAN_MAX - 1)
92*4dc78e53SAndroid Build Coastguard Worker 
93*4dc78e53SAndroid Build Coastguard Worker enum {
94*4dc78e53SAndroid Build Coastguard Worker 	LWT_BPF_PROG_UNSPEC,
95*4dc78e53SAndroid Build Coastguard Worker 	LWT_BPF_PROG_FD,
96*4dc78e53SAndroid Build Coastguard Worker 	LWT_BPF_PROG_NAME,
97*4dc78e53SAndroid Build Coastguard Worker 	__LWT_BPF_PROG_MAX,
98*4dc78e53SAndroid Build Coastguard Worker };
99*4dc78e53SAndroid Build Coastguard Worker 
100*4dc78e53SAndroid Build Coastguard Worker #define LWT_BPF_PROG_MAX (__LWT_BPF_PROG_MAX - 1)
101*4dc78e53SAndroid Build Coastguard Worker 
102*4dc78e53SAndroid Build Coastguard Worker enum {
103*4dc78e53SAndroid Build Coastguard Worker 	LWT_BPF_UNSPEC,
104*4dc78e53SAndroid Build Coastguard Worker 	LWT_BPF_IN,
105*4dc78e53SAndroid Build Coastguard Worker 	LWT_BPF_OUT,
106*4dc78e53SAndroid Build Coastguard Worker 	LWT_BPF_XMIT,
107*4dc78e53SAndroid Build Coastguard Worker 	LWT_BPF_XMIT_HEADROOM,
108*4dc78e53SAndroid Build Coastguard Worker 	__LWT_BPF_MAX,
109*4dc78e53SAndroid Build Coastguard Worker };
110*4dc78e53SAndroid Build Coastguard Worker 
111*4dc78e53SAndroid Build Coastguard Worker #define LWT_BPF_MAX (__LWT_BPF_MAX - 1)
112*4dc78e53SAndroid Build Coastguard Worker 
113*4dc78e53SAndroid Build Coastguard Worker #define LWT_BPF_MAX_HEADROOM 256
114*4dc78e53SAndroid Build Coastguard Worker 
115*4dc78e53SAndroid Build Coastguard Worker enum {
116*4dc78e53SAndroid Build Coastguard Worker 	LWT_XFRM_UNSPEC,
117*4dc78e53SAndroid Build Coastguard Worker 	LWT_XFRM_IF_ID,
118*4dc78e53SAndroid Build Coastguard Worker 	LWT_XFRM_LINK,
119*4dc78e53SAndroid Build Coastguard Worker 	__LWT_XFRM_MAX,
120*4dc78e53SAndroid Build Coastguard Worker };
121*4dc78e53SAndroid Build Coastguard Worker 
122*4dc78e53SAndroid Build Coastguard Worker #define LWT_XFRM_MAX (__LWT_XFRM_MAX - 1)
123*4dc78e53SAndroid Build Coastguard Worker 
124*4dc78e53SAndroid Build Coastguard Worker #endif /* _LWTUNNEL_H_ */
125