nf_tables.h revision d7db594b8d1dab36b711bd887a9dd21675c87243
1/****************************************************************************
2 ****************************************************************************
3 ***
4 ***   This header was automatically generated from a Linux kernel header
5 ***   of the same name, to make information necessary for userspace to
6 ***   call into the kernel available to libc.  It contains only constants,
7 ***   structures, and macros generated from the original header, and thus,
8 ***   contains no copyrightable information.
9 ***
10 ***   To edit the content of this header, modify the corresponding
11 ***   source file (e.g. under external/kernel-headers/original/) then
12 ***   run bionic/libc/kernel/tools/update_all.py
13 ***
14 ***   Any manual change here will be lost the next time this script will
15 ***   be run. You've been warned!
16 ***
17 ****************************************************************************
18 ****************************************************************************/
19#ifndef _LINUX_NF_TABLES_H
20#define _LINUX_NF_TABLES_H
21#define NFT_CHAIN_MAXNAMELEN 32
22#define NFT_USERDATA_MAXLEN 256
23/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
24enum nft_registers {
25  NFT_REG_VERDICT,
26  NFT_REG_1,
27  NFT_REG_2,
28/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
29  NFT_REG_3,
30  NFT_REG_4,
31  __NFT_REG_MAX
32};
33/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
34#define NFT_REG_MAX (__NFT_REG_MAX - 1)
35enum nft_verdicts {
36  NFT_CONTINUE = - 1,
37  NFT_BREAK = - 2,
38/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
39  NFT_JUMP = - 3,
40  NFT_GOTO = - 4,
41  NFT_RETURN = - 5,
42};
43/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
44enum nf_tables_msg_types {
45  NFT_MSG_NEWTABLE,
46  NFT_MSG_GETTABLE,
47  NFT_MSG_DELTABLE,
48/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
49  NFT_MSG_NEWCHAIN,
50  NFT_MSG_GETCHAIN,
51  NFT_MSG_DELCHAIN,
52  NFT_MSG_NEWRULE,
53/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
54  NFT_MSG_GETRULE,
55  NFT_MSG_DELRULE,
56  NFT_MSG_NEWSET,
57  NFT_MSG_GETSET,
58/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
59  NFT_MSG_DELSET,
60  NFT_MSG_NEWSETELEM,
61  NFT_MSG_GETSETELEM,
62  NFT_MSG_DELSETELEM,
63/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
64  NFT_MSG_NEWGEN,
65  NFT_MSG_GETGEN,
66  NFT_MSG_MAX,
67};
68/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
69enum nft_list_attributes {
70  NFTA_LIST_UNPEC,
71  NFTA_LIST_ELEM,
72  __NFTA_LIST_MAX
73/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
74};
75#define NFTA_LIST_MAX (__NFTA_LIST_MAX - 1)
76enum nft_hook_attributes {
77  NFTA_HOOK_UNSPEC,
78/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
79  NFTA_HOOK_HOOKNUM,
80  NFTA_HOOK_PRIORITY,
81  __NFTA_HOOK_MAX
82};
83/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
84#define NFTA_HOOK_MAX (__NFTA_HOOK_MAX - 1)
85enum nft_table_flags {
86  NFT_TABLE_F_DORMANT = 0x1,
87};
88/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
89enum nft_table_attributes {
90  NFTA_TABLE_UNSPEC,
91  NFTA_TABLE_NAME,
92  NFTA_TABLE_FLAGS,
93/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
94  NFTA_TABLE_USE,
95  __NFTA_TABLE_MAX
96};
97#define NFTA_TABLE_MAX (__NFTA_TABLE_MAX - 1)
98/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
99enum nft_chain_attributes {
100  NFTA_CHAIN_UNSPEC,
101  NFTA_CHAIN_TABLE,
102  NFTA_CHAIN_HANDLE,
103/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
104  NFTA_CHAIN_NAME,
105  NFTA_CHAIN_HOOK,
106  NFTA_CHAIN_POLICY,
107  NFTA_CHAIN_USE,
108/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
109  NFTA_CHAIN_TYPE,
110  NFTA_CHAIN_COUNTERS,
111  __NFTA_CHAIN_MAX
112};
113/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
114#define NFTA_CHAIN_MAX (__NFTA_CHAIN_MAX - 1)
115enum nft_rule_attributes {
116  NFTA_RULE_UNSPEC,
117  NFTA_RULE_TABLE,
118/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
119  NFTA_RULE_CHAIN,
120  NFTA_RULE_HANDLE,
121  NFTA_RULE_EXPRESSIONS,
122  NFTA_RULE_COMPAT,
123/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
124  NFTA_RULE_POSITION,
125  NFTA_RULE_USERDATA,
126  __NFTA_RULE_MAX
127};
128/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
129#define NFTA_RULE_MAX (__NFTA_RULE_MAX - 1)
130enum nft_rule_compat_flags {
131  NFT_RULE_COMPAT_F_INV = (1 << 1),
132  NFT_RULE_COMPAT_F_MASK = NFT_RULE_COMPAT_F_INV,
133/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
134};
135enum nft_rule_compat_attributes {
136  NFTA_RULE_COMPAT_UNSPEC,
137  NFTA_RULE_COMPAT_PROTO,
138/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
139  NFTA_RULE_COMPAT_FLAGS,
140  __NFTA_RULE_COMPAT_MAX
141};
142#define NFTA_RULE_COMPAT_MAX (__NFTA_RULE_COMPAT_MAX - 1)
143/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
144enum nft_set_flags {
145  NFT_SET_ANONYMOUS = 0x1,
146  NFT_SET_CONSTANT = 0x2,
147  NFT_SET_INTERVAL = 0x4,
148/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
149  NFT_SET_MAP = 0x8,
150};
151enum nft_set_policies {
152  NFT_SET_POL_PERFORMANCE,
153/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
154  NFT_SET_POL_MEMORY,
155};
156enum nft_set_desc_attributes {
157  NFTA_SET_DESC_UNSPEC,
158/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
159  NFTA_SET_DESC_SIZE,
160  __NFTA_SET_DESC_MAX
161};
162#define NFTA_SET_DESC_MAX (__NFTA_SET_DESC_MAX - 1)
163/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
164enum nft_set_attributes {
165  NFTA_SET_UNSPEC,
166  NFTA_SET_TABLE,
167  NFTA_SET_NAME,
168/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
169  NFTA_SET_FLAGS,
170  NFTA_SET_KEY_TYPE,
171  NFTA_SET_KEY_LEN,
172  NFTA_SET_DATA_TYPE,
173/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
174  NFTA_SET_DATA_LEN,
175  NFTA_SET_POLICY,
176  NFTA_SET_DESC,
177  NFTA_SET_ID,
178/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
179  __NFTA_SET_MAX
180};
181#define NFTA_SET_MAX (__NFTA_SET_MAX - 1)
182enum nft_set_elem_flags {
183/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
184  NFT_SET_ELEM_INTERVAL_END = 0x1,
185};
186enum nft_set_elem_attributes {
187  NFTA_SET_ELEM_UNSPEC,
188/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
189  NFTA_SET_ELEM_KEY,
190  NFTA_SET_ELEM_DATA,
191  NFTA_SET_ELEM_FLAGS,
192  __NFTA_SET_ELEM_MAX
193/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
194};
195#define NFTA_SET_ELEM_MAX (__NFTA_SET_ELEM_MAX - 1)
196enum nft_set_elem_list_attributes {
197  NFTA_SET_ELEM_LIST_UNSPEC,
198/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
199  NFTA_SET_ELEM_LIST_TABLE,
200  NFTA_SET_ELEM_LIST_SET,
201  NFTA_SET_ELEM_LIST_ELEMENTS,
202  NFTA_SET_ELEM_LIST_SET_ID,
203/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
204  __NFTA_SET_ELEM_LIST_MAX
205};
206#define NFTA_SET_ELEM_LIST_MAX (__NFTA_SET_ELEM_LIST_MAX - 1)
207enum nft_data_types {
208/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
209  NFT_DATA_VALUE,
210  NFT_DATA_VERDICT = 0xffffff00U,
211};
212#define NFT_DATA_RESERVED_MASK 0xffffff00U
213/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
214enum nft_data_attributes {
215  NFTA_DATA_UNSPEC,
216  NFTA_DATA_VALUE,
217  NFTA_DATA_VERDICT,
218/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
219  __NFTA_DATA_MAX
220};
221#define NFTA_DATA_MAX (__NFTA_DATA_MAX - 1)
222enum nft_verdict_attributes {
223/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
224  NFTA_VERDICT_UNSPEC,
225  NFTA_VERDICT_CODE,
226  NFTA_VERDICT_CHAIN,
227  __NFTA_VERDICT_MAX
228/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
229};
230#define NFTA_VERDICT_MAX (__NFTA_VERDICT_MAX - 1)
231enum nft_expr_attributes {
232  NFTA_EXPR_UNSPEC,
233/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
234  NFTA_EXPR_NAME,
235  NFTA_EXPR_DATA,
236  __NFTA_EXPR_MAX
237};
238/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
239#define NFTA_EXPR_MAX (__NFTA_EXPR_MAX - 1)
240enum nft_immediate_attributes {
241  NFTA_IMMEDIATE_UNSPEC,
242  NFTA_IMMEDIATE_DREG,
243/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
244  NFTA_IMMEDIATE_DATA,
245  __NFTA_IMMEDIATE_MAX
246};
247#define NFTA_IMMEDIATE_MAX (__NFTA_IMMEDIATE_MAX - 1)
248/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
249enum nft_bitwise_attributes {
250  NFTA_BITWISE_UNSPEC,
251  NFTA_BITWISE_SREG,
252  NFTA_BITWISE_DREG,
253/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
254  NFTA_BITWISE_LEN,
255  NFTA_BITWISE_MASK,
256  NFTA_BITWISE_XOR,
257  __NFTA_BITWISE_MAX
258/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
259};
260#define NFTA_BITWISE_MAX (__NFTA_BITWISE_MAX - 1)
261enum nft_byteorder_ops {
262  NFT_BYTEORDER_NTOH,
263/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
264  NFT_BYTEORDER_HTON,
265};
266enum nft_byteorder_attributes {
267  NFTA_BYTEORDER_UNSPEC,
268/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
269  NFTA_BYTEORDER_SREG,
270  NFTA_BYTEORDER_DREG,
271  NFTA_BYTEORDER_OP,
272  NFTA_BYTEORDER_LEN,
273/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
274  NFTA_BYTEORDER_SIZE,
275  __NFTA_BYTEORDER_MAX
276};
277#define NFTA_BYTEORDER_MAX (__NFTA_BYTEORDER_MAX - 1)
278/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
279enum nft_cmp_ops {
280  NFT_CMP_EQ,
281  NFT_CMP_NEQ,
282  NFT_CMP_LT,
283/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
284  NFT_CMP_LTE,
285  NFT_CMP_GT,
286  NFT_CMP_GTE,
287};
288/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
289enum nft_cmp_attributes {
290  NFTA_CMP_UNSPEC,
291  NFTA_CMP_SREG,
292  NFTA_CMP_OP,
293/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
294  NFTA_CMP_DATA,
295  __NFTA_CMP_MAX
296};
297#define NFTA_CMP_MAX (__NFTA_CMP_MAX - 1)
298/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
299enum nft_lookup_attributes {
300  NFTA_LOOKUP_UNSPEC,
301  NFTA_LOOKUP_SET,
302  NFTA_LOOKUP_SREG,
303/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
304  NFTA_LOOKUP_DREG,
305  NFTA_LOOKUP_SET_ID,
306  __NFTA_LOOKUP_MAX
307};
308/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
309#define NFTA_LOOKUP_MAX (__NFTA_LOOKUP_MAX - 1)
310enum nft_payload_bases {
311  NFT_PAYLOAD_LL_HEADER,
312  NFT_PAYLOAD_NETWORK_HEADER,
313/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
314  NFT_PAYLOAD_TRANSPORT_HEADER,
315};
316enum nft_payload_attributes {
317  NFTA_PAYLOAD_UNSPEC,
318/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
319  NFTA_PAYLOAD_DREG,
320  NFTA_PAYLOAD_BASE,
321  NFTA_PAYLOAD_OFFSET,
322  NFTA_PAYLOAD_LEN,
323/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
324  __NFTA_PAYLOAD_MAX
325};
326#define NFTA_PAYLOAD_MAX (__NFTA_PAYLOAD_MAX - 1)
327enum nft_exthdr_attributes {
328/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
329  NFTA_EXTHDR_UNSPEC,
330  NFTA_EXTHDR_DREG,
331  NFTA_EXTHDR_TYPE,
332  NFTA_EXTHDR_OFFSET,
333/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
334  NFTA_EXTHDR_LEN,
335  __NFTA_EXTHDR_MAX
336};
337#define NFTA_EXTHDR_MAX (__NFTA_EXTHDR_MAX - 1)
338/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
339enum nft_meta_keys {
340  NFT_META_LEN,
341  NFT_META_PROTOCOL,
342  NFT_META_PRIORITY,
343/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
344  NFT_META_MARK,
345  NFT_META_IIF,
346  NFT_META_OIF,
347  NFT_META_IIFNAME,
348/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
349  NFT_META_OIFNAME,
350  NFT_META_IIFTYPE,
351  NFT_META_OIFTYPE,
352  NFT_META_SKUID,
353/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
354  NFT_META_SKGID,
355  NFT_META_NFTRACE,
356  NFT_META_RTCLASSID,
357  NFT_META_SECMARK,
358/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
359  NFT_META_NFPROTO,
360  NFT_META_L4PROTO,
361  NFT_META_BRI_IIFNAME,
362  NFT_META_BRI_OIFNAME,
363/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
364  NFT_META_PKTTYPE,
365  NFT_META_CPU,
366  NFT_META_IIFGROUP,
367  NFT_META_OIFGROUP,
368/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
369};
370enum nft_meta_attributes {
371  NFTA_META_UNSPEC,
372  NFTA_META_DREG,
373/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
374  NFTA_META_KEY,
375  NFTA_META_SREG,
376  __NFTA_META_MAX
377};
378/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
379#define NFTA_META_MAX (__NFTA_META_MAX - 1)
380enum nft_ct_keys {
381  NFT_CT_STATE,
382  NFT_CT_DIRECTION,
383/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
384  NFT_CT_STATUS,
385  NFT_CT_MARK,
386  NFT_CT_SECMARK,
387  NFT_CT_EXPIRATION,
388/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
389  NFT_CT_HELPER,
390  NFT_CT_L3PROTOCOL,
391  NFT_CT_SRC,
392  NFT_CT_DST,
393/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
394  NFT_CT_PROTOCOL,
395  NFT_CT_PROTO_SRC,
396  NFT_CT_PROTO_DST,
397  NFT_CT_LABELS,
398/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
399};
400enum nft_ct_attributes {
401  NFTA_CT_UNSPEC,
402  NFTA_CT_DREG,
403/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
404  NFTA_CT_KEY,
405  NFTA_CT_DIRECTION,
406  NFTA_CT_SREG,
407  __NFTA_CT_MAX
408/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
409};
410#define NFTA_CT_MAX (__NFTA_CT_MAX - 1)
411enum nft_limit_attributes {
412  NFTA_LIMIT_UNSPEC,
413/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
414  NFTA_LIMIT_RATE,
415  NFTA_LIMIT_UNIT,
416  __NFTA_LIMIT_MAX
417};
418/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
419#define NFTA_LIMIT_MAX (__NFTA_LIMIT_MAX - 1)
420enum nft_counter_attributes {
421  NFTA_COUNTER_UNSPEC,
422  NFTA_COUNTER_BYTES,
423/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
424  NFTA_COUNTER_PACKETS,
425  __NFTA_COUNTER_MAX
426};
427#define NFTA_COUNTER_MAX (__NFTA_COUNTER_MAX - 1)
428/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
429enum nft_log_attributes {
430  NFTA_LOG_UNSPEC,
431  NFTA_LOG_GROUP,
432  NFTA_LOG_PREFIX,
433/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
434  NFTA_LOG_SNAPLEN,
435  NFTA_LOG_QTHRESHOLD,
436  NFTA_LOG_LEVEL,
437  NFTA_LOG_FLAGS,
438/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
439  __NFTA_LOG_MAX
440};
441#define NFTA_LOG_MAX (__NFTA_LOG_MAX - 1)
442enum nft_queue_attributes {
443/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
444  NFTA_QUEUE_UNSPEC,
445  NFTA_QUEUE_NUM,
446  NFTA_QUEUE_TOTAL,
447  NFTA_QUEUE_FLAGS,
448/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
449  __NFTA_QUEUE_MAX
450};
451#define NFTA_QUEUE_MAX (__NFTA_QUEUE_MAX - 1)
452#define NFT_QUEUE_FLAG_BYPASS 0x01
453/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
454#define NFT_QUEUE_FLAG_CPU_FANOUT 0x02
455#define NFT_QUEUE_FLAG_MASK 0x03
456enum nft_reject_types {
457  NFT_REJECT_ICMP_UNREACH,
458/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
459  NFT_REJECT_TCP_RST,
460  NFT_REJECT_ICMPX_UNREACH,
461};
462enum nft_reject_inet_code {
463/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
464  NFT_REJECT_ICMPX_NO_ROUTE = 0,
465  NFT_REJECT_ICMPX_PORT_UNREACH,
466  NFT_REJECT_ICMPX_HOST_UNREACH,
467  NFT_REJECT_ICMPX_ADMIN_PROHIBITED,
468/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
469  __NFT_REJECT_ICMPX_MAX
470};
471#define NFT_REJECT_ICMPX_MAX (__NFT_REJECT_ICMPX_MAX - 1)
472enum nft_reject_attributes {
473/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
474  NFTA_REJECT_UNSPEC,
475  NFTA_REJECT_TYPE,
476  NFTA_REJECT_ICMP_CODE,
477  __NFTA_REJECT_MAX
478/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
479};
480#define NFTA_REJECT_MAX (__NFTA_REJECT_MAX - 1)
481enum nft_nat_types {
482  NFT_NAT_SNAT,
483/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
484  NFT_NAT_DNAT,
485};
486enum nft_nat_attributes {
487  NFTA_NAT_UNSPEC,
488/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
489  NFTA_NAT_TYPE,
490  NFTA_NAT_FAMILY,
491  NFTA_NAT_REG_ADDR_MIN,
492  NFTA_NAT_REG_ADDR_MAX,
493/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
494  NFTA_NAT_REG_PROTO_MIN,
495  NFTA_NAT_REG_PROTO_MAX,
496  NFTA_NAT_FLAGS,
497  __NFTA_NAT_MAX
498/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
499};
500#define NFTA_NAT_MAX (__NFTA_NAT_MAX - 1)
501enum nft_masq_attributes {
502  NFTA_MASQ_UNSPEC,
503/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
504  NFTA_MASQ_FLAGS,
505  __NFTA_MASQ_MAX
506};
507#define NFTA_MASQ_MAX (__NFTA_MASQ_MAX - 1)
508/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
509enum nft_gen_attributes {
510  NFTA_GEN_UNSPEC,
511  NFTA_GEN_ID,
512  __NFTA_GEN_MAX
513/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
514};
515#define NFTA_GEN_MAX (__NFTA_GEN_MAX - 1)
516#endif
517