blob: f649f7423ca2d97210b55a8756e33a7a7fc3eeb7 [file] [log] [blame]
Harald Welte080774a2005-08-09 19:32:58 -07001#ifndef _IPCONNTRACK_NETLINK_H
2#define _IPCONNTRACK_NETLINK_H
3#include <linux/netfilter/nfnetlink.h>
4
5enum cntl_msg_types {
6 IPCTNL_MSG_CT_NEW,
7 IPCTNL_MSG_CT_GET,
8 IPCTNL_MSG_CT_DELETE,
9 IPCTNL_MSG_CT_GET_CTRZERO,
Pablo Neira Ayuso392025f2012-06-26 20:27:09 +020010 IPCTNL_MSG_CT_GET_STATS_CPU,
11 IPCTNL_MSG_CT_GET_STATS,
Harald Welte080774a2005-08-09 19:32:58 -070012
13 IPCTNL_MSG_MAX
14};
15
16enum ctnl_exp_msg_types {
17 IPCTNL_MSG_EXP_NEW,
18 IPCTNL_MSG_EXP_GET,
19 IPCTNL_MSG_EXP_DELETE,
Pablo Neira Ayuso392025f2012-06-26 20:27:09 +020020 IPCTNL_MSG_EXP_GET_STATS_CPU,
Harald Welte080774a2005-08-09 19:32:58 -070021
22 IPCTNL_MSG_EXP_MAX
23};
24
25
26enum ctattr_type {
27 CTA_UNSPEC,
28 CTA_TUPLE_ORIG,
29 CTA_TUPLE_REPLY,
30 CTA_STATUS,
31 CTA_PROTOINFO,
32 CTA_HELP,
Patrick McHardy3726add2006-05-29 18:24:39 -070033 CTA_NAT_SRC,
34#define CTA_NAT CTA_NAT_SRC /* backwards compatibility */
Harald Welte080774a2005-08-09 19:32:58 -070035 CTA_TIMEOUT,
36 CTA_MARK,
37 CTA_COUNTERS_ORIG,
38 CTA_COUNTERS_REPLY,
39 CTA_USE,
Harald Welte080774a2005-08-09 19:32:58 -070040 CTA_ID,
Patrick McHardy3726add2006-05-29 18:24:39 -070041 CTA_NAT_DST,
Pablo Neira Ayuso5faa1f42007-09-28 14:43:53 -070042 CTA_TUPLE_MASTER,
Pablo Neira Ayuso13eae152007-12-17 22:28:00 -080043 CTA_NAT_SEQ_ADJ_ORIG,
44 CTA_NAT_SEQ_ADJ_REPLY,
Eric Paris1cc63242010-10-13 16:24:54 -040045 CTA_SECMARK, /* obsolete */
Patrick McHardyef00f892010-02-15 18:14:57 +010046 CTA_ZONE,
Eric Paris1cc63242010-10-13 16:24:54 -040047 CTA_SECCTX,
Pablo Neira Ayusoa992ca22011-01-19 16:00:07 +010048 CTA_TIMESTAMP,
Pablo Neira Ayuso0f298a22012-02-24 14:41:50 +000049 CTA_MARK_MASK,
Harald Welte080774a2005-08-09 19:32:58 -070050 __CTA_MAX
51};
52#define CTA_MAX (__CTA_MAX - 1)
53
54enum ctattr_tuple {
55 CTA_TUPLE_UNSPEC,
56 CTA_TUPLE_IP,
57 CTA_TUPLE_PROTO,
58 __CTA_TUPLE_MAX
59};
60#define CTA_TUPLE_MAX (__CTA_TUPLE_MAX - 1)
61
62enum ctattr_ip {
63 CTA_IP_UNSPEC,
64 CTA_IP_V4_SRC,
65 CTA_IP_V4_DST,
66 CTA_IP_V6_SRC,
67 CTA_IP_V6_DST,
68 __CTA_IP_MAX
69};
70#define CTA_IP_MAX (__CTA_IP_MAX - 1)
71
72enum ctattr_l4proto {
73 CTA_PROTO_UNSPEC,
74 CTA_PROTO_NUM,
75 CTA_PROTO_SRC_PORT,
76 CTA_PROTO_DST_PORT,
77 CTA_PROTO_ICMP_ID,
78 CTA_PROTO_ICMP_TYPE,
79 CTA_PROTO_ICMP_CODE,
Pablo Neira Ayusoc1d10ad2006-01-05 12:19:05 -080080 CTA_PROTO_ICMPV6_ID,
81 CTA_PROTO_ICMPV6_TYPE,
82 CTA_PROTO_ICMPV6_CODE,
Harald Welte080774a2005-08-09 19:32:58 -070083 __CTA_PROTO_MAX
84};
85#define CTA_PROTO_MAX (__CTA_PROTO_MAX - 1)
86
87enum ctattr_protoinfo {
88 CTA_PROTOINFO_UNSPEC,
Pablo Neira Ayusoe1c73b72005-10-10 20:55:49 -070089 CTA_PROTOINFO_TCP,
Patrick McHardy2bc78042008-03-20 15:15:55 +010090 CTA_PROTOINFO_DCCP,
Pablo Neira Ayusoa2588602008-06-09 15:56:39 -070091 CTA_PROTOINFO_SCTP,
Harald Welte080774a2005-08-09 19:32:58 -070092 __CTA_PROTOINFO_MAX
93};
94#define CTA_PROTOINFO_MAX (__CTA_PROTOINFO_MAX - 1)
95
Pablo Neira Ayusoe1c73b72005-10-10 20:55:49 -070096enum ctattr_protoinfo_tcp {
97 CTA_PROTOINFO_TCP_UNSPEC,
98 CTA_PROTOINFO_TCP_STATE,
Pablo Neira Ayusoc8e20782007-03-14 16:45:19 -070099 CTA_PROTOINFO_TCP_WSCALE_ORIGINAL,
100 CTA_PROTOINFO_TCP_WSCALE_REPLY,
101 CTA_PROTOINFO_TCP_FLAGS_ORIGINAL,
102 CTA_PROTOINFO_TCP_FLAGS_REPLY,
Pablo Neira Ayusoe1c73b72005-10-10 20:55:49 -0700103 __CTA_PROTOINFO_TCP_MAX
104};
105#define CTA_PROTOINFO_TCP_MAX (__CTA_PROTOINFO_TCP_MAX - 1)
106
Patrick McHardy2bc78042008-03-20 15:15:55 +0100107enum ctattr_protoinfo_dccp {
108 CTA_PROTOINFO_DCCP_UNSPEC,
109 CTA_PROTOINFO_DCCP_STATE,
Pablo Neira Ayuso71951b62009-04-24 16:58:41 +0200110 CTA_PROTOINFO_DCCP_ROLE,
Pablo Neira Ayusoa17c8592009-05-27 17:50:35 +0200111 CTA_PROTOINFO_DCCP_HANDSHAKE_SEQ,
Patrick McHardy2bc78042008-03-20 15:15:55 +0100112 __CTA_PROTOINFO_DCCP_MAX,
113};
114#define CTA_PROTOINFO_DCCP_MAX (__CTA_PROTOINFO_DCCP_MAX - 1)
115
Pablo Neira Ayusoa2588602008-06-09 15:56:39 -0700116enum ctattr_protoinfo_sctp {
117 CTA_PROTOINFO_SCTP_UNSPEC,
118 CTA_PROTOINFO_SCTP_STATE,
119 CTA_PROTOINFO_SCTP_VTAG_ORIGINAL,
120 CTA_PROTOINFO_SCTP_VTAG_REPLY,
121 __CTA_PROTOINFO_SCTP_MAX
122};
123#define CTA_PROTOINFO_SCTP_MAX (__CTA_PROTOINFO_SCTP_MAX - 1)
124
Harald Welte080774a2005-08-09 19:32:58 -0700125enum ctattr_counters {
126 CTA_COUNTERS_UNSPEC,
Krzysztof Piotr Oledzki58401572008-07-21 10:01:34 -0700127 CTA_COUNTERS_PACKETS, /* 64bit counters */
128 CTA_COUNTERS_BYTES, /* 64bit counters */
129 CTA_COUNTERS32_PACKETS, /* old 32bit counters, unused */
130 CTA_COUNTERS32_BYTES, /* old 32bit counters, unused */
Harald Welte080774a2005-08-09 19:32:58 -0700131 __CTA_COUNTERS_MAX
132};
133#define CTA_COUNTERS_MAX (__CTA_COUNTERS_MAX - 1)
134
Pablo Neira Ayusoa992ca22011-01-19 16:00:07 +0100135enum ctattr_tstamp {
136 CTA_TIMESTAMP_UNSPEC,
137 CTA_TIMESTAMP_START,
138 CTA_TIMESTAMP_STOP,
139 __CTA_TIMESTAMP_MAX
140};
141#define CTA_TIMESTAMP_MAX (__CTA_TIMESTAMP_MAX - 1)
142
Harald Welte080774a2005-08-09 19:32:58 -0700143enum ctattr_nat {
144 CTA_NAT_UNSPEC,
145 CTA_NAT_MINIP,
146 CTA_NAT_MAXIP,
147 CTA_NAT_PROTO,
148 __CTA_NAT_MAX
149};
150#define CTA_NAT_MAX (__CTA_NAT_MAX - 1)
151
152enum ctattr_protonat {
153 CTA_PROTONAT_UNSPEC,
154 CTA_PROTONAT_PORT_MIN,
155 CTA_PROTONAT_PORT_MAX,
156 __CTA_PROTONAT_MAX
157};
158#define CTA_PROTONAT_MAX (__CTA_PROTONAT_MAX - 1)
159
Pablo Neira Ayuso13eae152007-12-17 22:28:00 -0800160enum ctattr_natseq {
Pablo Neira Ayuso092cab72008-12-16 01:19:41 -0800161 CTA_NAT_SEQ_UNSPEC,
Pablo Neira Ayuso13eae152007-12-17 22:28:00 -0800162 CTA_NAT_SEQ_CORRECTION_POS,
163 CTA_NAT_SEQ_OFFSET_BEFORE,
164 CTA_NAT_SEQ_OFFSET_AFTER,
165 __CTA_NAT_SEQ_MAX
166};
167#define CTA_NAT_SEQ_MAX (__CTA_NAT_SEQ_MAX - 1)
168
Harald Welte080774a2005-08-09 19:32:58 -0700169enum ctattr_expect {
170 CTA_EXPECT_UNSPEC,
Harald Welte1444fc52005-08-09 20:04:07 -0700171 CTA_EXPECT_MASTER,
Harald Welte080774a2005-08-09 19:32:58 -0700172 CTA_EXPECT_TUPLE,
173 CTA_EXPECT_MASK,
174 CTA_EXPECT_TIMEOUT,
175 CTA_EXPECT_ID,
Harald Welte1444fc52005-08-09 20:04:07 -0700176 CTA_EXPECT_HELP_NAME,
Patrick McHardyef00f892010-02-15 18:14:57 +0100177 CTA_EXPECT_ZONE,
Pablo Neira Ayuso8b008fa2010-09-22 08:36:59 +0200178 CTA_EXPECT_FLAGS,
Pablo Neira Ayusob8c5e522012-02-05 03:21:12 +0100179 CTA_EXPECT_CLASS,
Pablo Neira Ayuso076a0ca2012-02-05 03:41:52 +0100180 CTA_EXPECT_NAT,
Pablo Neira Ayuso544d5c72012-02-05 03:44:51 +0100181 CTA_EXPECT_FN,
Harald Welte080774a2005-08-09 19:32:58 -0700182 __CTA_EXPECT_MAX
183};
184#define CTA_EXPECT_MAX (__CTA_EXPECT_MAX - 1)
185
Pablo Neira Ayuso076a0ca2012-02-05 03:41:52 +0100186enum ctattr_expect_nat {
187 CTA_EXPECT_NAT_UNSPEC,
188 CTA_EXPECT_NAT_DIR,
189 CTA_EXPECT_NAT_TUPLE,
190 __CTA_EXPECT_NAT_MAX
191};
192#define CTA_EXPECT_NAT_MAX (__CTA_EXPECT_NAT_MAX - 1)
193
Harald Welte080774a2005-08-09 19:32:58 -0700194enum ctattr_help {
195 CTA_HELP_UNSPEC,
196 CTA_HELP_NAME,
Pablo Neira Ayusoae243be2012-06-07 14:19:42 +0200197 CTA_HELP_INFO,
Harald Welte080774a2005-08-09 19:32:58 -0700198 __CTA_HELP_MAX
199};
200#define CTA_HELP_MAX (__CTA_HELP_MAX - 1)
201
Eric Paris1cc63242010-10-13 16:24:54 -0400202enum ctattr_secctx {
203 CTA_SECCTX_UNSPEC,
204 CTA_SECCTX_NAME,
205 __CTA_SECCTX_MAX
206};
207#define CTA_SECCTX_MAX (__CTA_SECCTX_MAX - 1)
208
Pablo Neira Ayuso392025f2012-06-26 20:27:09 +0200209enum ctattr_stats_cpu {
210 CTA_STATS_UNSPEC,
211 CTA_STATS_SEARCHED,
212 CTA_STATS_FOUND,
213 CTA_STATS_NEW,
214 CTA_STATS_INVALID,
215 CTA_STATS_IGNORE,
216 CTA_STATS_DELETE,
217 CTA_STATS_DELETE_LIST,
218 CTA_STATS_INSERT,
219 CTA_STATS_INSERT_FAILED,
220 CTA_STATS_DROP,
221 CTA_STATS_EARLY_DROP,
222 CTA_STATS_ERROR,
223 CTA_STATS_SEARCH_RESTART,
224 __CTA_STATS_MAX,
225};
226#define CTA_STATS_MAX (__CTA_STATS_MAX - 1)
227
228enum ctattr_stats_global {
229 CTA_STATS_GLOBAL_UNSPEC,
230 CTA_STATS_GLOBAL_ENTRIES,
231 __CTA_STATS_GLOBAL_MAX,
232};
233#define CTA_STATS_GLOBAL_MAX (__CTA_STATS_GLOBAL_MAX - 1)
234
235enum ctattr_expect_stats {
236 CTA_STATS_EXP_UNSPEC,
237 CTA_STATS_EXP_NEW,
238 CTA_STATS_EXP_CREATE,
239 CTA_STATS_EXP_DELETE,
240 __CTA_STATS_EXP_MAX,
241};
242#define CTA_STATS_EXP_MAX (__CTA_STATS_EXP_MAX - 1)
243
Harald Welte080774a2005-08-09 19:32:58 -0700244#endif /* _IPCONNTRACK_NETLINK_H */