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