forked from Qortal/Brooklyn
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
114 lines
2.2 KiB
114 lines
2.2 KiB
/* 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_ */
|
|
|