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_MAX, 32 }; 33 #define LWTUNNEL_ENCAP_MAX (__LWTUNNEL_ENCAP_MAX - 1) 34 enum lwtunnel_ip_t { 35 LWTUNNEL_IP_UNSPEC, 36 LWTUNNEL_IP_ID, 37 LWTUNNEL_IP_DST, 38 LWTUNNEL_IP_SRC, 39 LWTUNNEL_IP_TTL, 40 LWTUNNEL_IP_TOS, 41 LWTUNNEL_IP_FLAGS, 42 LWTUNNEL_IP_PAD, 43 LWTUNNEL_IP_OPTS, 44 __LWTUNNEL_IP_MAX, 45 }; 46 #define LWTUNNEL_IP_MAX (__LWTUNNEL_IP_MAX - 1) 47 enum lwtunnel_ip6_t { 48 LWTUNNEL_IP6_UNSPEC, 49 LWTUNNEL_IP6_ID, 50 LWTUNNEL_IP6_DST, 51 LWTUNNEL_IP6_SRC, 52 LWTUNNEL_IP6_HOPLIMIT, 53 LWTUNNEL_IP6_TC, 54 LWTUNNEL_IP6_FLAGS, 55 LWTUNNEL_IP6_PAD, 56 LWTUNNEL_IP6_OPTS, 57 __LWTUNNEL_IP6_MAX, 58 }; 59 #define LWTUNNEL_IP6_MAX (__LWTUNNEL_IP6_MAX - 1) 60 enum { 61 LWTUNNEL_IP_OPTS_UNSPEC, 62 LWTUNNEL_IP_OPTS_GENEVE, 63 LWTUNNEL_IP_OPTS_VXLAN, 64 LWTUNNEL_IP_OPTS_ERSPAN, 65 __LWTUNNEL_IP_OPTS_MAX, 66 }; 67 #define LWTUNNEL_IP_OPTS_MAX (__LWTUNNEL_IP_OPTS_MAX - 1) 68 enum { 69 LWTUNNEL_IP_OPT_GENEVE_UNSPEC, 70 LWTUNNEL_IP_OPT_GENEVE_CLASS, 71 LWTUNNEL_IP_OPT_GENEVE_TYPE, 72 LWTUNNEL_IP_OPT_GENEVE_DATA, 73 __LWTUNNEL_IP_OPT_GENEVE_MAX, 74 }; 75 #define LWTUNNEL_IP_OPT_GENEVE_MAX (__LWTUNNEL_IP_OPT_GENEVE_MAX - 1) 76 enum { 77 LWTUNNEL_IP_OPT_VXLAN_UNSPEC, 78 LWTUNNEL_IP_OPT_VXLAN_GBP, 79 __LWTUNNEL_IP_OPT_VXLAN_MAX, 80 }; 81 #define LWTUNNEL_IP_OPT_VXLAN_MAX (__LWTUNNEL_IP_OPT_VXLAN_MAX - 1) 82 enum { 83 LWTUNNEL_IP_OPT_ERSPAN_UNSPEC, 84 LWTUNNEL_IP_OPT_ERSPAN_VER, 85 LWTUNNEL_IP_OPT_ERSPAN_INDEX, 86 LWTUNNEL_IP_OPT_ERSPAN_DIR, 87 LWTUNNEL_IP_OPT_ERSPAN_HWID, 88 __LWTUNNEL_IP_OPT_ERSPAN_MAX, 89 }; 90 #define LWTUNNEL_IP_OPT_ERSPAN_MAX (__LWTUNNEL_IP_OPT_ERSPAN_MAX - 1) 91 enum { 92 LWT_BPF_PROG_UNSPEC, 93 LWT_BPF_PROG_FD, 94 LWT_BPF_PROG_NAME, 95 __LWT_BPF_PROG_MAX, 96 }; 97 #define LWT_BPF_PROG_MAX (__LWT_BPF_PROG_MAX - 1) 98 enum { 99 LWT_BPF_UNSPEC, 100 LWT_BPF_IN, 101 LWT_BPF_OUT, 102 LWT_BPF_XMIT, 103 LWT_BPF_XMIT_HEADROOM, 104 __LWT_BPF_MAX, 105 }; 106 #define LWT_BPF_MAX (__LWT_BPF_MAX - 1) 107 #define LWT_BPF_MAX_HEADROOM 256 108 #endif 109