netfilter: add protocol independent NAT core
[deliverable/linux.git] / include / linux / netfilter / nfnetlink_conntrack.h
1 #ifndef _IPCONNTRACK_NETLINK_H
2 #define _IPCONNTRACK_NETLINK_H
3 #include <linux/netfilter/nfnetlink.h>
4
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
13 IPCTNL_MSG_MAX
14 };
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
22 IPCTNL_MSG_EXP_MAX
23 };
24
25
26 enum ctattr_type {
27 CTA_UNSPEC,
28 CTA_TUPLE_ORIG,
29 CTA_TUPLE_REPLY,
30 CTA_STATUS,
31 CTA_PROTOINFO,
32 CTA_HELP,
33 CTA_NAT_SRC,
34 #define CTA_NAT CTA_NAT_SRC /* backwards compatibility */
35 CTA_TIMEOUT,
36 CTA_MARK,
37 CTA_COUNTERS_ORIG,
38 CTA_COUNTERS_REPLY,
39 CTA_USE,
40 CTA_ID,
41 CTA_NAT_DST,
42 CTA_TUPLE_MASTER,
43 CTA_NAT_SEQ_ADJ_ORIG,
44 CTA_NAT_SEQ_ADJ_REPLY,
45 CTA_SECMARK, /* obsolete */
46 CTA_ZONE,
47 CTA_SECCTX,
48 CTA_TIMESTAMP,
49 CTA_MARK_MASK,
50 __CTA_MAX
51 };
52 #define CTA_MAX (__CTA_MAX - 1)
53
54 enum 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
62 enum 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
72 enum 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,
80 CTA_PROTO_ICMPV6_ID,
81 CTA_PROTO_ICMPV6_TYPE,
82 CTA_PROTO_ICMPV6_CODE,
83 __CTA_PROTO_MAX
84 };
85 #define CTA_PROTO_MAX (__CTA_PROTO_MAX - 1)
86
87 enum ctattr_protoinfo {
88 CTA_PROTOINFO_UNSPEC,
89 CTA_PROTOINFO_TCP,
90 CTA_PROTOINFO_DCCP,
91 CTA_PROTOINFO_SCTP,
92 __CTA_PROTOINFO_MAX
93 };
94 #define CTA_PROTOINFO_MAX (__CTA_PROTOINFO_MAX - 1)
95
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
107 enum ctattr_protoinfo_dccp {
108 CTA_PROTOINFO_DCCP_UNSPEC,
109 CTA_PROTOINFO_DCCP_STATE,
110 CTA_PROTOINFO_DCCP_ROLE,
111 CTA_PROTOINFO_DCCP_HANDSHAKE_SEQ,
112 __CTA_PROTOINFO_DCCP_MAX,
113 };
114 #define CTA_PROTOINFO_DCCP_MAX (__CTA_PROTOINFO_DCCP_MAX - 1)
115
116 enum 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
125 enum ctattr_counters {
126 CTA_COUNTERS_UNSPEC,
127 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 */
131 __CTA_COUNTERS_MAX
132 };
133 #define CTA_COUNTERS_MAX (__CTA_COUNTERS_MAX - 1)
134
135 enum 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
143 enum ctattr_nat {
144 CTA_NAT_UNSPEC,
145 CTA_NAT_V4_MINIP,
146 #define CTA_NAT_MINIP CTA_NAT_V4_MINIP
147 CTA_NAT_V4_MAXIP,
148 #define CTA_NAT_MAXIP CTA_NAT_V4_MAXIP
149 CTA_NAT_PROTO,
150 __CTA_NAT_MAX
151 };
152 #define CTA_NAT_MAX (__CTA_NAT_MAX - 1)
153
154 enum ctattr_protonat {
155 CTA_PROTONAT_UNSPEC,
156 CTA_PROTONAT_PORT_MIN,
157 CTA_PROTONAT_PORT_MAX,
158 __CTA_PROTONAT_MAX
159 };
160 #define CTA_PROTONAT_MAX (__CTA_PROTONAT_MAX - 1)
161
162 enum ctattr_natseq {
163 CTA_NAT_SEQ_UNSPEC,
164 CTA_NAT_SEQ_CORRECTION_POS,
165 CTA_NAT_SEQ_OFFSET_BEFORE,
166 CTA_NAT_SEQ_OFFSET_AFTER,
167 __CTA_NAT_SEQ_MAX
168 };
169 #define CTA_NAT_SEQ_MAX (__CTA_NAT_SEQ_MAX - 1)
170
171 enum ctattr_expect {
172 CTA_EXPECT_UNSPEC,
173 CTA_EXPECT_MASTER,
174 CTA_EXPECT_TUPLE,
175 CTA_EXPECT_MASK,
176 CTA_EXPECT_TIMEOUT,
177 CTA_EXPECT_ID,
178 CTA_EXPECT_HELP_NAME,
179 CTA_EXPECT_ZONE,
180 CTA_EXPECT_FLAGS,
181 CTA_EXPECT_CLASS,
182 CTA_EXPECT_NAT,
183 CTA_EXPECT_FN,
184 __CTA_EXPECT_MAX
185 };
186 #define CTA_EXPECT_MAX (__CTA_EXPECT_MAX - 1)
187
188 enum ctattr_expect_nat {
189 CTA_EXPECT_NAT_UNSPEC,
190 CTA_EXPECT_NAT_DIR,
191 CTA_EXPECT_NAT_TUPLE,
192 __CTA_EXPECT_NAT_MAX
193 };
194 #define CTA_EXPECT_NAT_MAX (__CTA_EXPECT_NAT_MAX - 1)
195
196 enum ctattr_help {
197 CTA_HELP_UNSPEC,
198 CTA_HELP_NAME,
199 CTA_HELP_INFO,
200 __CTA_HELP_MAX
201 };
202 #define CTA_HELP_MAX (__CTA_HELP_MAX - 1)
203
204 enum ctattr_secctx {
205 CTA_SECCTX_UNSPEC,
206 CTA_SECCTX_NAME,
207 __CTA_SECCTX_MAX
208 };
209 #define CTA_SECCTX_MAX (__CTA_SECCTX_MAX - 1)
210
211 enum ctattr_stats_cpu {
212 CTA_STATS_UNSPEC,
213 CTA_STATS_SEARCHED,
214 CTA_STATS_FOUND,
215 CTA_STATS_NEW,
216 CTA_STATS_INVALID,
217 CTA_STATS_IGNORE,
218 CTA_STATS_DELETE,
219 CTA_STATS_DELETE_LIST,
220 CTA_STATS_INSERT,
221 CTA_STATS_INSERT_FAILED,
222 CTA_STATS_DROP,
223 CTA_STATS_EARLY_DROP,
224 CTA_STATS_ERROR,
225 CTA_STATS_SEARCH_RESTART,
226 __CTA_STATS_MAX,
227 };
228 #define CTA_STATS_MAX (__CTA_STATS_MAX - 1)
229
230 enum ctattr_stats_global {
231 CTA_STATS_GLOBAL_UNSPEC,
232 CTA_STATS_GLOBAL_ENTRIES,
233 __CTA_STATS_GLOBAL_MAX,
234 };
235 #define CTA_STATS_GLOBAL_MAX (__CTA_STATS_GLOBAL_MAX - 1)
236
237 enum ctattr_expect_stats {
238 CTA_STATS_EXP_UNSPEC,
239 CTA_STATS_EXP_NEW,
240 CTA_STATS_EXP_CREATE,
241 CTA_STATS_EXP_DELETE,
242 __CTA_STATS_EXP_MAX,
243 };
244 #define CTA_STATS_EXP_MAX (__CTA_STATS_EXP_MAX - 1)
245
246 #endif /* _IPCONNTRACK_NETLINK_H */
This page took 0.052427 seconds and 5 git commands to generate.