| /* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */ |
| #ifndef _UAPI_LWTUNNEL_H_ |
| #define _UAPI_LWTUNNEL_H_ |
| |
| #include <linux/types.h> |
| |
| enum lwtunnel_encap_types { |
| LWTUNNEL_ENCAP_NONE, |
| LWTUNNEL_ENCAP_MPLS, |
| LWTUNNEL_ENCAP_IP, |
| LWTUNNEL_ENCAP_ILA, |
| LWTUNNEL_ENCAP_IP6, |
| LWTUNNEL_ENCAP_SEG6, |
| LWTUNNEL_ENCAP_BPF, |
| LWTUNNEL_ENCAP_SEG6_LOCAL, |
| LWTUNNEL_ENCAP_RPL, |
| LWTUNNEL_ENCAP_IOAM6, |
| __LWTUNNEL_ENCAP_MAX, |
| }; |
| |
| #define LWTUNNEL_ENCAP_MAX (__LWTUNNEL_ENCAP_MAX - 1) |
| |
| enum lwtunnel_ip_t { |
| LWTUNNEL_IP_UNSPEC, |
| LWTUNNEL_IP_ID, |
| LWTUNNEL_IP_DST, |
| LWTUNNEL_IP_SRC, |
| LWTUNNEL_IP_TTL, |
| LWTUNNEL_IP_TOS, |
| LWTUNNEL_IP_FLAGS, |
| LWTUNNEL_IP_PAD, |
| LWTUNNEL_IP_OPTS, |
| __LWTUNNEL_IP_MAX, |
| }; |
| |
| #define LWTUNNEL_IP_MAX (__LWTUNNEL_IP_MAX - 1) |
| |
| enum lwtunnel_ip6_t { |
| LWTUNNEL_IP6_UNSPEC, |
| LWTUNNEL_IP6_ID, |
| LWTUNNEL_IP6_DST, |
| LWTUNNEL_IP6_SRC, |
| LWTUNNEL_IP6_HOPLIMIT, |
| LWTUNNEL_IP6_TC, |
| LWTUNNEL_IP6_FLAGS, |
| LWTUNNEL_IP6_PAD, |
| LWTUNNEL_IP6_OPTS, |
| __LWTUNNEL_IP6_MAX, |
| }; |
| |
| #define LWTUNNEL_IP6_MAX (__LWTUNNEL_IP6_MAX - 1) |
| |
| enum { |
| LWTUNNEL_IP_OPTS_UNSPEC, |
| LWTUNNEL_IP_OPTS_GENEVE, |
| LWTUNNEL_IP_OPTS_VXLAN, |
| LWTUNNEL_IP_OPTS_ERSPAN, |
| __LWTUNNEL_IP_OPTS_MAX, |
| }; |
| |
| #define LWTUNNEL_IP_OPTS_MAX (__LWTUNNEL_IP_OPTS_MAX - 1) |
| |
| enum { |
| LWTUNNEL_IP_OPT_GENEVE_UNSPEC, |
| LWTUNNEL_IP_OPT_GENEVE_CLASS, |
| LWTUNNEL_IP_OPT_GENEVE_TYPE, |
| LWTUNNEL_IP_OPT_GENEVE_DATA, |
| __LWTUNNEL_IP_OPT_GENEVE_MAX, |
| }; |
| |
| #define LWTUNNEL_IP_OPT_GENEVE_MAX (__LWTUNNEL_IP_OPT_GENEVE_MAX - 1) |
| |
| enum { |
| LWTUNNEL_IP_OPT_VXLAN_UNSPEC, |
| LWTUNNEL_IP_OPT_VXLAN_GBP, |
| __LWTUNNEL_IP_OPT_VXLAN_MAX, |
| }; |
| |
| #define LWTUNNEL_IP_OPT_VXLAN_MAX (__LWTUNNEL_IP_OPT_VXLAN_MAX - 1) |
| |
| enum { |
| LWTUNNEL_IP_OPT_ERSPAN_UNSPEC, |
| LWTUNNEL_IP_OPT_ERSPAN_VER, |
| LWTUNNEL_IP_OPT_ERSPAN_INDEX, |
| LWTUNNEL_IP_OPT_ERSPAN_DIR, |
| LWTUNNEL_IP_OPT_ERSPAN_HWID, |
| __LWTUNNEL_IP_OPT_ERSPAN_MAX, |
| }; |
| |
| #define LWTUNNEL_IP_OPT_ERSPAN_MAX (__LWTUNNEL_IP_OPT_ERSPAN_MAX - 1) |
| |
| enum { |
| LWT_BPF_PROG_UNSPEC, |
| LWT_BPF_PROG_FD, |
| LWT_BPF_PROG_NAME, |
| __LWT_BPF_PROG_MAX, |
| }; |
| |
| #define LWT_BPF_PROG_MAX (__LWT_BPF_PROG_MAX - 1) |
| |
| enum { |
| LWT_BPF_UNSPEC, |
| LWT_BPF_IN, |
| LWT_BPF_OUT, |
| LWT_BPF_XMIT, |
| LWT_BPF_XMIT_HEADROOM, |
| __LWT_BPF_MAX, |
| }; |
| |
| #define LWT_BPF_MAX (__LWT_BPF_MAX - 1) |
| |
| #define LWT_BPF_MAX_HEADROOM 256 |
| |
| #endif /* _UAPI_LWTUNNEL_H_ */ |