at v5.13 113 lines 2.2 kB view raw
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_MAX, 18}; 19 20#define LWTUNNEL_ENCAP_MAX (__LWTUNNEL_ENCAP_MAX - 1) 21 22enum lwtunnel_ip_t { 23 LWTUNNEL_IP_UNSPEC, 24 LWTUNNEL_IP_ID, 25 LWTUNNEL_IP_DST, 26 LWTUNNEL_IP_SRC, 27 LWTUNNEL_IP_TTL, 28 LWTUNNEL_IP_TOS, 29 LWTUNNEL_IP_FLAGS, 30 LWTUNNEL_IP_PAD, 31 LWTUNNEL_IP_OPTS, 32 __LWTUNNEL_IP_MAX, 33}; 34 35#define LWTUNNEL_IP_MAX (__LWTUNNEL_IP_MAX - 1) 36 37enum lwtunnel_ip6_t { 38 LWTUNNEL_IP6_UNSPEC, 39 LWTUNNEL_IP6_ID, 40 LWTUNNEL_IP6_DST, 41 LWTUNNEL_IP6_SRC, 42 LWTUNNEL_IP6_HOPLIMIT, 43 LWTUNNEL_IP6_TC, 44 LWTUNNEL_IP6_FLAGS, 45 LWTUNNEL_IP6_PAD, 46 LWTUNNEL_IP6_OPTS, 47 __LWTUNNEL_IP6_MAX, 48}; 49 50#define LWTUNNEL_IP6_MAX (__LWTUNNEL_IP6_MAX - 1) 51 52enum { 53 LWTUNNEL_IP_OPTS_UNSPEC, 54 LWTUNNEL_IP_OPTS_GENEVE, 55 LWTUNNEL_IP_OPTS_VXLAN, 56 LWTUNNEL_IP_OPTS_ERSPAN, 57 __LWTUNNEL_IP_OPTS_MAX, 58}; 59 60#define LWTUNNEL_IP_OPTS_MAX (__LWTUNNEL_IP_OPTS_MAX - 1) 61 62enum { 63 LWTUNNEL_IP_OPT_GENEVE_UNSPEC, 64 LWTUNNEL_IP_OPT_GENEVE_CLASS, 65 LWTUNNEL_IP_OPT_GENEVE_TYPE, 66 LWTUNNEL_IP_OPT_GENEVE_DATA, 67 __LWTUNNEL_IP_OPT_GENEVE_MAX, 68}; 69 70#define LWTUNNEL_IP_OPT_GENEVE_MAX (__LWTUNNEL_IP_OPT_GENEVE_MAX - 1) 71 72enum { 73 LWTUNNEL_IP_OPT_VXLAN_UNSPEC, 74 LWTUNNEL_IP_OPT_VXLAN_GBP, 75 __LWTUNNEL_IP_OPT_VXLAN_MAX, 76}; 77 78#define LWTUNNEL_IP_OPT_VXLAN_MAX (__LWTUNNEL_IP_OPT_VXLAN_MAX - 1) 79 80enum { 81 LWTUNNEL_IP_OPT_ERSPAN_UNSPEC, 82 LWTUNNEL_IP_OPT_ERSPAN_VER, 83 LWTUNNEL_IP_OPT_ERSPAN_INDEX, 84 LWTUNNEL_IP_OPT_ERSPAN_DIR, 85 LWTUNNEL_IP_OPT_ERSPAN_HWID, 86 __LWTUNNEL_IP_OPT_ERSPAN_MAX, 87}; 88 89#define LWTUNNEL_IP_OPT_ERSPAN_MAX (__LWTUNNEL_IP_OPT_ERSPAN_MAX - 1) 90 91enum { 92 LWT_BPF_PROG_UNSPEC, 93 LWT_BPF_PROG_FD, 94 LWT_BPF_PROG_NAME, 95 __LWT_BPF_PROG_MAX, 96}; 97 98#define LWT_BPF_PROG_MAX (__LWT_BPF_PROG_MAX - 1) 99 100enum { 101 LWT_BPF_UNSPEC, 102 LWT_BPF_IN, 103 LWT_BPF_OUT, 104 LWT_BPF_XMIT, 105 LWT_BPF_XMIT_HEADROOM, 106 __LWT_BPF_MAX, 107}; 108 109#define LWT_BPF_MAX (__LWT_BPF_MAX - 1) 110 111#define LWT_BPF_MAX_HEADROOM 256 112 113#endif /* _UAPI_LWTUNNEL_H_ */