netfilter: add protocol independent NAT core
[deliverable/linux.git] / include / linux / netfilter / nfnetlink_conntrack.h
CommitLineData
080774a2
HW
1#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,
392025f8
PNA
10 IPCTNL_MSG_CT_GET_STATS_CPU,
11 IPCTNL_MSG_CT_GET_STATS,
080774a2
HW
12
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,
392025f8 20 IPCTNL_MSG_EXP_GET_STATS_CPU,
080774a2
HW
21
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,
3726add7
PM
33 CTA_NAT_SRC,
34#define CTA_NAT CTA_NAT_SRC /* backwards compatibility */
080774a2
HW
35 CTA_TIMEOUT,
36 CTA_MARK,
37 CTA_COUNTERS_ORIG,
38 CTA_COUNTERS_REPLY,
39 CTA_USE,
080774a2 40 CTA_ID,
3726add7 41 CTA_NAT_DST,
5faa1f4c 42 CTA_TUPLE_MASTER,
13eae15a
PNA
43 CTA_NAT_SEQ_ADJ_ORIG,
44 CTA_NAT_SEQ_ADJ_REPLY,
1cc63249 45 CTA_SECMARK, /* obsolete */
ef00f89f 46 CTA_ZONE,
1cc63249 47 CTA_SECCTX,
a992ca2a 48 CTA_TIMESTAMP,
0f298a28 49 CTA_MARK_MASK,
080774a2
HW
50 __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,
c1d10adb
PNA
80 CTA_PROTO_ICMPV6_ID,
81 CTA_PROTO_ICMPV6_TYPE,
82 CTA_PROTO_ICMPV6_CODE,
080774a2
HW
83 __CTA_PROTO_MAX
84};
85#define CTA_PROTO_MAX (__CTA_PROTO_MAX - 1)
86
87enum ctattr_protoinfo {
88 CTA_PROTOINFO_UNSPEC,
e1c73b78 89 CTA_PROTOINFO_TCP,
2bc78049 90 CTA_PROTOINFO_DCCP,
a258860e 91 CTA_PROTOINFO_SCTP,
080774a2
HW
92 __CTA_PROTOINFO_MAX
93};
94#define CTA_PROTOINFO_MAX (__CTA_PROTOINFO_MAX - 1)
95
e1c73b78
PNA
96enum ctattr_protoinfo_tcp {
97 CTA_PROTOINFO_TCP_UNSPEC,
98 CTA_PROTOINFO_TCP_STATE,
c8e2078c
PNA
99 CTA_PROTOINFO_TCP_WSCALE_ORIGINAL,
100 CTA_PROTOINFO_TCP_WSCALE_REPLY,
101 CTA_PROTOINFO_TCP_FLAGS_ORIGINAL,
102 CTA_PROTOINFO_TCP_FLAGS_REPLY,
e1c73b78
PNA
103 __CTA_PROTOINFO_TCP_MAX
104};
105#define CTA_PROTOINFO_TCP_MAX (__CTA_PROTOINFO_TCP_MAX - 1)
106
2bc78049
PM
107enum ctattr_protoinfo_dccp {
108 CTA_PROTOINFO_DCCP_UNSPEC,
109 CTA_PROTOINFO_DCCP_STATE,
71951b64 110 CTA_PROTOINFO_DCCP_ROLE,
a17c8598 111 CTA_PROTOINFO_DCCP_HANDSHAKE_SEQ,
2bc78049
PM
112 __CTA_PROTOINFO_DCCP_MAX,
113};
114#define CTA_PROTOINFO_DCCP_MAX (__CTA_PROTOINFO_DCCP_MAX - 1)
115
a258860e
PNA
116enum 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
080774a2
HW
125enum ctattr_counters {
126 CTA_COUNTERS_UNSPEC,
58401572
KPO
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 */
080774a2
HW
131 __CTA_COUNTERS_MAX
132};
133#define CTA_COUNTERS_MAX (__CTA_COUNTERS_MAX - 1)
134
a992ca2a
PNA
135enum 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
080774a2
HW
143enum ctattr_nat {
144 CTA_NAT_UNSPEC,
c7232c99
PM
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
080774a2
HW
149 CTA_NAT_PROTO,
150 __CTA_NAT_MAX
151};
152#define CTA_NAT_MAX (__CTA_NAT_MAX - 1)
153
154enum 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
13eae15a 162enum ctattr_natseq {
092cab7e 163 CTA_NAT_SEQ_UNSPEC,
13eae15a
PNA
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
080774a2
HW
171enum ctattr_expect {
172 CTA_EXPECT_UNSPEC,
1444fc55 173 CTA_EXPECT_MASTER,
080774a2
HW
174 CTA_EXPECT_TUPLE,
175 CTA_EXPECT_MASK,
176 CTA_EXPECT_TIMEOUT,
177 CTA_EXPECT_ID,
1444fc55 178 CTA_EXPECT_HELP_NAME,
ef00f89f 179 CTA_EXPECT_ZONE,
8b008faf 180 CTA_EXPECT_FLAGS,
b8c5e52c 181 CTA_EXPECT_CLASS,
076a0ca0 182 CTA_EXPECT_NAT,
544d5c7d 183 CTA_EXPECT_FN,
080774a2
HW
184 __CTA_EXPECT_MAX
185};
186#define CTA_EXPECT_MAX (__CTA_EXPECT_MAX - 1)
187
076a0ca0
PNA
188enum 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
080774a2
HW
196enum ctattr_help {
197 CTA_HELP_UNSPEC,
198 CTA_HELP_NAME,
ae243bee 199 CTA_HELP_INFO,
080774a2
HW
200 __CTA_HELP_MAX
201};
202#define CTA_HELP_MAX (__CTA_HELP_MAX - 1)
203
1cc63249
EP
204enum 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
392025f8
PNA
211enum 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
230enum 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
237enum 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
080774a2 246#endif /* _IPCONNTRACK_NETLINK_H */
This page took 1.114966 seconds and 5 git commands to generate.