netfilter: ctnetlink: allow userspace to modify labels
[deliverable/linux.git] / include / uapi / 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,
d871befe
PNA
12 IPCTNL_MSG_CT_GET_DYING,
13 IPCTNL_MSG_CT_GET_UNCONFIRMED,
080774a2
HW
14
15 IPCTNL_MSG_MAX
16};
17
18enum ctnl_exp_msg_types {
19 IPCTNL_MSG_EXP_NEW,
20 IPCTNL_MSG_EXP_GET,
21 IPCTNL_MSG_EXP_DELETE,
392025f8 22 IPCTNL_MSG_EXP_GET_STATS_CPU,
080774a2
HW
23
24 IPCTNL_MSG_EXP_MAX
25};
26
27
28enum ctattr_type {
29 CTA_UNSPEC,
30 CTA_TUPLE_ORIG,
31 CTA_TUPLE_REPLY,
32 CTA_STATUS,
33 CTA_PROTOINFO,
34 CTA_HELP,
3726add7
PM
35 CTA_NAT_SRC,
36#define CTA_NAT CTA_NAT_SRC /* backwards compatibility */
080774a2
HW
37 CTA_TIMEOUT,
38 CTA_MARK,
39 CTA_COUNTERS_ORIG,
40 CTA_COUNTERS_REPLY,
41 CTA_USE,
080774a2 42 CTA_ID,
3726add7 43 CTA_NAT_DST,
5faa1f4c 44 CTA_TUPLE_MASTER,
13eae15a
PNA
45 CTA_NAT_SEQ_ADJ_ORIG,
46 CTA_NAT_SEQ_ADJ_REPLY,
1cc63249 47 CTA_SECMARK, /* obsolete */
ef00f89f 48 CTA_ZONE,
1cc63249 49 CTA_SECCTX,
a992ca2a 50 CTA_TIMESTAMP,
0f298a28 51 CTA_MARK_MASK,
0ceabd83 52 CTA_LABELS,
9b21f6a9 53 CTA_LABELS_MASK,
080774a2
HW
54 __CTA_MAX
55};
56#define CTA_MAX (__CTA_MAX - 1)
57
58enum ctattr_tuple {
59 CTA_TUPLE_UNSPEC,
60 CTA_TUPLE_IP,
61 CTA_TUPLE_PROTO,
62 __CTA_TUPLE_MAX
63};
64#define CTA_TUPLE_MAX (__CTA_TUPLE_MAX - 1)
65
66enum ctattr_ip {
67 CTA_IP_UNSPEC,
68 CTA_IP_V4_SRC,
69 CTA_IP_V4_DST,
70 CTA_IP_V6_SRC,
71 CTA_IP_V6_DST,
72 __CTA_IP_MAX
73};
74#define CTA_IP_MAX (__CTA_IP_MAX - 1)
75
76enum ctattr_l4proto {
77 CTA_PROTO_UNSPEC,
78 CTA_PROTO_NUM,
79 CTA_PROTO_SRC_PORT,
80 CTA_PROTO_DST_PORT,
81 CTA_PROTO_ICMP_ID,
82 CTA_PROTO_ICMP_TYPE,
83 CTA_PROTO_ICMP_CODE,
c1d10adb
PNA
84 CTA_PROTO_ICMPV6_ID,
85 CTA_PROTO_ICMPV6_TYPE,
86 CTA_PROTO_ICMPV6_CODE,
080774a2
HW
87 __CTA_PROTO_MAX
88};
89#define CTA_PROTO_MAX (__CTA_PROTO_MAX - 1)
90
91enum ctattr_protoinfo {
92 CTA_PROTOINFO_UNSPEC,
e1c73b78 93 CTA_PROTOINFO_TCP,
2bc78049 94 CTA_PROTOINFO_DCCP,
a258860e 95 CTA_PROTOINFO_SCTP,
080774a2
HW
96 __CTA_PROTOINFO_MAX
97};
98#define CTA_PROTOINFO_MAX (__CTA_PROTOINFO_MAX - 1)
99
e1c73b78
PNA
100enum ctattr_protoinfo_tcp {
101 CTA_PROTOINFO_TCP_UNSPEC,
102 CTA_PROTOINFO_TCP_STATE,
c8e2078c
PNA
103 CTA_PROTOINFO_TCP_WSCALE_ORIGINAL,
104 CTA_PROTOINFO_TCP_WSCALE_REPLY,
105 CTA_PROTOINFO_TCP_FLAGS_ORIGINAL,
106 CTA_PROTOINFO_TCP_FLAGS_REPLY,
e1c73b78
PNA
107 __CTA_PROTOINFO_TCP_MAX
108};
109#define CTA_PROTOINFO_TCP_MAX (__CTA_PROTOINFO_TCP_MAX - 1)
110
2bc78049
PM
111enum ctattr_protoinfo_dccp {
112 CTA_PROTOINFO_DCCP_UNSPEC,
113 CTA_PROTOINFO_DCCP_STATE,
71951b64 114 CTA_PROTOINFO_DCCP_ROLE,
a17c8598 115 CTA_PROTOINFO_DCCP_HANDSHAKE_SEQ,
2bc78049
PM
116 __CTA_PROTOINFO_DCCP_MAX,
117};
118#define CTA_PROTOINFO_DCCP_MAX (__CTA_PROTOINFO_DCCP_MAX - 1)
119
a258860e
PNA
120enum ctattr_protoinfo_sctp {
121 CTA_PROTOINFO_SCTP_UNSPEC,
122 CTA_PROTOINFO_SCTP_STATE,
123 CTA_PROTOINFO_SCTP_VTAG_ORIGINAL,
124 CTA_PROTOINFO_SCTP_VTAG_REPLY,
125 __CTA_PROTOINFO_SCTP_MAX
126};
127#define CTA_PROTOINFO_SCTP_MAX (__CTA_PROTOINFO_SCTP_MAX - 1)
128
080774a2
HW
129enum ctattr_counters {
130 CTA_COUNTERS_UNSPEC,
58401572
KPO
131 CTA_COUNTERS_PACKETS, /* 64bit counters */
132 CTA_COUNTERS_BYTES, /* 64bit counters */
133 CTA_COUNTERS32_PACKETS, /* old 32bit counters, unused */
134 CTA_COUNTERS32_BYTES, /* old 32bit counters, unused */
080774a2
HW
135 __CTA_COUNTERS_MAX
136};
137#define CTA_COUNTERS_MAX (__CTA_COUNTERS_MAX - 1)
138
a992ca2a
PNA
139enum ctattr_tstamp {
140 CTA_TIMESTAMP_UNSPEC,
141 CTA_TIMESTAMP_START,
142 CTA_TIMESTAMP_STOP,
143 __CTA_TIMESTAMP_MAX
144};
145#define CTA_TIMESTAMP_MAX (__CTA_TIMESTAMP_MAX - 1)
146
080774a2
HW
147enum ctattr_nat {
148 CTA_NAT_UNSPEC,
c7232c99
PM
149 CTA_NAT_V4_MINIP,
150#define CTA_NAT_MINIP CTA_NAT_V4_MINIP
151 CTA_NAT_V4_MAXIP,
152#define CTA_NAT_MAXIP CTA_NAT_V4_MAXIP
080774a2 153 CTA_NAT_PROTO,
58a317f1
PM
154 CTA_NAT_V6_MINIP,
155 CTA_NAT_V6_MAXIP,
080774a2
HW
156 __CTA_NAT_MAX
157};
158#define CTA_NAT_MAX (__CTA_NAT_MAX - 1)
159
160enum ctattr_protonat {
161 CTA_PROTONAT_UNSPEC,
162 CTA_PROTONAT_PORT_MIN,
163 CTA_PROTONAT_PORT_MAX,
164 __CTA_PROTONAT_MAX
165};
166#define CTA_PROTONAT_MAX (__CTA_PROTONAT_MAX - 1)
167
13eae15a 168enum ctattr_natseq {
092cab7e 169 CTA_NAT_SEQ_UNSPEC,
13eae15a
PNA
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
080774a2
HW
177enum ctattr_expect {
178 CTA_EXPECT_UNSPEC,
1444fc55 179 CTA_EXPECT_MASTER,
080774a2
HW
180 CTA_EXPECT_TUPLE,
181 CTA_EXPECT_MASK,
182 CTA_EXPECT_TIMEOUT,
183 CTA_EXPECT_ID,
1444fc55 184 CTA_EXPECT_HELP_NAME,
ef00f89f 185 CTA_EXPECT_ZONE,
8b008faf 186 CTA_EXPECT_FLAGS,
b8c5e52c 187 CTA_EXPECT_CLASS,
076a0ca0 188 CTA_EXPECT_NAT,
544d5c7d 189 CTA_EXPECT_FN,
080774a2
HW
190 __CTA_EXPECT_MAX
191};
192#define CTA_EXPECT_MAX (__CTA_EXPECT_MAX - 1)
193
076a0ca0
PNA
194enum ctattr_expect_nat {
195 CTA_EXPECT_NAT_UNSPEC,
196 CTA_EXPECT_NAT_DIR,
197 CTA_EXPECT_NAT_TUPLE,
198 __CTA_EXPECT_NAT_MAX
199};
200#define CTA_EXPECT_NAT_MAX (__CTA_EXPECT_NAT_MAX - 1)
201
080774a2
HW
202enum ctattr_help {
203 CTA_HELP_UNSPEC,
204 CTA_HELP_NAME,
ae243bee 205 CTA_HELP_INFO,
080774a2
HW
206 __CTA_HELP_MAX
207};
208#define CTA_HELP_MAX (__CTA_HELP_MAX - 1)
209
1cc63249
EP
210enum ctattr_secctx {
211 CTA_SECCTX_UNSPEC,
212 CTA_SECCTX_NAME,
213 __CTA_SECCTX_MAX
214};
215#define CTA_SECCTX_MAX (__CTA_SECCTX_MAX - 1)
216
392025f8
PNA
217enum ctattr_stats_cpu {
218 CTA_STATS_UNSPEC,
219 CTA_STATS_SEARCHED,
220 CTA_STATS_FOUND,
221 CTA_STATS_NEW,
222 CTA_STATS_INVALID,
223 CTA_STATS_IGNORE,
224 CTA_STATS_DELETE,
225 CTA_STATS_DELETE_LIST,
226 CTA_STATS_INSERT,
227 CTA_STATS_INSERT_FAILED,
228 CTA_STATS_DROP,
229 CTA_STATS_EARLY_DROP,
230 CTA_STATS_ERROR,
231 CTA_STATS_SEARCH_RESTART,
232 __CTA_STATS_MAX,
233};
234#define CTA_STATS_MAX (__CTA_STATS_MAX - 1)
235
236enum ctattr_stats_global {
237 CTA_STATS_GLOBAL_UNSPEC,
238 CTA_STATS_GLOBAL_ENTRIES,
239 __CTA_STATS_GLOBAL_MAX,
240};
241#define CTA_STATS_GLOBAL_MAX (__CTA_STATS_GLOBAL_MAX - 1)
242
243enum ctattr_expect_stats {
244 CTA_STATS_EXP_UNSPEC,
245 CTA_STATS_EXP_NEW,
246 CTA_STATS_EXP_CREATE,
247 CTA_STATS_EXP_DELETE,
248 __CTA_STATS_EXP_MAX,
249};
250#define CTA_STATS_EXP_MAX (__CTA_STATS_EXP_MAX - 1)
251
080774a2 252#endif /* _IPCONNTRACK_NETLINK_H */
This page took 0.893793 seconds and 5 git commands to generate.