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