/* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */
#ifndef _LWTUNNEL_H_
#define _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_XFRM,
	__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

enum {
	LWT_XFRM_UNSPEC,
	LWT_XFRM_IF_ID,
	LWT_XFRM_LINK,
	__LWT_XFRM_MAX,
};

#define LWT_XFRM_MAX (__LWT_XFRM_MAX - 1)

#endif /* _LWTUNNEL_H_ */
