xref: /aosp_15_r20/external/iproute2/include/uapi/linux/lwtunnel.h (revision de1e4e894b0c224df933550f0afdecc354b238c4)
1*de1e4e89SAndroid Build Coastguard Worker /* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */
2*de1e4e89SAndroid Build Coastguard Worker #ifndef _LWTUNNEL_H_
3*de1e4e89SAndroid Build Coastguard Worker #define _LWTUNNEL_H_
4*de1e4e89SAndroid Build Coastguard Worker 
5*de1e4e89SAndroid Build Coastguard Worker #include <linux/types.h>
6*de1e4e89SAndroid Build Coastguard Worker 
7*de1e4e89SAndroid Build Coastguard Worker enum lwtunnel_encap_types {
8*de1e4e89SAndroid Build Coastguard Worker 	LWTUNNEL_ENCAP_NONE,
9*de1e4e89SAndroid Build Coastguard Worker 	LWTUNNEL_ENCAP_MPLS,
10*de1e4e89SAndroid Build Coastguard Worker 	LWTUNNEL_ENCAP_IP,
11*de1e4e89SAndroid Build Coastguard Worker 	LWTUNNEL_ENCAP_ILA,
12*de1e4e89SAndroid Build Coastguard Worker 	LWTUNNEL_ENCAP_IP6,
13*de1e4e89SAndroid Build Coastguard Worker 	LWTUNNEL_ENCAP_SEG6,
14*de1e4e89SAndroid Build Coastguard Worker 	LWTUNNEL_ENCAP_BPF,
15*de1e4e89SAndroid Build Coastguard Worker 	LWTUNNEL_ENCAP_SEG6_LOCAL,
16*de1e4e89SAndroid Build Coastguard Worker 	__LWTUNNEL_ENCAP_MAX,
17*de1e4e89SAndroid Build Coastguard Worker };
18*de1e4e89SAndroid Build Coastguard Worker 
19*de1e4e89SAndroid Build Coastguard Worker #define LWTUNNEL_ENCAP_MAX (__LWTUNNEL_ENCAP_MAX - 1)
20*de1e4e89SAndroid Build Coastguard Worker 
21*de1e4e89SAndroid Build Coastguard Worker enum lwtunnel_ip_t {
22*de1e4e89SAndroid Build Coastguard Worker 	LWTUNNEL_IP_UNSPEC,
23*de1e4e89SAndroid Build Coastguard Worker 	LWTUNNEL_IP_ID,
24*de1e4e89SAndroid Build Coastguard Worker 	LWTUNNEL_IP_DST,
25*de1e4e89SAndroid Build Coastguard Worker 	LWTUNNEL_IP_SRC,
26*de1e4e89SAndroid Build Coastguard Worker 	LWTUNNEL_IP_TTL,
27*de1e4e89SAndroid Build Coastguard Worker 	LWTUNNEL_IP_TOS,
28*de1e4e89SAndroid Build Coastguard Worker 	LWTUNNEL_IP_FLAGS,
29*de1e4e89SAndroid Build Coastguard Worker 	LWTUNNEL_IP_PAD,
30*de1e4e89SAndroid Build Coastguard Worker 	__LWTUNNEL_IP_MAX,
31*de1e4e89SAndroid Build Coastguard Worker };
32*de1e4e89SAndroid Build Coastguard Worker 
33*de1e4e89SAndroid Build Coastguard Worker #define LWTUNNEL_IP_MAX (__LWTUNNEL_IP_MAX - 1)
34*de1e4e89SAndroid Build Coastguard Worker 
35*de1e4e89SAndroid Build Coastguard Worker enum lwtunnel_ip6_t {
36*de1e4e89SAndroid Build Coastguard Worker 	LWTUNNEL_IP6_UNSPEC,
37*de1e4e89SAndroid Build Coastguard Worker 	LWTUNNEL_IP6_ID,
38*de1e4e89SAndroid Build Coastguard Worker 	LWTUNNEL_IP6_DST,
39*de1e4e89SAndroid Build Coastguard Worker 	LWTUNNEL_IP6_SRC,
40*de1e4e89SAndroid Build Coastguard Worker 	LWTUNNEL_IP6_HOPLIMIT,
41*de1e4e89SAndroid Build Coastguard Worker 	LWTUNNEL_IP6_TC,
42*de1e4e89SAndroid Build Coastguard Worker 	LWTUNNEL_IP6_FLAGS,
43*de1e4e89SAndroid Build Coastguard Worker 	LWTUNNEL_IP6_PAD,
44*de1e4e89SAndroid Build Coastguard Worker 	__LWTUNNEL_IP6_MAX,
45*de1e4e89SAndroid Build Coastguard Worker };
46*de1e4e89SAndroid Build Coastguard Worker 
47*de1e4e89SAndroid Build Coastguard Worker #define LWTUNNEL_IP6_MAX (__LWTUNNEL_IP6_MAX - 1)
48*de1e4e89SAndroid Build Coastguard Worker 
49*de1e4e89SAndroid Build Coastguard Worker enum {
50*de1e4e89SAndroid Build Coastguard Worker 	LWT_BPF_PROG_UNSPEC,
51*de1e4e89SAndroid Build Coastguard Worker 	LWT_BPF_PROG_FD,
52*de1e4e89SAndroid Build Coastguard Worker 	LWT_BPF_PROG_NAME,
53*de1e4e89SAndroid Build Coastguard Worker 	__LWT_BPF_PROG_MAX,
54*de1e4e89SAndroid Build Coastguard Worker };
55*de1e4e89SAndroid Build Coastguard Worker 
56*de1e4e89SAndroid Build Coastguard Worker #define LWT_BPF_PROG_MAX (__LWT_BPF_PROG_MAX - 1)
57*de1e4e89SAndroid Build Coastguard Worker 
58*de1e4e89SAndroid Build Coastguard Worker enum {
59*de1e4e89SAndroid Build Coastguard Worker 	LWT_BPF_UNSPEC,
60*de1e4e89SAndroid Build Coastguard Worker 	LWT_BPF_IN,
61*de1e4e89SAndroid Build Coastguard Worker 	LWT_BPF_OUT,
62*de1e4e89SAndroid Build Coastguard Worker 	LWT_BPF_XMIT,
63*de1e4e89SAndroid Build Coastguard Worker 	LWT_BPF_XMIT_HEADROOM,
64*de1e4e89SAndroid Build Coastguard Worker 	__LWT_BPF_MAX,
65*de1e4e89SAndroid Build Coastguard Worker };
66*de1e4e89SAndroid Build Coastguard Worker 
67*de1e4e89SAndroid Build Coastguard Worker #define LWT_BPF_MAX (__LWT_BPF_MAX - 1)
68*de1e4e89SAndroid Build Coastguard Worker 
69*de1e4e89SAndroid Build Coastguard Worker #define LWT_BPF_MAX_HEADROOM 256
70*de1e4e89SAndroid Build Coastguard Worker 
71*de1e4e89SAndroid Build Coastguard Worker #endif /* _LWTUNNEL_H_ */
72