zig

fork of https://codeberg.org/ziglang/zig
Log | Files | Refs | README | LICENSE

lwtunnel.h (2366B) - Raw


      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_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 
     24 enum 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 
     39 enum 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 
     54 enum {
     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 
     64 enum {
     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 
     74 enum {
     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 
     82 enum {
     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 
     93 enum {
     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 
    102 enum {
    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 256
    114 
    115 enum {
    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 /* _LWTUNNEL_H_ */