Home | History | Annotate | Download | only in linux
      1 /* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */
      2 #ifndef _LWTUNNEL_H_
      3 #define _LWTUNNEL_H_
      4 
      5 #include <linux/types.h>
      6 
      7 enum 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_MAX,
     17 };
     18 
     19 #define LWTUNNEL_ENCAP_MAX (__LWTUNNEL_ENCAP_MAX - 1)
     20 
     21 enum 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,
     29 	LWTUNNEL_IP_PAD,
     30 	__LWTUNNEL_IP_MAX,
     31 };
     32 
     33 #define LWTUNNEL_IP_MAX (__LWTUNNEL_IP_MAX - 1)
     34 
     35 enum 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,
     43 	LWTUNNEL_IP6_PAD,
     44 	__LWTUNNEL_IP6_MAX,
     45 };
     46 
     47 #define LWTUNNEL_IP6_MAX (__LWTUNNEL_IP6_MAX - 1)
     48 
     49 enum {
     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 
     58 enum {
     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 
     71 #endif /* _LWTUNNEL_H_ */
     72