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_TABLE_MAXNAMELEN 32 22#define NFT_CHAIN_MAXNAMELEN 32 23/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 24#define NFT_SET_MAXNAMELEN 32 25#define NFT_OBJ_MAXNAMELEN 32 26#define NFT_USERDATA_MAXLEN 256 27enum nft_registers { 28/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 29 NFT_REG_VERDICT, 30 NFT_REG_1, 31 NFT_REG_2, 32 NFT_REG_3, 33/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 34 NFT_REG_4, 35 __NFT_REG_MAX, 36 NFT_REG32_00 = 8, 37 NFT_REG32_01, 38/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 39 NFT_REG32_02, 40 NFT_REG32_03, 41 NFT_REG32_04, 42 NFT_REG32_05, 43/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 44 NFT_REG32_06, 45 NFT_REG32_07, 46 NFT_REG32_08, 47 NFT_REG32_09, 48/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 49 NFT_REG32_10, 50 NFT_REG32_11, 51 NFT_REG32_12, 52 NFT_REG32_13, 53/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 54 NFT_REG32_14, 55 NFT_REG32_15, 56}; 57#define NFT_REG_MAX (__NFT_REG_MAX - 1) 58/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 59#define NFT_REG_SIZE 16 60#define NFT_REG32_SIZE 4 61enum nft_verdicts { 62 NFT_CONTINUE = - 1, 63/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 64 NFT_BREAK = - 2, 65 NFT_JUMP = - 3, 66 NFT_GOTO = - 4, 67 NFT_RETURN = - 5, 68/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 69}; 70enum nf_tables_msg_types { 71 NFT_MSG_NEWTABLE, 72 NFT_MSG_GETTABLE, 73/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 74 NFT_MSG_DELTABLE, 75 NFT_MSG_NEWCHAIN, 76 NFT_MSG_GETCHAIN, 77 NFT_MSG_DELCHAIN, 78/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 79 NFT_MSG_NEWRULE, 80 NFT_MSG_GETRULE, 81 NFT_MSG_DELRULE, 82 NFT_MSG_NEWSET, 83/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 84 NFT_MSG_GETSET, 85 NFT_MSG_DELSET, 86 NFT_MSG_NEWSETELEM, 87 NFT_MSG_GETSETELEM, 88/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 89 NFT_MSG_DELSETELEM, 90 NFT_MSG_NEWGEN, 91 NFT_MSG_GETGEN, 92 NFT_MSG_TRACE, 93/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 94 NFT_MSG_NEWOBJ, 95 NFT_MSG_GETOBJ, 96 NFT_MSG_DELOBJ, 97 NFT_MSG_GETOBJ_RESET, 98/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 99 NFT_MSG_MAX, 100}; 101enum nft_list_attributes { 102 NFTA_LIST_UNPEC, 103/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 104 NFTA_LIST_ELEM, 105 __NFTA_LIST_MAX 106}; 107#define NFTA_LIST_MAX (__NFTA_LIST_MAX - 1) 108/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 109enum nft_hook_attributes { 110 NFTA_HOOK_UNSPEC, 111 NFTA_HOOK_HOOKNUM, 112 NFTA_HOOK_PRIORITY, 113/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 114 NFTA_HOOK_DEV, 115 __NFTA_HOOK_MAX 116}; 117#define NFTA_HOOK_MAX (__NFTA_HOOK_MAX - 1) 118/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 119enum nft_table_flags { 120 NFT_TABLE_F_DORMANT = 0x1, 121}; 122enum nft_table_attributes { 123/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 124 NFTA_TABLE_UNSPEC, 125 NFTA_TABLE_NAME, 126 NFTA_TABLE_FLAGS, 127 NFTA_TABLE_USE, 128/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 129 __NFTA_TABLE_MAX 130}; 131#define NFTA_TABLE_MAX (__NFTA_TABLE_MAX - 1) 132enum nft_chain_attributes { 133/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 134 NFTA_CHAIN_UNSPEC, 135 NFTA_CHAIN_TABLE, 136 NFTA_CHAIN_HANDLE, 137 NFTA_CHAIN_NAME, 138/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 139 NFTA_CHAIN_HOOK, 140 NFTA_CHAIN_POLICY, 141 NFTA_CHAIN_USE, 142 NFTA_CHAIN_TYPE, 143/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 144 NFTA_CHAIN_COUNTERS, 145 NFTA_CHAIN_PAD, 146 __NFTA_CHAIN_MAX 147}; 148/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 149#define NFTA_CHAIN_MAX (__NFTA_CHAIN_MAX - 1) 150enum nft_rule_attributes { 151 NFTA_RULE_UNSPEC, 152 NFTA_RULE_TABLE, 153/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 154 NFTA_RULE_CHAIN, 155 NFTA_RULE_HANDLE, 156 NFTA_RULE_EXPRESSIONS, 157 NFTA_RULE_COMPAT, 158/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 159 NFTA_RULE_POSITION, 160 NFTA_RULE_USERDATA, 161 NFTA_RULE_PAD, 162 __NFTA_RULE_MAX 163/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 164}; 165#define NFTA_RULE_MAX (__NFTA_RULE_MAX - 1) 166enum nft_rule_compat_flags { 167 NFT_RULE_COMPAT_F_INV = (1 << 1), 168/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 169 NFT_RULE_COMPAT_F_MASK = NFT_RULE_COMPAT_F_INV, 170}; 171enum nft_rule_compat_attributes { 172 NFTA_RULE_COMPAT_UNSPEC, 173/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 174 NFTA_RULE_COMPAT_PROTO, 175 NFTA_RULE_COMPAT_FLAGS, 176 __NFTA_RULE_COMPAT_MAX 177}; 178/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 179#define NFTA_RULE_COMPAT_MAX (__NFTA_RULE_COMPAT_MAX - 1) 180enum nft_set_flags { 181 NFT_SET_ANONYMOUS = 0x1, 182 NFT_SET_CONSTANT = 0x2, 183/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 184 NFT_SET_INTERVAL = 0x4, 185 NFT_SET_MAP = 0x8, 186 NFT_SET_TIMEOUT = 0x10, 187 NFT_SET_EVAL = 0x20, 188/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 189 NFT_SET_OBJECT = 0x40, 190}; 191enum nft_set_policies { 192 NFT_SET_POL_PERFORMANCE, 193/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 194 NFT_SET_POL_MEMORY, 195}; 196enum nft_set_desc_attributes { 197 NFTA_SET_DESC_UNSPEC, 198/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 199 NFTA_SET_DESC_SIZE, 200 __NFTA_SET_DESC_MAX 201}; 202#define NFTA_SET_DESC_MAX (__NFTA_SET_DESC_MAX - 1) 203/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 204enum nft_set_attributes { 205 NFTA_SET_UNSPEC, 206 NFTA_SET_TABLE, 207 NFTA_SET_NAME, 208/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 209 NFTA_SET_FLAGS, 210 NFTA_SET_KEY_TYPE, 211 NFTA_SET_KEY_LEN, 212 NFTA_SET_DATA_TYPE, 213/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 214 NFTA_SET_DATA_LEN, 215 NFTA_SET_POLICY, 216 NFTA_SET_DESC, 217 NFTA_SET_ID, 218/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 219 NFTA_SET_TIMEOUT, 220 NFTA_SET_GC_INTERVAL, 221 NFTA_SET_USERDATA, 222 NFTA_SET_PAD, 223/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 224 NFTA_SET_OBJ_TYPE, 225 __NFTA_SET_MAX 226}; 227#define NFTA_SET_MAX (__NFTA_SET_MAX - 1) 228/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 229enum nft_set_elem_flags { 230 NFT_SET_ELEM_INTERVAL_END = 0x1, 231}; 232enum nft_set_elem_attributes { 233/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 234 NFTA_SET_ELEM_UNSPEC, 235 NFTA_SET_ELEM_KEY, 236 NFTA_SET_ELEM_DATA, 237 NFTA_SET_ELEM_FLAGS, 238/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 239 NFTA_SET_ELEM_TIMEOUT, 240 NFTA_SET_ELEM_EXPIRATION, 241 NFTA_SET_ELEM_USERDATA, 242 NFTA_SET_ELEM_EXPR, 243/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 244 NFTA_SET_ELEM_PAD, 245 NFTA_SET_ELEM_OBJREF, 246 __NFTA_SET_ELEM_MAX 247}; 248/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 249#define NFTA_SET_ELEM_MAX (__NFTA_SET_ELEM_MAX - 1) 250enum nft_set_elem_list_attributes { 251 NFTA_SET_ELEM_LIST_UNSPEC, 252 NFTA_SET_ELEM_LIST_TABLE, 253/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 254 NFTA_SET_ELEM_LIST_SET, 255 NFTA_SET_ELEM_LIST_ELEMENTS, 256 NFTA_SET_ELEM_LIST_SET_ID, 257 __NFTA_SET_ELEM_LIST_MAX 258/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 259}; 260#define NFTA_SET_ELEM_LIST_MAX (__NFTA_SET_ELEM_LIST_MAX - 1) 261enum nft_data_types { 262 NFT_DATA_VALUE, 263/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 264 NFT_DATA_VERDICT = 0xffffff00U, 265}; 266#define NFT_DATA_RESERVED_MASK 0xffffff00U 267enum nft_data_attributes { 268/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 269 NFTA_DATA_UNSPEC, 270 NFTA_DATA_VALUE, 271 NFTA_DATA_VERDICT, 272 __NFTA_DATA_MAX 273/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 274}; 275#define NFTA_DATA_MAX (__NFTA_DATA_MAX - 1) 276#define NFT_DATA_VALUE_MAXLEN 64 277enum nft_verdict_attributes { 278/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 279 NFTA_VERDICT_UNSPEC, 280 NFTA_VERDICT_CODE, 281 NFTA_VERDICT_CHAIN, 282 __NFTA_VERDICT_MAX 283/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 284}; 285#define NFTA_VERDICT_MAX (__NFTA_VERDICT_MAX - 1) 286enum nft_expr_attributes { 287 NFTA_EXPR_UNSPEC, 288/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 289 NFTA_EXPR_NAME, 290 NFTA_EXPR_DATA, 291 __NFTA_EXPR_MAX 292}; 293/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 294#define NFTA_EXPR_MAX (__NFTA_EXPR_MAX - 1) 295enum nft_immediate_attributes { 296 NFTA_IMMEDIATE_UNSPEC, 297 NFTA_IMMEDIATE_DREG, 298/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 299 NFTA_IMMEDIATE_DATA, 300 __NFTA_IMMEDIATE_MAX 301}; 302#define NFTA_IMMEDIATE_MAX (__NFTA_IMMEDIATE_MAX - 1) 303/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 304enum nft_bitwise_attributes { 305 NFTA_BITWISE_UNSPEC, 306 NFTA_BITWISE_SREG, 307 NFTA_BITWISE_DREG, 308/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 309 NFTA_BITWISE_LEN, 310 NFTA_BITWISE_MASK, 311 NFTA_BITWISE_XOR, 312 __NFTA_BITWISE_MAX 313/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 314}; 315#define NFTA_BITWISE_MAX (__NFTA_BITWISE_MAX - 1) 316enum nft_byteorder_ops { 317 NFT_BYTEORDER_NTOH, 318/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 319 NFT_BYTEORDER_HTON, 320}; 321enum nft_byteorder_attributes { 322 NFTA_BYTEORDER_UNSPEC, 323/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 324 NFTA_BYTEORDER_SREG, 325 NFTA_BYTEORDER_DREG, 326 NFTA_BYTEORDER_OP, 327 NFTA_BYTEORDER_LEN, 328/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 329 NFTA_BYTEORDER_SIZE, 330 __NFTA_BYTEORDER_MAX 331}; 332#define NFTA_BYTEORDER_MAX (__NFTA_BYTEORDER_MAX - 1) 333/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 334enum nft_cmp_ops { 335 NFT_CMP_EQ, 336 NFT_CMP_NEQ, 337 NFT_CMP_LT, 338/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 339 NFT_CMP_LTE, 340 NFT_CMP_GT, 341 NFT_CMP_GTE, 342}; 343/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 344enum nft_cmp_attributes { 345 NFTA_CMP_UNSPEC, 346 NFTA_CMP_SREG, 347 NFTA_CMP_OP, 348/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 349 NFTA_CMP_DATA, 350 __NFTA_CMP_MAX 351}; 352#define NFTA_CMP_MAX (__NFTA_CMP_MAX - 1) 353/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 354enum nft_range_ops { 355 NFT_RANGE_EQ, 356 NFT_RANGE_NEQ, 357}; 358/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 359enum nft_range_attributes { 360 NFTA_RANGE_UNSPEC, 361 NFTA_RANGE_SREG, 362 NFTA_RANGE_OP, 363/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 364 NFTA_RANGE_FROM_DATA, 365 NFTA_RANGE_TO_DATA, 366 __NFTA_RANGE_MAX 367}; 368/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 369#define NFTA_RANGE_MAX (__NFTA_RANGE_MAX - 1) 370enum nft_lookup_flags { 371 NFT_LOOKUP_F_INV = (1 << 0), 372}; 373/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 374enum nft_lookup_attributes { 375 NFTA_LOOKUP_UNSPEC, 376 NFTA_LOOKUP_SET, 377 NFTA_LOOKUP_SREG, 378/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 379 NFTA_LOOKUP_DREG, 380 NFTA_LOOKUP_SET_ID, 381 NFTA_LOOKUP_FLAGS, 382 __NFTA_LOOKUP_MAX 383/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 384}; 385#define NFTA_LOOKUP_MAX (__NFTA_LOOKUP_MAX - 1) 386enum nft_dynset_ops { 387 NFT_DYNSET_OP_ADD, 388/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 389 NFT_DYNSET_OP_UPDATE, 390}; 391enum nft_dynset_flags { 392 NFT_DYNSET_F_INV = (1 << 0), 393/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 394}; 395enum nft_dynset_attributes { 396 NFTA_DYNSET_UNSPEC, 397 NFTA_DYNSET_SET_NAME, 398/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 399 NFTA_DYNSET_SET_ID, 400 NFTA_DYNSET_OP, 401 NFTA_DYNSET_SREG_KEY, 402 NFTA_DYNSET_SREG_DATA, 403/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 404 NFTA_DYNSET_TIMEOUT, 405 NFTA_DYNSET_EXPR, 406 NFTA_DYNSET_PAD, 407 NFTA_DYNSET_FLAGS, 408/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 409 __NFTA_DYNSET_MAX, 410}; 411#define NFTA_DYNSET_MAX (__NFTA_DYNSET_MAX - 1) 412enum nft_payload_bases { 413/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 414 NFT_PAYLOAD_LL_HEADER, 415 NFT_PAYLOAD_NETWORK_HEADER, 416 NFT_PAYLOAD_TRANSPORT_HEADER, 417}; 418/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 419enum nft_payload_csum_types { 420 NFT_PAYLOAD_CSUM_NONE, 421 NFT_PAYLOAD_CSUM_INET, 422}; 423/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 424enum nft_payload_csum_flags { 425 NFT_PAYLOAD_L4CSUM_PSEUDOHDR = (1 << 0), 426}; 427enum nft_payload_attributes { 428/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 429 NFTA_PAYLOAD_UNSPEC, 430 NFTA_PAYLOAD_DREG, 431 NFTA_PAYLOAD_BASE, 432 NFTA_PAYLOAD_OFFSET, 433/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 434 NFTA_PAYLOAD_LEN, 435 NFTA_PAYLOAD_SREG, 436 NFTA_PAYLOAD_CSUM_TYPE, 437 NFTA_PAYLOAD_CSUM_OFFSET, 438/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 439 NFTA_PAYLOAD_CSUM_FLAGS, 440 __NFTA_PAYLOAD_MAX 441}; 442#define NFTA_PAYLOAD_MAX (__NFTA_PAYLOAD_MAX - 1) 443/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 444enum nft_exthdr_attributes { 445 NFTA_EXTHDR_UNSPEC, 446 NFTA_EXTHDR_DREG, 447 NFTA_EXTHDR_TYPE, 448/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 449 NFTA_EXTHDR_OFFSET, 450 NFTA_EXTHDR_LEN, 451 __NFTA_EXTHDR_MAX 452}; 453/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 454#define NFTA_EXTHDR_MAX (__NFTA_EXTHDR_MAX - 1) 455enum nft_meta_keys { 456 NFT_META_LEN, 457 NFT_META_PROTOCOL, 458/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 459 NFT_META_PRIORITY, 460 NFT_META_MARK, 461 NFT_META_IIF, 462 NFT_META_OIF, 463/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 464 NFT_META_IIFNAME, 465 NFT_META_OIFNAME, 466 NFT_META_IIFTYPE, 467 NFT_META_OIFTYPE, 468/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 469 NFT_META_SKUID, 470 NFT_META_SKGID, 471 NFT_META_NFTRACE, 472 NFT_META_RTCLASSID, 473/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 474 NFT_META_SECMARK, 475 NFT_META_NFPROTO, 476 NFT_META_L4PROTO, 477 NFT_META_BRI_IIFNAME, 478/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 479 NFT_META_BRI_OIFNAME, 480 NFT_META_PKTTYPE, 481 NFT_META_CPU, 482 NFT_META_IIFGROUP, 483/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 484 NFT_META_OIFGROUP, 485 NFT_META_CGROUP, 486 NFT_META_PRANDOM, 487}; 488/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 489enum nft_rt_keys { 490 NFT_RT_CLASSID, 491 NFT_RT_NEXTHOP4, 492 NFT_RT_NEXTHOP6, 493/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 494}; 495enum nft_hash_attributes { 496 NFTA_HASH_UNSPEC, 497 NFTA_HASH_SREG, 498/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 499 NFTA_HASH_DREG, 500 NFTA_HASH_LEN, 501 NFTA_HASH_MODULUS, 502 NFTA_HASH_SEED, 503/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 504 NFTA_HASH_OFFSET, 505 __NFTA_HASH_MAX, 506}; 507#define NFTA_HASH_MAX (__NFTA_HASH_MAX - 1) 508/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 509enum nft_meta_attributes { 510 NFTA_META_UNSPEC, 511 NFTA_META_DREG, 512 NFTA_META_KEY, 513/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 514 NFTA_META_SREG, 515 __NFTA_META_MAX 516}; 517#define NFTA_META_MAX (__NFTA_META_MAX - 1) 518/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 519enum nft_rt_attributes { 520 NFTA_RT_UNSPEC, 521 NFTA_RT_DREG, 522 NFTA_RT_KEY, 523/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 524 __NFTA_RT_MAX 525}; 526#define NFTA_RT_MAX (__NFTA_RT_MAX - 1) 527enum nft_ct_keys { 528/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 529 NFT_CT_STATE, 530 NFT_CT_DIRECTION, 531 NFT_CT_STATUS, 532 NFT_CT_MARK, 533/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 534 NFT_CT_SECMARK, 535 NFT_CT_EXPIRATION, 536 NFT_CT_HELPER, 537 NFT_CT_L3PROTOCOL, 538/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 539 NFT_CT_SRC, 540 NFT_CT_DST, 541 NFT_CT_PROTOCOL, 542 NFT_CT_PROTO_SRC, 543/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 544 NFT_CT_PROTO_DST, 545 NFT_CT_LABELS, 546 NFT_CT_PKTS, 547 NFT_CT_BYTES, 548/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 549}; 550enum nft_ct_attributes { 551 NFTA_CT_UNSPEC, 552 NFTA_CT_DREG, 553/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 554 NFTA_CT_KEY, 555 NFTA_CT_DIRECTION, 556 NFTA_CT_SREG, 557 __NFTA_CT_MAX 558/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 559}; 560#define NFTA_CT_MAX (__NFTA_CT_MAX - 1) 561enum nft_limit_type { 562 NFT_LIMIT_PKTS, 563/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 564 NFT_LIMIT_PKT_BYTES 565}; 566enum nft_limit_flags { 567 NFT_LIMIT_F_INV = (1 << 0), 568/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 569}; 570enum nft_limit_attributes { 571 NFTA_LIMIT_UNSPEC, 572 NFTA_LIMIT_RATE, 573/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 574 NFTA_LIMIT_UNIT, 575 NFTA_LIMIT_BURST, 576 NFTA_LIMIT_TYPE, 577 NFTA_LIMIT_FLAGS, 578/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 579 NFTA_LIMIT_PAD, 580 __NFTA_LIMIT_MAX 581}; 582#define NFTA_LIMIT_MAX (__NFTA_LIMIT_MAX - 1) 583/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 584enum nft_counter_attributes { 585 NFTA_COUNTER_UNSPEC, 586 NFTA_COUNTER_BYTES, 587 NFTA_COUNTER_PACKETS, 588/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 589 NFTA_COUNTER_PAD, 590 __NFTA_COUNTER_MAX 591}; 592#define NFTA_COUNTER_MAX (__NFTA_COUNTER_MAX - 1) 593/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 594enum nft_log_attributes { 595 NFTA_LOG_UNSPEC, 596 NFTA_LOG_GROUP, 597 NFTA_LOG_PREFIX, 598/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 599 NFTA_LOG_SNAPLEN, 600 NFTA_LOG_QTHRESHOLD, 601 NFTA_LOG_LEVEL, 602 NFTA_LOG_FLAGS, 603/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 604 __NFTA_LOG_MAX 605}; 606#define NFTA_LOG_MAX (__NFTA_LOG_MAX - 1) 607enum nft_queue_attributes { 608/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 609 NFTA_QUEUE_UNSPEC, 610 NFTA_QUEUE_NUM, 611 NFTA_QUEUE_TOTAL, 612 NFTA_QUEUE_FLAGS, 613/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 614 NFTA_QUEUE_SREG_QNUM, 615 __NFTA_QUEUE_MAX 616}; 617#define NFTA_QUEUE_MAX (__NFTA_QUEUE_MAX - 1) 618/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 619#define NFT_QUEUE_FLAG_BYPASS 0x01 620#define NFT_QUEUE_FLAG_CPU_FANOUT 0x02 621#define NFT_QUEUE_FLAG_MASK 0x03 622enum nft_quota_flags { 623/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 624 NFT_QUOTA_F_INV = (1 << 0), 625 NFT_QUOTA_F_DEPLETED = (1 << 1), 626}; 627enum nft_quota_attributes { 628/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 629 NFTA_QUOTA_UNSPEC, 630 NFTA_QUOTA_BYTES, 631 NFTA_QUOTA_FLAGS, 632 NFTA_QUOTA_PAD, 633/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 634 NFTA_QUOTA_CONSUMED, 635 __NFTA_QUOTA_MAX 636}; 637#define NFTA_QUOTA_MAX (__NFTA_QUOTA_MAX - 1) 638/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 639enum nft_reject_types { 640 NFT_REJECT_ICMP_UNREACH, 641 NFT_REJECT_TCP_RST, 642 NFT_REJECT_ICMPX_UNREACH, 643/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 644}; 645enum nft_reject_inet_code { 646 NFT_REJECT_ICMPX_NO_ROUTE = 0, 647 NFT_REJECT_ICMPX_PORT_UNREACH, 648/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 649 NFT_REJECT_ICMPX_HOST_UNREACH, 650 NFT_REJECT_ICMPX_ADMIN_PROHIBITED, 651 __NFT_REJECT_ICMPX_MAX 652}; 653/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 654#define NFT_REJECT_ICMPX_MAX (__NFT_REJECT_ICMPX_MAX - 1) 655enum nft_reject_attributes { 656 NFTA_REJECT_UNSPEC, 657 NFTA_REJECT_TYPE, 658/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 659 NFTA_REJECT_ICMP_CODE, 660 __NFTA_REJECT_MAX 661}; 662#define NFTA_REJECT_MAX (__NFTA_REJECT_MAX - 1) 663/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 664enum nft_nat_types { 665 NFT_NAT_SNAT, 666 NFT_NAT_DNAT, 667}; 668/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 669enum nft_nat_attributes { 670 NFTA_NAT_UNSPEC, 671 NFTA_NAT_TYPE, 672 NFTA_NAT_FAMILY, 673/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 674 NFTA_NAT_REG_ADDR_MIN, 675 NFTA_NAT_REG_ADDR_MAX, 676 NFTA_NAT_REG_PROTO_MIN, 677 NFTA_NAT_REG_PROTO_MAX, 678/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 679 NFTA_NAT_FLAGS, 680 __NFTA_NAT_MAX 681}; 682#define NFTA_NAT_MAX (__NFTA_NAT_MAX - 1) 683/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 684enum nft_masq_attributes { 685 NFTA_MASQ_UNSPEC, 686 NFTA_MASQ_FLAGS, 687 NFTA_MASQ_REG_PROTO_MIN, 688/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 689 NFTA_MASQ_REG_PROTO_MAX, 690 __NFTA_MASQ_MAX 691}; 692#define NFTA_MASQ_MAX (__NFTA_MASQ_MAX - 1) 693/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 694enum nft_redir_attributes { 695 NFTA_REDIR_UNSPEC, 696 NFTA_REDIR_REG_PROTO_MIN, 697 NFTA_REDIR_REG_PROTO_MAX, 698/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 699 NFTA_REDIR_FLAGS, 700 __NFTA_REDIR_MAX 701}; 702#define NFTA_REDIR_MAX (__NFTA_REDIR_MAX - 1) 703/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 704enum nft_dup_attributes { 705 NFTA_DUP_UNSPEC, 706 NFTA_DUP_SREG_ADDR, 707 NFTA_DUP_SREG_DEV, 708/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 709 __NFTA_DUP_MAX 710}; 711#define NFTA_DUP_MAX (__NFTA_DUP_MAX - 1) 712enum nft_fwd_attributes { 713/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 714 NFTA_FWD_UNSPEC, 715 NFTA_FWD_SREG_DEV, 716 __NFTA_FWD_MAX 717}; 718/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 719#define NFTA_FWD_MAX (__NFTA_FWD_MAX - 1) 720enum nft_objref_attributes { 721 NFTA_OBJREF_UNSPEC, 722 NFTA_OBJREF_IMM_TYPE, 723/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 724 NFTA_OBJREF_IMM_NAME, 725 NFTA_OBJREF_SET_SREG, 726 NFTA_OBJREF_SET_NAME, 727 NFTA_OBJREF_SET_ID, 728/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 729 __NFTA_OBJREF_MAX 730}; 731#define NFTA_OBJREF_MAX (__NFTA_OBJREF_MAX - 1) 732enum nft_gen_attributes { 733/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 734 NFTA_GEN_UNSPEC, 735 NFTA_GEN_ID, 736 __NFTA_GEN_MAX 737}; 738/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 739#define NFTA_GEN_MAX (__NFTA_GEN_MAX - 1) 740enum nft_fib_attributes { 741 NFTA_FIB_UNSPEC, 742 NFTA_FIB_DREG, 743/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 744 NFTA_FIB_RESULT, 745 NFTA_FIB_FLAGS, 746 __NFTA_FIB_MAX 747}; 748/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 749#define NFTA_FIB_MAX (__NFTA_FIB_MAX - 1) 750enum nft_fib_result { 751 NFT_FIB_RESULT_UNSPEC, 752 NFT_FIB_RESULT_OIF, 753/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 754 NFT_FIB_RESULT_OIFNAME, 755 NFT_FIB_RESULT_ADDRTYPE, 756 __NFT_FIB_RESULT_MAX 757}; 758/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 759#define NFT_FIB_RESULT_MAX (__NFT_FIB_RESULT_MAX - 1) 760enum nft_fib_flags { 761 NFTA_FIB_F_SADDR = 1 << 0, 762 NFTA_FIB_F_DADDR = 1 << 1, 763/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 764 NFTA_FIB_F_MARK = 1 << 2, 765 NFTA_FIB_F_IIF = 1 << 3, 766 NFTA_FIB_F_OIF = 1 << 4, 767}; 768/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 769#define NFT_OBJECT_UNSPEC 0 770#define NFT_OBJECT_COUNTER 1 771#define NFT_OBJECT_QUOTA 2 772#define __NFT_OBJECT_MAX 3 773/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 774#define NFT_OBJECT_MAX (__NFT_OBJECT_MAX - 1) 775enum nft_object_attributes { 776 NFTA_OBJ_UNSPEC, 777 NFTA_OBJ_TABLE, 778/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 779 NFTA_OBJ_NAME, 780 NFTA_OBJ_TYPE, 781 NFTA_OBJ_DATA, 782 NFTA_OBJ_USE, 783/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 784 __NFTA_OBJ_MAX 785}; 786#define NFTA_OBJ_MAX (__NFTA_OBJ_MAX - 1) 787enum nft_trace_attributes { 788/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 789 NFTA_TRACE_UNSPEC, 790 NFTA_TRACE_TABLE, 791 NFTA_TRACE_CHAIN, 792 NFTA_TRACE_RULE_HANDLE, 793/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 794 NFTA_TRACE_TYPE, 795 NFTA_TRACE_VERDICT, 796 NFTA_TRACE_ID, 797 NFTA_TRACE_LL_HEADER, 798/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 799 NFTA_TRACE_NETWORK_HEADER, 800 NFTA_TRACE_TRANSPORT_HEADER, 801 NFTA_TRACE_IIF, 802 NFTA_TRACE_IIFTYPE, 803/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 804 NFTA_TRACE_OIF, 805 NFTA_TRACE_OIFTYPE, 806 NFTA_TRACE_MARK, 807 NFTA_TRACE_NFPROTO, 808/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 809 NFTA_TRACE_POLICY, 810 NFTA_TRACE_PAD, 811 __NFTA_TRACE_MAX 812}; 813/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 814#define NFTA_TRACE_MAX (__NFTA_TRACE_MAX - 1) 815enum nft_trace_types { 816 NFT_TRACETYPE_UNSPEC, 817 NFT_TRACETYPE_POLICY, 818/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 819 NFT_TRACETYPE_RETURN, 820 NFT_TRACETYPE_RULE, 821 __NFT_TRACETYPE_MAX 822}; 823/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 824#define NFT_TRACETYPE_MAX (__NFT_TRACETYPE_MAX - 1) 825enum nft_ng_attributes { 826 NFTA_NG_UNSPEC, 827 NFTA_NG_DREG, 828/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 829 NFTA_NG_MODULUS, 830 NFTA_NG_TYPE, 831 NFTA_NG_OFFSET, 832 __NFTA_NG_MAX 833/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 834}; 835#define NFTA_NG_MAX (__NFTA_NG_MAX - 1) 836enum nft_ng_types { 837 NFT_NG_INCREMENTAL, 838/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 839 NFT_NG_RANDOM, 840 __NFT_NG_MAX 841}; 842#define NFT_NG_MAX (__NFT_NG_MAX - 1) 843/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 844#endif 845