1 #ifndef _UAPI_LWTUNNEL_H_ 2 #define _UAPI_LWTUNNEL_H_ 3 4 #include <linux/types.h> 5 6 enum lwtunnel_encap_types { 7 LWTUNNEL_ENCAP_NONE, 8 LWTUNNEL_ENCAP_MPLS, 9 LWTUNNEL_ENCAP_IP, 10 LWTUNNEL_ENCAP_ILA, 11 LWTUNNEL_ENCAP_IP6, 12 LWTUNNEL_ENCAP_SEG6, 13 LWTUNNEL_ENCAP_BPF, 14 LWTUNNEL_ENCAP_SEG6_LOCAL, 15 __LWTUNNEL_ENCAP_MAX, 16 }; 17 18 #define LWTUNNEL_ENCAP_MAX (__LWTUNNEL_ENCAP_MAX - 1) 19 20 enum lwtunnel_ip_t { 21 LWTUNNEL_IP_UNSPEC, 22 LWTUNNEL_IP_ID, 23 LWTUNNEL_IP_DST, 24 LWTUNNEL_IP_SRC, 25 LWTUNNEL_IP_TTL, 26 LWTUNNEL_IP_TOS, 27 LWTUNNEL_IP_FLAGS, 28 LWTUNNEL_IP_PAD, 29 __LWTUNNEL_IP_MAX, 30 }; 31 32 #define LWTUNNEL_IP_MAX (__LWTUNNEL_IP_MAX - 1) 33 34 enum lwtunnel_ip6_t { 35 LWTUNNEL_IP6_UNSPEC, 36 LWTUNNEL_IP6_ID, 37 LWTUNNEL_IP6_DST, 38 LWTUNNEL_IP6_SRC, 39 LWTUNNEL_IP6_HOPLIMIT, 40 LWTUNNEL_IP6_TC, 41 LWTUNNEL_IP6_FLAGS, 42 LWTUNNEL_IP6_PAD, 43 __LWTUNNEL_IP6_MAX, 44 }; 45 46 #define LWTUNNEL_IP6_MAX (__LWTUNNEL_IP6_MAX - 1) 47 48 enum { 49 LWT_BPF_PROG_UNSPEC, 50 LWT_BPF_PROG_FD, 51 LWT_BPF_PROG_NAME, 52 __LWT_BPF_PROG_MAX, 53 }; 54 55 #define LWT_BPF_PROG_MAX (__LWT_BPF_PROG_MAX - 1) 56 57 enum { 58 LWT_BPF_UNSPEC, 59 LWT_BPF_IN, 60 LWT_BPF_OUT, 61 LWT_BPF_XMIT, 62 LWT_BPF_XMIT_HEADROOM, 63 __LWT_BPF_MAX, 64 }; 65 66 #define LWT_BPF_MAX (__LWT_BPF_MAX - 1) 67 68 #define LWT_BPF_MAX_HEADROOM 256 69 70 #endif /* _UAPI_LWTUNNEL_H_ */ 71