1 /****************************************************************************
2  ****************************************************************************
3  ***
4  ***   This header was automatically generated from a Linux kernel header
5  ***   of the same name, to make information necessary for userspace to
6  ***   call into the kernel available to libc.  It contains only constants,
7  ***   structures, and macros generated from the original header, and thus,
8  ***   contains no copyrightable information.
9  ***
10  ***   To edit the content of this header, modify the corresponding
11  ***   source file (e.g. under external/kernel-headers/original/) then
12  ***   run bionic/libc/kernel/tools/update_all.py
13  ***
14  ***   Any manual change here will be lost the next time this script will
15  ***   be run. You've been warned!
16  ***
17  ****************************************************************************
18  ****************************************************************************/
19 #ifndef _UAPI_LWTUNNEL_H_
20 #define _UAPI_LWTUNNEL_H_
21 #include <linux/types.h>
22 enum lwtunnel_encap_types {
23   LWTUNNEL_ENCAP_NONE,
24   LWTUNNEL_ENCAP_MPLS,
25   LWTUNNEL_ENCAP_IP,
26   LWTUNNEL_ENCAP_ILA,
27   LWTUNNEL_ENCAP_IP6,
28   LWTUNNEL_ENCAP_SEG6,
29   LWTUNNEL_ENCAP_BPF,
30   LWTUNNEL_ENCAP_SEG6_LOCAL,
31   LWTUNNEL_ENCAP_RPL,
32   __LWTUNNEL_ENCAP_MAX,
33 };
34 #define LWTUNNEL_ENCAP_MAX (__LWTUNNEL_ENCAP_MAX - 1)
35 enum lwtunnel_ip_t {
36   LWTUNNEL_IP_UNSPEC,
37   LWTUNNEL_IP_ID,
38   LWTUNNEL_IP_DST,
39   LWTUNNEL_IP_SRC,
40   LWTUNNEL_IP_TTL,
41   LWTUNNEL_IP_TOS,
42   LWTUNNEL_IP_FLAGS,
43   LWTUNNEL_IP_PAD,
44   LWTUNNEL_IP_OPTS,
45   __LWTUNNEL_IP_MAX,
46 };
47 #define LWTUNNEL_IP_MAX (__LWTUNNEL_IP_MAX - 1)
48 enum lwtunnel_ip6_t {
49   LWTUNNEL_IP6_UNSPEC,
50   LWTUNNEL_IP6_ID,
51   LWTUNNEL_IP6_DST,
52   LWTUNNEL_IP6_SRC,
53   LWTUNNEL_IP6_HOPLIMIT,
54   LWTUNNEL_IP6_TC,
55   LWTUNNEL_IP6_FLAGS,
56   LWTUNNEL_IP6_PAD,
57   LWTUNNEL_IP6_OPTS,
58   __LWTUNNEL_IP6_MAX,
59 };
60 #define LWTUNNEL_IP6_MAX (__LWTUNNEL_IP6_MAX - 1)
61 enum {
62   LWTUNNEL_IP_OPTS_UNSPEC,
63   LWTUNNEL_IP_OPTS_GENEVE,
64   LWTUNNEL_IP_OPTS_VXLAN,
65   LWTUNNEL_IP_OPTS_ERSPAN,
66   __LWTUNNEL_IP_OPTS_MAX,
67 };
68 #define LWTUNNEL_IP_OPTS_MAX (__LWTUNNEL_IP_OPTS_MAX - 1)
69 enum {
70   LWTUNNEL_IP_OPT_GENEVE_UNSPEC,
71   LWTUNNEL_IP_OPT_GENEVE_CLASS,
72   LWTUNNEL_IP_OPT_GENEVE_TYPE,
73   LWTUNNEL_IP_OPT_GENEVE_DATA,
74   __LWTUNNEL_IP_OPT_GENEVE_MAX,
75 };
76 #define LWTUNNEL_IP_OPT_GENEVE_MAX (__LWTUNNEL_IP_OPT_GENEVE_MAX - 1)
77 enum {
78   LWTUNNEL_IP_OPT_VXLAN_UNSPEC,
79   LWTUNNEL_IP_OPT_VXLAN_GBP,
80   __LWTUNNEL_IP_OPT_VXLAN_MAX,
81 };
82 #define LWTUNNEL_IP_OPT_VXLAN_MAX (__LWTUNNEL_IP_OPT_VXLAN_MAX - 1)
83 enum {
84   LWTUNNEL_IP_OPT_ERSPAN_UNSPEC,
85   LWTUNNEL_IP_OPT_ERSPAN_VER,
86   LWTUNNEL_IP_OPT_ERSPAN_INDEX,
87   LWTUNNEL_IP_OPT_ERSPAN_DIR,
88   LWTUNNEL_IP_OPT_ERSPAN_HWID,
89   __LWTUNNEL_IP_OPT_ERSPAN_MAX,
90 };
91 #define LWTUNNEL_IP_OPT_ERSPAN_MAX (__LWTUNNEL_IP_OPT_ERSPAN_MAX - 1)
92 enum {
93   LWT_BPF_PROG_UNSPEC,
94   LWT_BPF_PROG_FD,
95   LWT_BPF_PROG_NAME,
96   __LWT_BPF_PROG_MAX,
97 };
98 #define LWT_BPF_PROG_MAX (__LWT_BPF_PROG_MAX - 1)
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 #define LWT_BPF_MAX (__LWT_BPF_MAX - 1)
108 #define LWT_BPF_MAX_HEADROOM 256
109 #endif
110