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