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