lwtunnel.h 1.2 KB
Newer Older
1 2 3 4 5 6 7 8
#ifndef _UAPI_LWTUNNEL_H_
#define _UAPI_LWTUNNEL_H_

#include <linux/types.h>

enum lwtunnel_encap_types {
	LWTUNNEL_ENCAP_NONE,
	LWTUNNEL_ENCAP_MPLS,
9
	LWTUNNEL_ENCAP_IP,
10
	LWTUNNEL_ENCAP_ILA,
11
	LWTUNNEL_ENCAP_IP6,
12
	LWTUNNEL_ENCAP_SEG6,
13
	LWTUNNEL_ENCAP_BPF,
14 15 16 17 18
	__LWTUNNEL_ENCAP_MAX,
};

#define LWTUNNEL_ENCAP_MAX (__LWTUNNEL_ENCAP_MAX - 1)

19 20 21 22 23 24 25 26
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,
27
	LWTUNNEL_IP_PAD,
28 29 30 31
	__LWTUNNEL_IP_MAX,
};

#define LWTUNNEL_IP_MAX (__LWTUNNEL_IP_MAX - 1)
32

33 34 35 36 37 38 39 40
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,
41
	LWTUNNEL_IP6_PAD,
42 43 44 45 46
	__LWTUNNEL_IP6_MAX,
};

#define LWTUNNEL_IP6_MAX (__LWTUNNEL_IP6_MAX - 1)

47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68
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

69
#endif /* _UAPI_LWTUNNEL_H_ */