blob: de696ca12f2c274a9fdcf14e5ddc6a37f55cab0b [file] [log] [blame]
Christopher Ferris25981132017-11-14 16:53:49 -08001/* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */
Christopher Ferris12e1f282016-02-04 12:35:07 -08002#ifndef _UAPI_LWTUNNEL_H_
3#define _UAPI_LWTUNNEL_H_
4
5#include <linux/types.h>
6
7enum lwtunnel_encap_types {
8 LWTUNNEL_ENCAP_NONE,
9 LWTUNNEL_ENCAP_MPLS,
10 LWTUNNEL_ENCAP_IP,
11 LWTUNNEL_ENCAP_ILA,
12 LWTUNNEL_ENCAP_IP6,
Christopher Ferris2fd4b3c2017-02-21 12:32:08 -080013 LWTUNNEL_ENCAP_SEG6,
14 LWTUNNEL_ENCAP_BPF,
Christopher Ferris25981132017-11-14 16:53:49 -080015 LWTUNNEL_ENCAP_SEG6_LOCAL,
Christopher Ferris12e1f282016-02-04 12:35:07 -080016 __LWTUNNEL_ENCAP_MAX,
17};
18
19#define LWTUNNEL_ENCAP_MAX (__LWTUNNEL_ENCAP_MAX - 1)
20
21enum lwtunnel_ip_t {
22 LWTUNNEL_IP_UNSPEC,
23 LWTUNNEL_IP_ID,
24 LWTUNNEL_IP_DST,
25 LWTUNNEL_IP_SRC,
26 LWTUNNEL_IP_TTL,
27 LWTUNNEL_IP_TOS,
28 LWTUNNEL_IP_FLAGS,
Christopher Ferrisccfaccd2016-08-24 12:11:31 -070029 LWTUNNEL_IP_PAD,
Christopher Ferris12e1f282016-02-04 12:35:07 -080030 __LWTUNNEL_IP_MAX,
31};
32
33#define LWTUNNEL_IP_MAX (__LWTUNNEL_IP_MAX - 1)
34
35enum lwtunnel_ip6_t {
36 LWTUNNEL_IP6_UNSPEC,
37 LWTUNNEL_IP6_ID,
38 LWTUNNEL_IP6_DST,
39 LWTUNNEL_IP6_SRC,
40 LWTUNNEL_IP6_HOPLIMIT,
41 LWTUNNEL_IP6_TC,
42 LWTUNNEL_IP6_FLAGS,
Christopher Ferrisccfaccd2016-08-24 12:11:31 -070043 LWTUNNEL_IP6_PAD,
Christopher Ferris12e1f282016-02-04 12:35:07 -080044 __LWTUNNEL_IP6_MAX,
45};
46
47#define LWTUNNEL_IP6_MAX (__LWTUNNEL_IP6_MAX - 1)
48
Christopher Ferris2fd4b3c2017-02-21 12:32:08 -080049enum {
50 LWT_BPF_PROG_UNSPEC,
51 LWT_BPF_PROG_FD,
52 LWT_BPF_PROG_NAME,
53 __LWT_BPF_PROG_MAX,
54};
55
56#define LWT_BPF_PROG_MAX (__LWT_BPF_PROG_MAX - 1)
57
58enum {
59 LWT_BPF_UNSPEC,
60 LWT_BPF_IN,
61 LWT_BPF_OUT,
62 LWT_BPF_XMIT,
63 LWT_BPF_XMIT_HEADROOM,
64 __LWT_BPF_MAX,
65};
66
67#define LWT_BPF_MAX (__LWT_BPF_MAX - 1)
68
69#define LWT_BPF_MAX_HEADROOM 256
70
Christopher Ferris12e1f282016-02-04 12:35:07 -080071#endif /* _UAPI_LWTUNNEL_H_ */