Back to home page

OSCL-LXR

 
 

    


0001 /* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */
0002 #ifndef _UAPI_LWTUNNEL_H_
0003 #define _UAPI_LWTUNNEL_H_
0004 
0005 #include <linux/types.h>
0006 
0007 enum lwtunnel_encap_types {
0008     LWTUNNEL_ENCAP_NONE,
0009     LWTUNNEL_ENCAP_MPLS,
0010     LWTUNNEL_ENCAP_IP,
0011     LWTUNNEL_ENCAP_ILA,
0012     LWTUNNEL_ENCAP_IP6,
0013     LWTUNNEL_ENCAP_SEG6,
0014     LWTUNNEL_ENCAP_BPF,
0015     LWTUNNEL_ENCAP_SEG6_LOCAL,
0016     LWTUNNEL_ENCAP_RPL,
0017     LWTUNNEL_ENCAP_IOAM6,
0018     __LWTUNNEL_ENCAP_MAX,
0019 };
0020 
0021 #define LWTUNNEL_ENCAP_MAX (__LWTUNNEL_ENCAP_MAX - 1)
0022 
0023 enum lwtunnel_ip_t {
0024     LWTUNNEL_IP_UNSPEC,
0025     LWTUNNEL_IP_ID,
0026     LWTUNNEL_IP_DST,
0027     LWTUNNEL_IP_SRC,
0028     LWTUNNEL_IP_TTL,
0029     LWTUNNEL_IP_TOS,
0030     LWTUNNEL_IP_FLAGS,
0031     LWTUNNEL_IP_PAD,
0032     LWTUNNEL_IP_OPTS,
0033     __LWTUNNEL_IP_MAX,
0034 };
0035 
0036 #define LWTUNNEL_IP_MAX (__LWTUNNEL_IP_MAX - 1)
0037 
0038 enum lwtunnel_ip6_t {
0039     LWTUNNEL_IP6_UNSPEC,
0040     LWTUNNEL_IP6_ID,
0041     LWTUNNEL_IP6_DST,
0042     LWTUNNEL_IP6_SRC,
0043     LWTUNNEL_IP6_HOPLIMIT,
0044     LWTUNNEL_IP6_TC,
0045     LWTUNNEL_IP6_FLAGS,
0046     LWTUNNEL_IP6_PAD,
0047     LWTUNNEL_IP6_OPTS,
0048     __LWTUNNEL_IP6_MAX,
0049 };
0050 
0051 #define LWTUNNEL_IP6_MAX (__LWTUNNEL_IP6_MAX - 1)
0052 
0053 enum {
0054     LWTUNNEL_IP_OPTS_UNSPEC,
0055     LWTUNNEL_IP_OPTS_GENEVE,
0056     LWTUNNEL_IP_OPTS_VXLAN,
0057     LWTUNNEL_IP_OPTS_ERSPAN,
0058     __LWTUNNEL_IP_OPTS_MAX,
0059 };
0060 
0061 #define LWTUNNEL_IP_OPTS_MAX (__LWTUNNEL_IP_OPTS_MAX - 1)
0062 
0063 enum {
0064     LWTUNNEL_IP_OPT_GENEVE_UNSPEC,
0065     LWTUNNEL_IP_OPT_GENEVE_CLASS,
0066     LWTUNNEL_IP_OPT_GENEVE_TYPE,
0067     LWTUNNEL_IP_OPT_GENEVE_DATA,
0068     __LWTUNNEL_IP_OPT_GENEVE_MAX,
0069 };
0070 
0071 #define LWTUNNEL_IP_OPT_GENEVE_MAX (__LWTUNNEL_IP_OPT_GENEVE_MAX - 1)
0072 
0073 enum {
0074     LWTUNNEL_IP_OPT_VXLAN_UNSPEC,
0075     LWTUNNEL_IP_OPT_VXLAN_GBP,
0076     __LWTUNNEL_IP_OPT_VXLAN_MAX,
0077 };
0078 
0079 #define LWTUNNEL_IP_OPT_VXLAN_MAX (__LWTUNNEL_IP_OPT_VXLAN_MAX - 1)
0080 
0081 enum {
0082     LWTUNNEL_IP_OPT_ERSPAN_UNSPEC,
0083     LWTUNNEL_IP_OPT_ERSPAN_VER,
0084     LWTUNNEL_IP_OPT_ERSPAN_INDEX,
0085     LWTUNNEL_IP_OPT_ERSPAN_DIR,
0086     LWTUNNEL_IP_OPT_ERSPAN_HWID,
0087     __LWTUNNEL_IP_OPT_ERSPAN_MAX,
0088 };
0089 
0090 #define LWTUNNEL_IP_OPT_ERSPAN_MAX (__LWTUNNEL_IP_OPT_ERSPAN_MAX - 1)
0091 
0092 enum {
0093     LWT_BPF_PROG_UNSPEC,
0094     LWT_BPF_PROG_FD,
0095     LWT_BPF_PROG_NAME,
0096     __LWT_BPF_PROG_MAX,
0097 };
0098 
0099 #define LWT_BPF_PROG_MAX (__LWT_BPF_PROG_MAX - 1)
0100 
0101 enum {
0102     LWT_BPF_UNSPEC,
0103     LWT_BPF_IN,
0104     LWT_BPF_OUT,
0105     LWT_BPF_XMIT,
0106     LWT_BPF_XMIT_HEADROOM,
0107     __LWT_BPF_MAX,
0108 };
0109 
0110 #define LWT_BPF_MAX (__LWT_BPF_MAX - 1)
0111 
0112 #define LWT_BPF_MAX_HEADROOM 256
0113 
0114 #endif /* _UAPI_LWTUNNEL_H_ */