/* 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_ */
