logo

oasis-root

Compiled tree of Oasis Linux based on own branch at <https://hacktivis.me/git/oasis/> git clone https://anongit.hacktivis.me/git/oasis-root.git

lwtunnel.h (2367B)


  1. /* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */
  2. #ifndef _LWTUNNEL_H_
  3. #define _LWTUNNEL_H_
  4. #include <linux/types.h>
  5. enum lwtunnel_encap_types {
  6. LWTUNNEL_ENCAP_NONE,
  7. LWTUNNEL_ENCAP_MPLS,
  8. LWTUNNEL_ENCAP_IP,
  9. LWTUNNEL_ENCAP_ILA,
  10. LWTUNNEL_ENCAP_IP6,
  11. LWTUNNEL_ENCAP_SEG6,
  12. LWTUNNEL_ENCAP_BPF,
  13. LWTUNNEL_ENCAP_SEG6_LOCAL,
  14. LWTUNNEL_ENCAP_RPL,
  15. LWTUNNEL_ENCAP_IOAM6,
  16. LWTUNNEL_ENCAP_XFRM,
  17. __LWTUNNEL_ENCAP_MAX,
  18. };
  19. #define LWTUNNEL_ENCAP_MAX (__LWTUNNEL_ENCAP_MAX - 1)
  20. enum lwtunnel_ip_t {
  21. LWTUNNEL_IP_UNSPEC,
  22. LWTUNNEL_IP_ID,
  23. LWTUNNEL_IP_DST,
  24. LWTUNNEL_IP_SRC,
  25. LWTUNNEL_IP_TTL,
  26. LWTUNNEL_IP_TOS,
  27. LWTUNNEL_IP_FLAGS,
  28. LWTUNNEL_IP_PAD,
  29. LWTUNNEL_IP_OPTS,
  30. __LWTUNNEL_IP_MAX,
  31. };
  32. #define LWTUNNEL_IP_MAX (__LWTUNNEL_IP_MAX - 1)
  33. enum lwtunnel_ip6_t {
  34. LWTUNNEL_IP6_UNSPEC,
  35. LWTUNNEL_IP6_ID,
  36. LWTUNNEL_IP6_DST,
  37. LWTUNNEL_IP6_SRC,
  38. LWTUNNEL_IP6_HOPLIMIT,
  39. LWTUNNEL_IP6_TC,
  40. LWTUNNEL_IP6_FLAGS,
  41. LWTUNNEL_IP6_PAD,
  42. LWTUNNEL_IP6_OPTS,
  43. __LWTUNNEL_IP6_MAX,
  44. };
  45. #define LWTUNNEL_IP6_MAX (__LWTUNNEL_IP6_MAX - 1)
  46. enum {
  47. LWTUNNEL_IP_OPTS_UNSPEC,
  48. LWTUNNEL_IP_OPTS_GENEVE,
  49. LWTUNNEL_IP_OPTS_VXLAN,
  50. LWTUNNEL_IP_OPTS_ERSPAN,
  51. __LWTUNNEL_IP_OPTS_MAX,
  52. };
  53. #define LWTUNNEL_IP_OPTS_MAX (__LWTUNNEL_IP_OPTS_MAX - 1)
  54. enum {
  55. LWTUNNEL_IP_OPT_GENEVE_UNSPEC,
  56. LWTUNNEL_IP_OPT_GENEVE_CLASS,
  57. LWTUNNEL_IP_OPT_GENEVE_TYPE,
  58. LWTUNNEL_IP_OPT_GENEVE_DATA,
  59. __LWTUNNEL_IP_OPT_GENEVE_MAX,
  60. };
  61. #define LWTUNNEL_IP_OPT_GENEVE_MAX (__LWTUNNEL_IP_OPT_GENEVE_MAX - 1)
  62. enum {
  63. LWTUNNEL_IP_OPT_VXLAN_UNSPEC,
  64. LWTUNNEL_IP_OPT_VXLAN_GBP,
  65. __LWTUNNEL_IP_OPT_VXLAN_MAX,
  66. };
  67. #define LWTUNNEL_IP_OPT_VXLAN_MAX (__LWTUNNEL_IP_OPT_VXLAN_MAX - 1)
  68. enum {
  69. LWTUNNEL_IP_OPT_ERSPAN_UNSPEC,
  70. LWTUNNEL_IP_OPT_ERSPAN_VER,
  71. LWTUNNEL_IP_OPT_ERSPAN_INDEX,
  72. LWTUNNEL_IP_OPT_ERSPAN_DIR,
  73. LWTUNNEL_IP_OPT_ERSPAN_HWID,
  74. __LWTUNNEL_IP_OPT_ERSPAN_MAX,
  75. };
  76. #define LWTUNNEL_IP_OPT_ERSPAN_MAX (__LWTUNNEL_IP_OPT_ERSPAN_MAX - 1)
  77. enum {
  78. LWT_BPF_PROG_UNSPEC,
  79. LWT_BPF_PROG_FD,
  80. LWT_BPF_PROG_NAME,
  81. __LWT_BPF_PROG_MAX,
  82. };
  83. #define LWT_BPF_PROG_MAX (__LWT_BPF_PROG_MAX - 1)
  84. enum {
  85. LWT_BPF_UNSPEC,
  86. LWT_BPF_IN,
  87. LWT_BPF_OUT,
  88. LWT_BPF_XMIT,
  89. LWT_BPF_XMIT_HEADROOM,
  90. __LWT_BPF_MAX,
  91. };
  92. #define LWT_BPF_MAX (__LWT_BPF_MAX - 1)
  93. #define LWT_BPF_MAX_HEADROOM 256
  94. enum {
  95. LWT_XFRM_UNSPEC,
  96. LWT_XFRM_IF_ID,
  97. LWT_XFRM_LINK,
  98. __LWT_XFRM_MAX,
  99. };
  100. #define LWT_XFRM_MAX (__LWT_XFRM_MAX - 1)
  101. #endif /* _LWTUNNEL_H_ */