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