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

nfnetlink_conntrack.h (6186B)


  1. /* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */
  2. #ifndef _IPCONNTRACK_NETLINK_H
  3. #define _IPCONNTRACK_NETLINK_H
  4. #include <linux/netfilter/nfnetlink.h>
  5. enum cntl_msg_types {
  6. IPCTNL_MSG_CT_NEW,
  7. IPCTNL_MSG_CT_GET,
  8. IPCTNL_MSG_CT_DELETE,
  9. IPCTNL_MSG_CT_GET_CTRZERO,
  10. IPCTNL_MSG_CT_GET_STATS_CPU,
  11. IPCTNL_MSG_CT_GET_STATS,
  12. IPCTNL_MSG_CT_GET_DYING,
  13. IPCTNL_MSG_CT_GET_UNCONFIRMED,
  14. IPCTNL_MSG_MAX
  15. };
  16. enum ctnl_exp_msg_types {
  17. IPCTNL_MSG_EXP_NEW,
  18. IPCTNL_MSG_EXP_GET,
  19. IPCTNL_MSG_EXP_DELETE,
  20. IPCTNL_MSG_EXP_GET_STATS_CPU,
  21. IPCTNL_MSG_EXP_MAX
  22. };
  23. enum ctattr_type {
  24. CTA_UNSPEC,
  25. CTA_TUPLE_ORIG,
  26. CTA_TUPLE_REPLY,
  27. CTA_STATUS,
  28. CTA_PROTOINFO,
  29. CTA_HELP,
  30. CTA_NAT_SRC,
  31. #define CTA_NAT CTA_NAT_SRC /* backwards compatibility */
  32. CTA_TIMEOUT,
  33. CTA_MARK,
  34. CTA_COUNTERS_ORIG,
  35. CTA_COUNTERS_REPLY,
  36. CTA_USE,
  37. CTA_ID,
  38. CTA_NAT_DST,
  39. CTA_TUPLE_MASTER,
  40. CTA_SEQ_ADJ_ORIG,
  41. CTA_NAT_SEQ_ADJ_ORIG = CTA_SEQ_ADJ_ORIG,
  42. CTA_SEQ_ADJ_REPLY,
  43. CTA_NAT_SEQ_ADJ_REPLY = CTA_SEQ_ADJ_REPLY,
  44. CTA_SECMARK, /* obsolete */
  45. CTA_ZONE,
  46. CTA_SECCTX,
  47. CTA_TIMESTAMP,
  48. CTA_MARK_MASK,
  49. CTA_LABELS,
  50. CTA_LABELS_MASK,
  51. CTA_SYNPROXY,
  52. CTA_FILTER,
  53. CTA_STATUS_MASK,
  54. __CTA_MAX
  55. };
  56. #define CTA_MAX (__CTA_MAX - 1)
  57. enum ctattr_tuple {
  58. CTA_TUPLE_UNSPEC,
  59. CTA_TUPLE_IP,
  60. CTA_TUPLE_PROTO,
  61. CTA_TUPLE_ZONE,
  62. __CTA_TUPLE_MAX
  63. };
  64. #define CTA_TUPLE_MAX (__CTA_TUPLE_MAX - 1)
  65. enum ctattr_ip {
  66. CTA_IP_UNSPEC,
  67. CTA_IP_V4_SRC,
  68. CTA_IP_V4_DST,
  69. CTA_IP_V6_SRC,
  70. CTA_IP_V6_DST,
  71. __CTA_IP_MAX
  72. };
  73. #define CTA_IP_MAX (__CTA_IP_MAX - 1)
  74. enum ctattr_l4proto {
  75. CTA_PROTO_UNSPEC,
  76. CTA_PROTO_NUM,
  77. CTA_PROTO_SRC_PORT,
  78. CTA_PROTO_DST_PORT,
  79. CTA_PROTO_ICMP_ID,
  80. CTA_PROTO_ICMP_TYPE,
  81. CTA_PROTO_ICMP_CODE,
  82. CTA_PROTO_ICMPV6_ID,
  83. CTA_PROTO_ICMPV6_TYPE,
  84. CTA_PROTO_ICMPV6_CODE,
  85. __CTA_PROTO_MAX
  86. };
  87. #define CTA_PROTO_MAX (__CTA_PROTO_MAX - 1)
  88. enum ctattr_protoinfo {
  89. CTA_PROTOINFO_UNSPEC,
  90. CTA_PROTOINFO_TCP,
  91. CTA_PROTOINFO_DCCP,
  92. CTA_PROTOINFO_SCTP,
  93. __CTA_PROTOINFO_MAX
  94. };
  95. #define CTA_PROTOINFO_MAX (__CTA_PROTOINFO_MAX - 1)
  96. enum ctattr_protoinfo_tcp {
  97. CTA_PROTOINFO_TCP_UNSPEC,
  98. CTA_PROTOINFO_TCP_STATE,
  99. CTA_PROTOINFO_TCP_WSCALE_ORIGINAL,
  100. CTA_PROTOINFO_TCP_WSCALE_REPLY,
  101. CTA_PROTOINFO_TCP_FLAGS_ORIGINAL,
  102. CTA_PROTOINFO_TCP_FLAGS_REPLY,
  103. __CTA_PROTOINFO_TCP_MAX
  104. };
  105. #define CTA_PROTOINFO_TCP_MAX (__CTA_PROTOINFO_TCP_MAX - 1)
  106. enum ctattr_protoinfo_dccp {
  107. CTA_PROTOINFO_DCCP_UNSPEC,
  108. CTA_PROTOINFO_DCCP_STATE,
  109. CTA_PROTOINFO_DCCP_ROLE,
  110. CTA_PROTOINFO_DCCP_HANDSHAKE_SEQ,
  111. CTA_PROTOINFO_DCCP_PAD,
  112. __CTA_PROTOINFO_DCCP_MAX,
  113. };
  114. #define CTA_PROTOINFO_DCCP_MAX (__CTA_PROTOINFO_DCCP_MAX - 1)
  115. enum ctattr_protoinfo_sctp {
  116. CTA_PROTOINFO_SCTP_UNSPEC,
  117. CTA_PROTOINFO_SCTP_STATE,
  118. CTA_PROTOINFO_SCTP_VTAG_ORIGINAL,
  119. CTA_PROTOINFO_SCTP_VTAG_REPLY,
  120. __CTA_PROTOINFO_SCTP_MAX
  121. };
  122. #define CTA_PROTOINFO_SCTP_MAX (__CTA_PROTOINFO_SCTP_MAX - 1)
  123. enum ctattr_counters {
  124. CTA_COUNTERS_UNSPEC,
  125. CTA_COUNTERS_PACKETS, /* 64bit counters */
  126. CTA_COUNTERS_BYTES, /* 64bit counters */
  127. CTA_COUNTERS32_PACKETS, /* old 32bit counters, unused */
  128. CTA_COUNTERS32_BYTES, /* old 32bit counters, unused */
  129. CTA_COUNTERS_PAD,
  130. __CTA_COUNTERS_MAX
  131. };
  132. #define CTA_COUNTERS_MAX (__CTA_COUNTERS_MAX - 1)
  133. enum ctattr_tstamp {
  134. CTA_TIMESTAMP_UNSPEC,
  135. CTA_TIMESTAMP_START,
  136. CTA_TIMESTAMP_STOP,
  137. CTA_TIMESTAMP_PAD,
  138. __CTA_TIMESTAMP_MAX
  139. };
  140. #define CTA_TIMESTAMP_MAX (__CTA_TIMESTAMP_MAX - 1)
  141. enum ctattr_nat {
  142. CTA_NAT_UNSPEC,
  143. CTA_NAT_V4_MINIP,
  144. #define CTA_NAT_MINIP CTA_NAT_V4_MINIP
  145. CTA_NAT_V4_MAXIP,
  146. #define CTA_NAT_MAXIP CTA_NAT_V4_MAXIP
  147. CTA_NAT_PROTO,
  148. CTA_NAT_V6_MINIP,
  149. CTA_NAT_V6_MAXIP,
  150. __CTA_NAT_MAX
  151. };
  152. #define CTA_NAT_MAX (__CTA_NAT_MAX - 1)
  153. enum ctattr_protonat {
  154. CTA_PROTONAT_UNSPEC,
  155. CTA_PROTONAT_PORT_MIN,
  156. CTA_PROTONAT_PORT_MAX,
  157. __CTA_PROTONAT_MAX
  158. };
  159. #define CTA_PROTONAT_MAX (__CTA_PROTONAT_MAX - 1)
  160. enum ctattr_seqadj {
  161. CTA_SEQADJ_UNSPEC,
  162. CTA_SEQADJ_CORRECTION_POS,
  163. CTA_SEQADJ_OFFSET_BEFORE,
  164. CTA_SEQADJ_OFFSET_AFTER,
  165. __CTA_SEQADJ_MAX
  166. };
  167. #define CTA_SEQADJ_MAX (__CTA_SEQADJ_MAX - 1)
  168. enum ctattr_natseq {
  169. CTA_NAT_SEQ_UNSPEC,
  170. CTA_NAT_SEQ_CORRECTION_POS,
  171. CTA_NAT_SEQ_OFFSET_BEFORE,
  172. CTA_NAT_SEQ_OFFSET_AFTER,
  173. __CTA_NAT_SEQ_MAX
  174. };
  175. #define CTA_NAT_SEQ_MAX (__CTA_NAT_SEQ_MAX - 1)
  176. enum ctattr_synproxy {
  177. CTA_SYNPROXY_UNSPEC,
  178. CTA_SYNPROXY_ISN,
  179. CTA_SYNPROXY_ITS,
  180. CTA_SYNPROXY_TSOFF,
  181. __CTA_SYNPROXY_MAX,
  182. };
  183. #define CTA_SYNPROXY_MAX (__CTA_SYNPROXY_MAX - 1)
  184. enum ctattr_expect {
  185. CTA_EXPECT_UNSPEC,
  186. CTA_EXPECT_MASTER,
  187. CTA_EXPECT_TUPLE,
  188. CTA_EXPECT_MASK,
  189. CTA_EXPECT_TIMEOUT,
  190. CTA_EXPECT_ID,
  191. CTA_EXPECT_HELP_NAME,
  192. CTA_EXPECT_ZONE,
  193. CTA_EXPECT_FLAGS,
  194. CTA_EXPECT_CLASS,
  195. CTA_EXPECT_NAT,
  196. CTA_EXPECT_FN,
  197. __CTA_EXPECT_MAX
  198. };
  199. #define CTA_EXPECT_MAX (__CTA_EXPECT_MAX - 1)
  200. enum ctattr_expect_nat {
  201. CTA_EXPECT_NAT_UNSPEC,
  202. CTA_EXPECT_NAT_DIR,
  203. CTA_EXPECT_NAT_TUPLE,
  204. __CTA_EXPECT_NAT_MAX
  205. };
  206. #define CTA_EXPECT_NAT_MAX (__CTA_EXPECT_NAT_MAX - 1)
  207. enum ctattr_help {
  208. CTA_HELP_UNSPEC,
  209. CTA_HELP_NAME,
  210. CTA_HELP_INFO,
  211. __CTA_HELP_MAX
  212. };
  213. #define CTA_HELP_MAX (__CTA_HELP_MAX - 1)
  214. enum ctattr_secctx {
  215. CTA_SECCTX_UNSPEC,
  216. CTA_SECCTX_NAME,
  217. __CTA_SECCTX_MAX
  218. };
  219. #define CTA_SECCTX_MAX (__CTA_SECCTX_MAX - 1)
  220. enum ctattr_stats_cpu {
  221. CTA_STATS_UNSPEC,
  222. CTA_STATS_SEARCHED, /* no longer used */
  223. CTA_STATS_FOUND,
  224. CTA_STATS_NEW, /* no longer used */
  225. CTA_STATS_INVALID,
  226. CTA_STATS_IGNORE, /* no longer used */
  227. CTA_STATS_DELETE, /* no longer used */
  228. CTA_STATS_DELETE_LIST, /* no longer used */
  229. CTA_STATS_INSERT,
  230. CTA_STATS_INSERT_FAILED,
  231. CTA_STATS_DROP,
  232. CTA_STATS_EARLY_DROP,
  233. CTA_STATS_ERROR,
  234. CTA_STATS_SEARCH_RESTART,
  235. CTA_STATS_CLASH_RESOLVE,
  236. CTA_STATS_CHAIN_TOOLONG,
  237. __CTA_STATS_MAX,
  238. };
  239. #define CTA_STATS_MAX (__CTA_STATS_MAX - 1)
  240. enum ctattr_stats_global {
  241. CTA_STATS_GLOBAL_UNSPEC,
  242. CTA_STATS_GLOBAL_ENTRIES,
  243. CTA_STATS_GLOBAL_MAX_ENTRIES,
  244. __CTA_STATS_GLOBAL_MAX,
  245. };
  246. #define CTA_STATS_GLOBAL_MAX (__CTA_STATS_GLOBAL_MAX - 1)
  247. enum ctattr_expect_stats {
  248. CTA_STATS_EXP_UNSPEC,
  249. CTA_STATS_EXP_NEW,
  250. CTA_STATS_EXP_CREATE,
  251. CTA_STATS_EXP_DELETE,
  252. __CTA_STATS_EXP_MAX,
  253. };
  254. #define CTA_STATS_EXP_MAX (__CTA_STATS_EXP_MAX - 1)
  255. enum ctattr_filter {
  256. CTA_FILTER_UNSPEC,
  257. CTA_FILTER_ORIG_FLAGS,
  258. CTA_FILTER_REPLY_FLAGS,
  259. __CTA_FILTER_MAX
  260. };
  261. #define CTA_FILTER_MAX (__CTA_FILTER_MAX - 1)
  262. #endif /* _IPCONNTRACK_NETLINK_H */