nf_tables.h revision 49f525c47bd383cd6a87db8f067cddb3ab620d17
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_lookup_flags { 345 NFT_LOOKUP_F_INV = (1 << 0), 346}; 347enum nft_lookup_attributes { 348/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 349 NFTA_LOOKUP_UNSPEC, 350 NFTA_LOOKUP_SET, 351 NFTA_LOOKUP_SREG, 352 NFTA_LOOKUP_DREG, 353/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 354 NFTA_LOOKUP_SET_ID, 355 NFTA_LOOKUP_FLAGS, 356 __NFTA_LOOKUP_MAX 357}; 358/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 359#define NFTA_LOOKUP_MAX (__NFTA_LOOKUP_MAX - 1) 360enum nft_dynset_ops { 361 NFT_DYNSET_OP_ADD, 362 NFT_DYNSET_OP_UPDATE, 363/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 364}; 365enum nft_dynset_attributes { 366 NFTA_DYNSET_UNSPEC, 367 NFTA_DYNSET_SET_NAME, 368/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 369 NFTA_DYNSET_SET_ID, 370 NFTA_DYNSET_OP, 371 NFTA_DYNSET_SREG_KEY, 372 NFTA_DYNSET_SREG_DATA, 373/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 374 NFTA_DYNSET_TIMEOUT, 375 NFTA_DYNSET_EXPR, 376 NFTA_DYNSET_PAD, 377 __NFTA_DYNSET_MAX, 378/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 379}; 380#define NFTA_DYNSET_MAX (__NFTA_DYNSET_MAX - 1) 381enum nft_payload_bases { 382 NFT_PAYLOAD_LL_HEADER, 383/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 384 NFT_PAYLOAD_NETWORK_HEADER, 385 NFT_PAYLOAD_TRANSPORT_HEADER, 386}; 387enum nft_payload_csum_types { 388/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 389 NFT_PAYLOAD_CSUM_NONE, 390 NFT_PAYLOAD_CSUM_INET, 391}; 392enum nft_payload_attributes { 393/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 394 NFTA_PAYLOAD_UNSPEC, 395 NFTA_PAYLOAD_DREG, 396 NFTA_PAYLOAD_BASE, 397 NFTA_PAYLOAD_OFFSET, 398/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 399 NFTA_PAYLOAD_LEN, 400 NFTA_PAYLOAD_SREG, 401 NFTA_PAYLOAD_CSUM_TYPE, 402 NFTA_PAYLOAD_CSUM_OFFSET, 403/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 404 __NFTA_PAYLOAD_MAX 405}; 406#define NFTA_PAYLOAD_MAX (__NFTA_PAYLOAD_MAX - 1) 407enum nft_exthdr_attributes { 408/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 409 NFTA_EXTHDR_UNSPEC, 410 NFTA_EXTHDR_DREG, 411 NFTA_EXTHDR_TYPE, 412 NFTA_EXTHDR_OFFSET, 413/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 414 NFTA_EXTHDR_LEN, 415 __NFTA_EXTHDR_MAX 416}; 417#define NFTA_EXTHDR_MAX (__NFTA_EXTHDR_MAX - 1) 418/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 419enum nft_meta_keys { 420 NFT_META_LEN, 421 NFT_META_PROTOCOL, 422 NFT_META_PRIORITY, 423/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 424 NFT_META_MARK, 425 NFT_META_IIF, 426 NFT_META_OIF, 427 NFT_META_IIFNAME, 428/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 429 NFT_META_OIFNAME, 430 NFT_META_IIFTYPE, 431 NFT_META_OIFTYPE, 432 NFT_META_SKUID, 433/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 434 NFT_META_SKGID, 435 NFT_META_NFTRACE, 436 NFT_META_RTCLASSID, 437 NFT_META_SECMARK, 438/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 439 NFT_META_NFPROTO, 440 NFT_META_L4PROTO, 441 NFT_META_BRI_IIFNAME, 442 NFT_META_BRI_OIFNAME, 443/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 444 NFT_META_PKTTYPE, 445 NFT_META_CPU, 446 NFT_META_IIFGROUP, 447 NFT_META_OIFGROUP, 448/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 449 NFT_META_CGROUP, 450 NFT_META_PRANDOM, 451}; 452enum nft_meta_attributes { 453/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 454 NFTA_META_UNSPEC, 455 NFTA_META_DREG, 456 NFTA_META_KEY, 457 NFTA_META_SREG, 458/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 459 __NFTA_META_MAX 460}; 461#define NFTA_META_MAX (__NFTA_META_MAX - 1) 462enum nft_ct_keys { 463/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 464 NFT_CT_STATE, 465 NFT_CT_DIRECTION, 466 NFT_CT_STATUS, 467 NFT_CT_MARK, 468/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 469 NFT_CT_SECMARK, 470 NFT_CT_EXPIRATION, 471 NFT_CT_HELPER, 472 NFT_CT_L3PROTOCOL, 473/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 474 NFT_CT_SRC, 475 NFT_CT_DST, 476 NFT_CT_PROTOCOL, 477 NFT_CT_PROTO_SRC, 478/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 479 NFT_CT_PROTO_DST, 480 NFT_CT_LABELS, 481 NFT_CT_PKTS, 482 NFT_CT_BYTES, 483/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 484}; 485enum nft_ct_attributes { 486 NFTA_CT_UNSPEC, 487 NFTA_CT_DREG, 488/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 489 NFTA_CT_KEY, 490 NFTA_CT_DIRECTION, 491 NFTA_CT_SREG, 492 __NFTA_CT_MAX 493/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 494}; 495#define NFTA_CT_MAX (__NFTA_CT_MAX - 1) 496enum nft_limit_type { 497 NFT_LIMIT_PKTS, 498/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 499 NFT_LIMIT_PKT_BYTES 500}; 501enum nft_limit_flags { 502 NFT_LIMIT_F_INV = (1 << 0), 503/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 504}; 505enum nft_limit_attributes { 506 NFTA_LIMIT_UNSPEC, 507 NFTA_LIMIT_RATE, 508/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 509 NFTA_LIMIT_UNIT, 510 NFTA_LIMIT_BURST, 511 NFTA_LIMIT_TYPE, 512 NFTA_LIMIT_FLAGS, 513/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 514 NFTA_LIMIT_PAD, 515 __NFTA_LIMIT_MAX 516}; 517#define NFTA_LIMIT_MAX (__NFTA_LIMIT_MAX - 1) 518/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 519enum nft_counter_attributes { 520 NFTA_COUNTER_UNSPEC, 521 NFTA_COUNTER_BYTES, 522 NFTA_COUNTER_PACKETS, 523/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 524 NFTA_COUNTER_PAD, 525 __NFTA_COUNTER_MAX 526}; 527#define NFTA_COUNTER_MAX (__NFTA_COUNTER_MAX - 1) 528/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 529enum nft_log_attributes { 530 NFTA_LOG_UNSPEC, 531 NFTA_LOG_GROUP, 532 NFTA_LOG_PREFIX, 533/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 534 NFTA_LOG_SNAPLEN, 535 NFTA_LOG_QTHRESHOLD, 536 NFTA_LOG_LEVEL, 537 NFTA_LOG_FLAGS, 538/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 539 __NFTA_LOG_MAX 540}; 541#define NFTA_LOG_MAX (__NFTA_LOG_MAX - 1) 542enum nft_queue_attributes { 543/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 544 NFTA_QUEUE_UNSPEC, 545 NFTA_QUEUE_NUM, 546 NFTA_QUEUE_TOTAL, 547 NFTA_QUEUE_FLAGS, 548/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 549 __NFTA_QUEUE_MAX 550}; 551#define NFTA_QUEUE_MAX (__NFTA_QUEUE_MAX - 1) 552#define NFT_QUEUE_FLAG_BYPASS 0x01 553/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 554#define NFT_QUEUE_FLAG_CPU_FANOUT 0x02 555#define NFT_QUEUE_FLAG_MASK 0x03 556enum nft_reject_types { 557 NFT_REJECT_ICMP_UNREACH, 558/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 559 NFT_REJECT_TCP_RST, 560 NFT_REJECT_ICMPX_UNREACH, 561}; 562enum nft_reject_inet_code { 563/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 564 NFT_REJECT_ICMPX_NO_ROUTE = 0, 565 NFT_REJECT_ICMPX_PORT_UNREACH, 566 NFT_REJECT_ICMPX_HOST_UNREACH, 567 NFT_REJECT_ICMPX_ADMIN_PROHIBITED, 568/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 569 __NFT_REJECT_ICMPX_MAX 570}; 571#define NFT_REJECT_ICMPX_MAX (__NFT_REJECT_ICMPX_MAX - 1) 572enum nft_reject_attributes { 573/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 574 NFTA_REJECT_UNSPEC, 575 NFTA_REJECT_TYPE, 576 NFTA_REJECT_ICMP_CODE, 577 __NFTA_REJECT_MAX 578/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 579}; 580#define NFTA_REJECT_MAX (__NFTA_REJECT_MAX - 1) 581enum nft_nat_types { 582 NFT_NAT_SNAT, 583/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 584 NFT_NAT_DNAT, 585}; 586enum nft_nat_attributes { 587 NFTA_NAT_UNSPEC, 588/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 589 NFTA_NAT_TYPE, 590 NFTA_NAT_FAMILY, 591 NFTA_NAT_REG_ADDR_MIN, 592 NFTA_NAT_REG_ADDR_MAX, 593/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 594 NFTA_NAT_REG_PROTO_MIN, 595 NFTA_NAT_REG_PROTO_MAX, 596 NFTA_NAT_FLAGS, 597 __NFTA_NAT_MAX 598/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 599}; 600#define NFTA_NAT_MAX (__NFTA_NAT_MAX - 1) 601enum nft_masq_attributes { 602 NFTA_MASQ_UNSPEC, 603/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 604 NFTA_MASQ_FLAGS, 605 NFTA_MASQ_REG_PROTO_MIN, 606 NFTA_MASQ_REG_PROTO_MAX, 607 __NFTA_MASQ_MAX 608/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 609}; 610#define NFTA_MASQ_MAX (__NFTA_MASQ_MAX - 1) 611enum nft_redir_attributes { 612 NFTA_REDIR_UNSPEC, 613/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 614 NFTA_REDIR_REG_PROTO_MIN, 615 NFTA_REDIR_REG_PROTO_MAX, 616 NFTA_REDIR_FLAGS, 617 __NFTA_REDIR_MAX 618/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 619}; 620#define NFTA_REDIR_MAX (__NFTA_REDIR_MAX - 1) 621enum nft_dup_attributes { 622 NFTA_DUP_UNSPEC, 623/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 624 NFTA_DUP_SREG_ADDR, 625 NFTA_DUP_SREG_DEV, 626 __NFTA_DUP_MAX 627}; 628/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 629#define NFTA_DUP_MAX (__NFTA_DUP_MAX - 1) 630enum nft_fwd_attributes { 631 NFTA_FWD_UNSPEC, 632 NFTA_FWD_SREG_DEV, 633/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 634 __NFTA_FWD_MAX 635}; 636#define NFTA_FWD_MAX (__NFTA_FWD_MAX - 1) 637enum nft_gen_attributes { 638/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 639 NFTA_GEN_UNSPEC, 640 NFTA_GEN_ID, 641 __NFTA_GEN_MAX 642}; 643/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 644#define NFTA_GEN_MAX (__NFTA_GEN_MAX - 1) 645enum nft_trace_attibutes { 646 NFTA_TRACE_UNSPEC, 647 NFTA_TRACE_TABLE, 648/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 649 NFTA_TRACE_CHAIN, 650 NFTA_TRACE_RULE_HANDLE, 651 NFTA_TRACE_TYPE, 652 NFTA_TRACE_VERDICT, 653/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 654 NFTA_TRACE_ID, 655 NFTA_TRACE_LL_HEADER, 656 NFTA_TRACE_NETWORK_HEADER, 657 NFTA_TRACE_TRANSPORT_HEADER, 658/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 659 NFTA_TRACE_IIF, 660 NFTA_TRACE_IIFTYPE, 661 NFTA_TRACE_OIF, 662 NFTA_TRACE_OIFTYPE, 663/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 664 NFTA_TRACE_MARK, 665 NFTA_TRACE_NFPROTO, 666 NFTA_TRACE_POLICY, 667 NFTA_TRACE_PAD, 668/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 669 __NFTA_TRACE_MAX 670}; 671#define NFTA_TRACE_MAX (__NFTA_TRACE_MAX - 1) 672enum nft_trace_types { 673/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 674 NFT_TRACETYPE_UNSPEC, 675 NFT_TRACETYPE_POLICY, 676 NFT_TRACETYPE_RETURN, 677 NFT_TRACETYPE_RULE, 678/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 679 __NFT_TRACETYPE_MAX 680}; 681#define NFT_TRACETYPE_MAX (__NFT_TRACETYPE_MAX - 1) 682#endif 683/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 684