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