linux-headers (unknown)

(root)/
include/
linux/
lwtunnel.h
       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_ */