125 lines · c
1/* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */2#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,13 LWTUNNEL_ENCAP_SEG6,14 LWTUNNEL_ENCAP_BPF,15 LWTUNNEL_ENCAP_SEG6_LOCAL,16 LWTUNNEL_ENCAP_RPL,17 LWTUNNEL_ENCAP_IOAM6,18 LWTUNNEL_ENCAP_XFRM,19 __LWTUNNEL_ENCAP_MAX,20};21 22#define LWTUNNEL_ENCAP_MAX (__LWTUNNEL_ENCAP_MAX - 1)23 24enum lwtunnel_ip_t {25 LWTUNNEL_IP_UNSPEC,26 LWTUNNEL_IP_ID,27 LWTUNNEL_IP_DST,28 LWTUNNEL_IP_SRC,29 LWTUNNEL_IP_TTL,30 LWTUNNEL_IP_TOS,31 LWTUNNEL_IP_FLAGS,32 LWTUNNEL_IP_PAD,33 LWTUNNEL_IP_OPTS,34 __LWTUNNEL_IP_MAX,35};36 37#define LWTUNNEL_IP_MAX (__LWTUNNEL_IP_MAX - 1)38 39enum lwtunnel_ip6_t {40 LWTUNNEL_IP6_UNSPEC,41 LWTUNNEL_IP6_ID,42 LWTUNNEL_IP6_DST,43 LWTUNNEL_IP6_SRC,44 LWTUNNEL_IP6_HOPLIMIT,45 LWTUNNEL_IP6_TC,46 LWTUNNEL_IP6_FLAGS,47 LWTUNNEL_IP6_PAD,48 LWTUNNEL_IP6_OPTS,49 __LWTUNNEL_IP6_MAX,50};51 52#define LWTUNNEL_IP6_MAX (__LWTUNNEL_IP6_MAX - 1)53 54enum {55 LWTUNNEL_IP_OPTS_UNSPEC,56 LWTUNNEL_IP_OPTS_GENEVE,57 LWTUNNEL_IP_OPTS_VXLAN,58 LWTUNNEL_IP_OPTS_ERSPAN,59 __LWTUNNEL_IP_OPTS_MAX,60};61 62#define LWTUNNEL_IP_OPTS_MAX (__LWTUNNEL_IP_OPTS_MAX - 1)63 64enum {65 LWTUNNEL_IP_OPT_GENEVE_UNSPEC,66 LWTUNNEL_IP_OPT_GENEVE_CLASS,67 LWTUNNEL_IP_OPT_GENEVE_TYPE,68 LWTUNNEL_IP_OPT_GENEVE_DATA,69 __LWTUNNEL_IP_OPT_GENEVE_MAX,70};71 72#define LWTUNNEL_IP_OPT_GENEVE_MAX (__LWTUNNEL_IP_OPT_GENEVE_MAX - 1)73 74enum {75 LWTUNNEL_IP_OPT_VXLAN_UNSPEC,76 LWTUNNEL_IP_OPT_VXLAN_GBP,77 __LWTUNNEL_IP_OPT_VXLAN_MAX,78};79 80#define LWTUNNEL_IP_OPT_VXLAN_MAX (__LWTUNNEL_IP_OPT_VXLAN_MAX - 1)81 82enum {83 LWTUNNEL_IP_OPT_ERSPAN_UNSPEC,84 LWTUNNEL_IP_OPT_ERSPAN_VER,85 LWTUNNEL_IP_OPT_ERSPAN_INDEX,86 LWTUNNEL_IP_OPT_ERSPAN_DIR,87 LWTUNNEL_IP_OPT_ERSPAN_HWID,88 __LWTUNNEL_IP_OPT_ERSPAN_MAX,89};90 91#define LWTUNNEL_IP_OPT_ERSPAN_MAX (__LWTUNNEL_IP_OPT_ERSPAN_MAX - 1)92 93enum {94 LWT_BPF_PROG_UNSPEC,95 LWT_BPF_PROG_FD,96 LWT_BPF_PROG_NAME,97 __LWT_BPF_PROG_MAX,98};99 100#define LWT_BPF_PROG_MAX (__LWT_BPF_PROG_MAX - 1)101 102enum {103 LWT_BPF_UNSPEC,104 LWT_BPF_IN,105 LWT_BPF_OUT,106 LWT_BPF_XMIT,107 LWT_BPF_XMIT_HEADROOM,108 __LWT_BPF_MAX,109};110 111#define LWT_BPF_MAX (__LWT_BPF_MAX - 1)112 113#define LWT_BPF_MAX_HEADROOM 256114 115enum {116 LWT_XFRM_UNSPEC,117 LWT_XFRM_IF_ID,118 LWT_XFRM_LINK,119 __LWT_XFRM_MAX,120};121 122#define LWT_XFRM_MAX (__LWT_XFRM_MAX - 1)123 124#endif /* _UAPI_LWTUNNEL_H_ */125