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