mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git
synced 2024-10-29 23:53:32 +00:00
a7a29f9c36
This patch adds functionality to configure routes for RPL source routing functionality. There is no IPIP functionality yet implemented which can be added later when the cases when to use IPv6 encapuslation comes more clear. Signed-off-by: Alexander Aring <alex.aring@gmail.com> Signed-off-by: David S. Miller <davem@davemloft.net>
113 lines
2.2 KiB
C
113 lines
2.2 KiB
C
/* 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_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_ */
|