diff options
author | Daniel Baumann <daniel.baumann@progress-linux.org> | 2024-04-09 13:08:37 +0000 |
---|---|---|
committer | Daniel Baumann <daniel.baumann@progress-linux.org> | 2024-04-09 13:08:37 +0000 |
commit | 971e619d8602fa52b1bfcb3ea65b7ab96be85318 (patch) | |
tree | 26feb2498c72b796e07b86349d17f544046de279 /src/parser_bison.h | |
parent | Initial commit. (diff) | |
download | nftables-971e619d8602fa52b1bfcb3ea65b7ab96be85318.tar.xz nftables-971e619d8602fa52b1bfcb3ea65b7ab96be85318.zip |
Adding upstream version 1.0.9.upstream/1.0.9upstream
Signed-off-by: Daniel Baumann <daniel.baumann@progress-linux.org>
Diffstat (limited to 'src/parser_bison.h')
-rw-r--r-- | src/parser_bison.h | 845 |
1 files changed, 845 insertions, 0 deletions
diff --git a/src/parser_bison.h b/src/parser_bison.h new file mode 100644 index 0000000..9e754a2 --- /dev/null +++ b/src/parser_bison.h @@ -0,0 +1,845 @@ +/* A Bison parser, made by GNU Bison 3.7.5. */ + +/* Bison interface for Yacc-like parsers in C + + Copyright (C) 1984, 1989-1990, 2000-2015, 2018-2021 Free Software Foundation, + Inc. + + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation, either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see <http://www.gnu.org/licenses/>. */ + +/* As a special exception, you may create a larger work that contains + part or all of the Bison parser skeleton and distribute that work + under terms of your choice, so long as that work isn't itself a + parser generator using the skeleton or a modified version thereof + as a parser skeleton. Alternatively, if you modify or redistribute + the parser skeleton itself, you may (at your option) remove this + special exception, which will cause the skeleton and the resulting + Bison output files to be licensed under the GNU General Public + License without this special exception. + + This special exception was added by the Free Software Foundation in + version 2.2 of Bison. */ + +/* DO NOT RELY ON FEATURES THAT ARE NOT DOCUMENTED in the manual, + especially those whose name start with YY_ or yy_. They are + private implementation details that can be changed or removed. */ + +#ifndef YY_NFT_PARSER_BISON_H_INCLUDED +# define YY_NFT_PARSER_BISON_H_INCLUDED +/* Debug traces. */ +#ifndef YYDEBUG +# define YYDEBUG 1 +#endif +#if YYDEBUG +extern int nft_debug; +#endif + +/* Token kinds. */ +#ifndef YYTOKENTYPE +# define YYTOKENTYPE + enum yytokentype + { + YYEMPTY = -2, + TOKEN_EOF = 0, /* "end of file" */ + YYerror = 256, /* error */ + YYUNDEF = 257, /* "invalid token" */ + JUNK = 258, /* "junk" */ + NEWLINE = 259, /* "newline" */ + COLON = 260, /* "colon" */ + SEMICOLON = 261, /* "semicolon" */ + COMMA = 262, /* "comma" */ + DOT = 263, /* "." */ + EQ = 264, /* "==" */ + NEQ = 265, /* "!=" */ + LT = 266, /* "<" */ + GT = 267, /* ">" */ + GTE = 268, /* ">=" */ + LTE = 269, /* "<=" */ + LSHIFT = 270, /* "<<" */ + RSHIFT = 271, /* ">>" */ + AMPERSAND = 272, /* "&" */ + CARET = 273, /* "^" */ + NOT = 274, /* "!" */ + SLASH = 275, /* "/" */ + ASTERISK = 276, /* "*" */ + DASH = 277, /* "-" */ + AT = 278, /* "@" */ + VMAP = 279, /* "vmap" */ + PLUS = 280, /* "+" */ + INCLUDE = 281, /* "include" */ + DEFINE = 282, /* "define" */ + REDEFINE = 283, /* "redefine" */ + UNDEFINE = 284, /* "undefine" */ + FIB = 285, /* "fib" */ + SOCKET = 286, /* "socket" */ + TRANSPARENT = 287, /* "transparent" */ + WILDCARD = 288, /* "wildcard" */ + CGROUPV2 = 289, /* "cgroupv2" */ + TPROXY = 290, /* "tproxy" */ + OSF = 291, /* "osf" */ + SYNPROXY = 292, /* "synproxy" */ + MSS = 293, /* "mss" */ + WSCALE = 294, /* "wscale" */ + TYPEOF = 295, /* "typeof" */ + HOOK = 296, /* "hook" */ + HOOKS = 297, /* "hooks" */ + DEVICE = 298, /* "device" */ + DEVICES = 299, /* "devices" */ + TABLE = 300, /* "table" */ + TABLES = 301, /* "tables" */ + CHAIN = 302, /* "chain" */ + CHAINS = 303, /* "chains" */ + RULE = 304, /* "rule" */ + RULES = 305, /* "rules" */ + SETS = 306, /* "sets" */ + SET = 307, /* "set" */ + ELEMENT = 308, /* "element" */ + MAP = 309, /* "map" */ + MAPS = 310, /* "maps" */ + FLOWTABLE = 311, /* "flowtable" */ + HANDLE = 312, /* "handle" */ + RULESET = 313, /* "ruleset" */ + TRACE = 314, /* "trace" */ + INET = 315, /* "inet" */ + NETDEV = 316, /* "netdev" */ + ADD = 317, /* "add" */ + UPDATE = 318, /* "update" */ + REPLACE = 319, /* "replace" */ + CREATE = 320, /* "create" */ + INSERT = 321, /* "insert" */ + DELETE = 322, /* "delete" */ + GET = 323, /* "get" */ + LIST = 324, /* "list" */ + RESET = 325, /* "reset" */ + FLUSH = 326, /* "flush" */ + RENAME = 327, /* "rename" */ + DESCRIBE = 328, /* "describe" */ + IMPORT = 329, /* "import" */ + EXPORT = 330, /* "export" */ + DESTROY = 331, /* "destroy" */ + MONITOR = 332, /* "monitor" */ + ALL = 333, /* "all" */ + ACCEPT = 334, /* "accept" */ + DROP = 335, /* "drop" */ + CONTINUE = 336, /* "continue" */ + JUMP = 337, /* "jump" */ + GOTO = 338, /* "goto" */ + RETURN = 339, /* "return" */ + TO = 340, /* "to" */ + CONSTANT = 341, /* "constant" */ + INTERVAL = 342, /* "interval" */ + DYNAMIC = 343, /* "dynamic" */ + AUTOMERGE = 344, /* "auto-merge" */ + TIMEOUT = 345, /* "timeout" */ + GC_INTERVAL = 346, /* "gc-interval" */ + ELEMENTS = 347, /* "elements" */ + EXPIRES = 348, /* "expires" */ + POLICY = 349, /* "policy" */ + MEMORY = 350, /* "memory" */ + PERFORMANCE = 351, /* "performance" */ + SIZE = 352, /* "size" */ + FLOW = 353, /* "flow" */ + OFFLOAD = 354, /* "offload" */ + METER = 355, /* "meter" */ + METERS = 356, /* "meters" */ + FLOWTABLES = 357, /* "flowtables" */ + NUM = 358, /* "number" */ + STRING = 359, /* "string" */ + QUOTED_STRING = 360, /* "quoted string" */ + ASTERISK_STRING = 361, /* "string with a trailing asterisk" */ + LL_HDR = 362, /* "ll" */ + NETWORK_HDR = 363, /* "nh" */ + TRANSPORT_HDR = 364, /* "th" */ + BRIDGE = 365, /* "bridge" */ + ETHER = 366, /* "ether" */ + SADDR = 367, /* "saddr" */ + DADDR = 368, /* "daddr" */ + TYPE = 369, /* "type" */ + VLAN = 370, /* "vlan" */ + ID = 371, /* "id" */ + CFI = 372, /* "cfi" */ + DEI = 373, /* "dei" */ + PCP = 374, /* "pcp" */ + ARP = 375, /* "arp" */ + HTYPE = 376, /* "htype" */ + PTYPE = 377, /* "ptype" */ + HLEN = 378, /* "hlen" */ + PLEN = 379, /* "plen" */ + OPERATION = 380, /* "operation" */ + IP = 381, /* "ip" */ + HDRVERSION = 382, /* "version" */ + HDRLENGTH = 383, /* "hdrlength" */ + DSCP = 384, /* "dscp" */ + ECN = 385, /* "ecn" */ + LENGTH = 386, /* "length" */ + FRAG_OFF = 387, /* "frag-off" */ + TTL = 388, /* "ttl" */ + PROTOCOL = 389, /* "protocol" */ + CHECKSUM = 390, /* "checksum" */ + PTR = 391, /* "ptr" */ + VALUE = 392, /* "value" */ + LSRR = 393, /* "lsrr" */ + RR = 394, /* "rr" */ + SSRR = 395, /* "ssrr" */ + RA = 396, /* "ra" */ + ICMP = 397, /* "icmp" */ + CODE = 398, /* "code" */ + SEQUENCE = 399, /* "seq" */ + GATEWAY = 400, /* "gateway" */ + MTU = 401, /* "mtu" */ + IGMP = 402, /* "igmp" */ + MRT = 403, /* "mrt" */ + OPTIONS = 404, /* "options" */ + IP6 = 405, /* "ip6" */ + PRIORITY = 406, /* "priority" */ + FLOWLABEL = 407, /* "flowlabel" */ + NEXTHDR = 408, /* "nexthdr" */ + HOPLIMIT = 409, /* "hoplimit" */ + ICMP6 = 410, /* "icmpv6" */ + PPTR = 411, /* "param-problem" */ + MAXDELAY = 412, /* "max-delay" */ + TADDR = 413, /* "taddr" */ + AH = 414, /* "ah" */ + RESERVED = 415, /* "reserved" */ + SPI = 416, /* "spi" */ + ESP = 417, /* "esp" */ + COMP = 418, /* "comp" */ + FLAGS = 419, /* "flags" */ + CPI = 420, /* "cpi" */ + PORT = 421, /* "port" */ + UDP = 422, /* "udp" */ + SPORT = 423, /* "sport" */ + DPORT = 424, /* "dport" */ + UDPLITE = 425, /* "udplite" */ + CSUMCOV = 426, /* "csumcov" */ + TCP = 427, /* "tcp" */ + ACKSEQ = 428, /* "ackseq" */ + DOFF = 429, /* "doff" */ + WINDOW = 430, /* "window" */ + URGPTR = 431, /* "urgptr" */ + OPTION = 432, /* "option" */ + ECHO = 433, /* "echo" */ + EOL = 434, /* "eol" */ + MPTCP = 435, /* "mptcp" */ + NOP = 436, /* "nop" */ + SACK = 437, /* "sack" */ + SACK0 = 438, /* "sack0" */ + SACK1 = 439, /* "sack1" */ + SACK2 = 440, /* "sack2" */ + SACK3 = 441, /* "sack3" */ + SACK_PERM = 442, /* "sack-permitted" */ + FASTOPEN = 443, /* "fastopen" */ + MD5SIG = 444, /* "md5sig" */ + TIMESTAMP = 445, /* "timestamp" */ + COUNT = 446, /* "count" */ + LEFT = 447, /* "left" */ + RIGHT = 448, /* "right" */ + TSVAL = 449, /* "tsval" */ + TSECR = 450, /* "tsecr" */ + SUBTYPE = 451, /* "subtype" */ + DCCP = 452, /* "dccp" */ + VXLAN = 453, /* "vxlan" */ + VNI = 454, /* "vni" */ + GRE = 455, /* "gre" */ + GRETAP = 456, /* "gretap" */ + GENEVE = 457, /* "geneve" */ + SCTP = 458, /* "sctp" */ + CHUNK = 459, /* "chunk" */ + DATA = 460, /* "data" */ + INIT = 461, /* "init" */ + INIT_ACK = 462, /* "init-ack" */ + HEARTBEAT = 463, /* "heartbeat" */ + HEARTBEAT_ACK = 464, /* "heartbeat-ack" */ + ABORT = 465, /* "abort" */ + SHUTDOWN = 466, /* "shutdown" */ + SHUTDOWN_ACK = 467, /* "shutdown-ack" */ + ERROR = 468, /* "error" */ + COOKIE_ECHO = 469, /* "cookie-echo" */ + COOKIE_ACK = 470, /* "cookie-ack" */ + ECNE = 471, /* "ecne" */ + CWR = 472, /* "cwr" */ + SHUTDOWN_COMPLETE = 473, /* "shutdown-complete" */ + ASCONF_ACK = 474, /* "asconf-ack" */ + FORWARD_TSN = 475, /* "forward-tsn" */ + ASCONF = 476, /* "asconf" */ + TSN = 477, /* "tsn" */ + STREAM = 478, /* "stream" */ + SSN = 479, /* "ssn" */ + PPID = 480, /* "ppid" */ + INIT_TAG = 481, /* "init-tag" */ + A_RWND = 482, /* "a-rwnd" */ + NUM_OSTREAMS = 483, /* "num-outbound-streams" */ + NUM_ISTREAMS = 484, /* "num-inbound-streams" */ + INIT_TSN = 485, /* "initial-tsn" */ + CUM_TSN_ACK = 486, /* "cum-tsn-ack" */ + NUM_GACK_BLOCKS = 487, /* "num-gap-ack-blocks" */ + NUM_DUP_TSNS = 488, /* "num-dup-tsns" */ + LOWEST_TSN = 489, /* "lowest-tsn" */ + SEQNO = 490, /* "seqno" */ + NEW_CUM_TSN = 491, /* "new-cum-tsn" */ + VTAG = 492, /* "vtag" */ + RT = 493, /* "rt" */ + RT0 = 494, /* "rt0" */ + RT2 = 495, /* "rt2" */ + RT4 = 496, /* "srh" */ + SEG_LEFT = 497, /* "seg-left" */ + ADDR = 498, /* "addr" */ + LAST_ENT = 499, /* "last-entry" */ + TAG = 500, /* "tag" */ + SID = 501, /* "sid" */ + HBH = 502, /* "hbh" */ + FRAG = 503, /* "frag" */ + RESERVED2 = 504, /* "reserved2" */ + MORE_FRAGMENTS = 505, /* "more-fragments" */ + DST = 506, /* "dst" */ + MH = 507, /* "mh" */ + META = 508, /* "meta" */ + MARK = 509, /* "mark" */ + IIF = 510, /* "iif" */ + IIFNAME = 511, /* "iifname" */ + IIFTYPE = 512, /* "iiftype" */ + OIF = 513, /* "oif" */ + OIFNAME = 514, /* "oifname" */ + OIFTYPE = 515, /* "oiftype" */ + SKUID = 516, /* "skuid" */ + SKGID = 517, /* "skgid" */ + NFTRACE = 518, /* "nftrace" */ + RTCLASSID = 519, /* "rtclassid" */ + IBRIPORT = 520, /* "ibriport" */ + OBRIPORT = 521, /* "obriport" */ + IBRIDGENAME = 522, /* "ibrname" */ + OBRIDGENAME = 523, /* "obrname" */ + PKTTYPE = 524, /* "pkttype" */ + CPU = 525, /* "cpu" */ + IIFGROUP = 526, /* "iifgroup" */ + OIFGROUP = 527, /* "oifgroup" */ + CGROUP = 528, /* "cgroup" */ + TIME = 529, /* "time" */ + CLASSID = 530, /* "classid" */ + NEXTHOP = 531, /* "nexthop" */ + CT = 532, /* "ct" */ + L3PROTOCOL = 533, /* "l3proto" */ + PROTO_SRC = 534, /* "proto-src" */ + PROTO_DST = 535, /* "proto-dst" */ + ZONE = 536, /* "zone" */ + DIRECTION = 537, /* "direction" */ + EVENT = 538, /* "event" */ + EXPECTATION = 539, /* "expectation" */ + EXPIRATION = 540, /* "expiration" */ + HELPER = 541, /* "helper" */ + LABEL = 542, /* "label" */ + STATE = 543, /* "state" */ + STATUS = 544, /* "status" */ + ORIGINAL = 545, /* "original" */ + REPLY = 546, /* "reply" */ + COUNTER = 547, /* "counter" */ + NAME = 548, /* "name" */ + PACKETS = 549, /* "packets" */ + BYTES = 550, /* "bytes" */ + AVGPKT = 551, /* "avgpkt" */ + LAST = 552, /* "last" */ + NEVER = 553, /* "never" */ + COUNTERS = 554, /* "counters" */ + QUOTAS = 555, /* "quotas" */ + LIMITS = 556, /* "limits" */ + SYNPROXYS = 557, /* "synproxys" */ + HELPERS = 558, /* "helpers" */ + LOG = 559, /* "log" */ + PREFIX = 560, /* "prefix" */ + GROUP = 561, /* "group" */ + SNAPLEN = 562, /* "snaplen" */ + QUEUE_THRESHOLD = 563, /* "queue-threshold" */ + LEVEL = 564, /* "level" */ + LIMIT = 565, /* "limit" */ + RATE = 566, /* "rate" */ + BURST = 567, /* "burst" */ + OVER = 568, /* "over" */ + UNTIL = 569, /* "until" */ + QUOTA = 570, /* "quota" */ + USED = 571, /* "used" */ + SECMARK = 572, /* "secmark" */ + SECMARKS = 573, /* "secmarks" */ + SECOND = 574, /* "second" */ + MINUTE = 575, /* "minute" */ + HOUR = 576, /* "hour" */ + DAY = 577, /* "day" */ + WEEK = 578, /* "week" */ + _REJECT = 579, /* "reject" */ + WITH = 580, /* "with" */ + ICMPX = 581, /* "icmpx" */ + SNAT = 582, /* "snat" */ + DNAT = 583, /* "dnat" */ + MASQUERADE = 584, /* "masquerade" */ + REDIRECT = 585, /* "redirect" */ + RANDOM = 586, /* "random" */ + FULLY_RANDOM = 587, /* "fully-random" */ + PERSISTENT = 588, /* "persistent" */ + QUEUE = 589, /* "queue" */ + QUEUENUM = 590, /* "num" */ + BYPASS = 591, /* "bypass" */ + FANOUT = 592, /* "fanout" */ + DUP = 593, /* "dup" */ + FWD = 594, /* "fwd" */ + NUMGEN = 595, /* "numgen" */ + INC = 596, /* "inc" */ + MOD = 597, /* "mod" */ + OFFSET = 598, /* "offset" */ + JHASH = 599, /* "jhash" */ + SYMHASH = 600, /* "symhash" */ + SEED = 601, /* "seed" */ + POSITION = 602, /* "position" */ + INDEX = 603, /* "index" */ + COMMENT = 604, /* "comment" */ + XML = 605, /* "xml" */ + JSON = 606, /* "json" */ + VM = 607, /* "vm" */ + NOTRACK = 608, /* "notrack" */ + EXISTS = 609, /* "exists" */ + MISSING = 610, /* "missing" */ + EXTHDR = 611, /* "exthdr" */ + IPSEC = 612, /* "ipsec" */ + REQID = 613, /* "reqid" */ + SPNUM = 614, /* "spnum" */ + IN = 615, /* "in" */ + OUT = 616, /* "out" */ + XT = 617 /* "xt" */ + }; + typedef enum yytokentype yytoken_kind_t; +#endif +/* Token kinds. */ +#define YYEMPTY -2 +#define TOKEN_EOF 0 +#define YYerror 256 +#define YYUNDEF 257 +#define JUNK 258 +#define NEWLINE 259 +#define COLON 260 +#define SEMICOLON 261 +#define COMMA 262 +#define DOT 263 +#define EQ 264 +#define NEQ 265 +#define LT 266 +#define GT 267 +#define GTE 268 +#define LTE 269 +#define LSHIFT 270 +#define RSHIFT 271 +#define AMPERSAND 272 +#define CARET 273 +#define NOT 274 +#define SLASH 275 +#define ASTERISK 276 +#define DASH 277 +#define AT 278 +#define VMAP 279 +#define PLUS 280 +#define INCLUDE 281 +#define DEFINE 282 +#define REDEFINE 283 +#define UNDEFINE 284 +#define FIB 285 +#define SOCKET 286 +#define TRANSPARENT 287 +#define WILDCARD 288 +#define CGROUPV2 289 +#define TPROXY 290 +#define OSF 291 +#define SYNPROXY 292 +#define MSS 293 +#define WSCALE 294 +#define TYPEOF 295 +#define HOOK 296 +#define HOOKS 297 +#define DEVICE 298 +#define DEVICES 299 +#define TABLE 300 +#define TABLES 301 +#define CHAIN 302 +#define CHAINS 303 +#define RULE 304 +#define RULES 305 +#define SETS 306 +#define SET 307 +#define ELEMENT 308 +#define MAP 309 +#define MAPS 310 +#define FLOWTABLE 311 +#define HANDLE 312 +#define RULESET 313 +#define TRACE 314 +#define INET 315 +#define NETDEV 316 +#define ADD 317 +#define UPDATE 318 +#define REPLACE 319 +#define CREATE 320 +#define INSERT 321 +#define DELETE 322 +#define GET 323 +#define LIST 324 +#define RESET 325 +#define FLUSH 326 +#define RENAME 327 +#define DESCRIBE 328 +#define IMPORT 329 +#define EXPORT 330 +#define DESTROY 331 +#define MONITOR 332 +#define ALL 333 +#define ACCEPT 334 +#define DROP 335 +#define CONTINUE 336 +#define JUMP 337 +#define GOTO 338 +#define RETURN 339 +#define TO 340 +#define CONSTANT 341 +#define INTERVAL 342 +#define DYNAMIC 343 +#define AUTOMERGE 344 +#define TIMEOUT 345 +#define GC_INTERVAL 346 +#define ELEMENTS 347 +#define EXPIRES 348 +#define POLICY 349 +#define MEMORY 350 +#define PERFORMANCE 351 +#define SIZE 352 +#define FLOW 353 +#define OFFLOAD 354 +#define METER 355 +#define METERS 356 +#define FLOWTABLES 357 +#define NUM 358 +#define STRING 359 +#define QUOTED_STRING 360 +#define ASTERISK_STRING 361 +#define LL_HDR 362 +#define NETWORK_HDR 363 +#define TRANSPORT_HDR 364 +#define BRIDGE 365 +#define ETHER 366 +#define SADDR 367 +#define DADDR 368 +#define TYPE 369 +#define VLAN 370 +#define ID 371 +#define CFI 372 +#define DEI 373 +#define PCP 374 +#define ARP 375 +#define HTYPE 376 +#define PTYPE 377 +#define HLEN 378 +#define PLEN 379 +#define OPERATION 380 +#define IP 381 +#define HDRVERSION 382 +#define HDRLENGTH 383 +#define DSCP 384 +#define ECN 385 +#define LENGTH 386 +#define FRAG_OFF 387 +#define TTL 388 +#define PROTOCOL 389 +#define CHECKSUM 390 +#define PTR 391 +#define VALUE 392 +#define LSRR 393 +#define RR 394 +#define SSRR 395 +#define RA 396 +#define ICMP 397 +#define CODE 398 +#define SEQUENCE 399 +#define GATEWAY 400 +#define MTU 401 +#define IGMP 402 +#define MRT 403 +#define OPTIONS 404 +#define IP6 405 +#define PRIORITY 406 +#define FLOWLABEL 407 +#define NEXTHDR 408 +#define HOPLIMIT 409 +#define ICMP6 410 +#define PPTR 411 +#define MAXDELAY 412 +#define TADDR 413 +#define AH 414 +#define RESERVED 415 +#define SPI 416 +#define ESP 417 +#define COMP 418 +#define FLAGS 419 +#define CPI 420 +#define PORT 421 +#define UDP 422 +#define SPORT 423 +#define DPORT 424 +#define UDPLITE 425 +#define CSUMCOV 426 +#define TCP 427 +#define ACKSEQ 428 +#define DOFF 429 +#define WINDOW 430 +#define URGPTR 431 +#define OPTION 432 +#define ECHO 433 +#define EOL 434 +#define MPTCP 435 +#define NOP 436 +#define SACK 437 +#define SACK0 438 +#define SACK1 439 +#define SACK2 440 +#define SACK3 441 +#define SACK_PERM 442 +#define FASTOPEN 443 +#define MD5SIG 444 +#define TIMESTAMP 445 +#define COUNT 446 +#define LEFT 447 +#define RIGHT 448 +#define TSVAL 449 +#define TSECR 450 +#define SUBTYPE 451 +#define DCCP 452 +#define VXLAN 453 +#define VNI 454 +#define GRE 455 +#define GRETAP 456 +#define GENEVE 457 +#define SCTP 458 +#define CHUNK 459 +#define DATA 460 +#define INIT 461 +#define INIT_ACK 462 +#define HEARTBEAT 463 +#define HEARTBEAT_ACK 464 +#define ABORT 465 +#define SHUTDOWN 466 +#define SHUTDOWN_ACK 467 +#define ERROR 468 +#define COOKIE_ECHO 469 +#define COOKIE_ACK 470 +#define ECNE 471 +#define CWR 472 +#define SHUTDOWN_COMPLETE 473 +#define ASCONF_ACK 474 +#define FORWARD_TSN 475 +#define ASCONF 476 +#define TSN 477 +#define STREAM 478 +#define SSN 479 +#define PPID 480 +#define INIT_TAG 481 +#define A_RWND 482 +#define NUM_OSTREAMS 483 +#define NUM_ISTREAMS 484 +#define INIT_TSN 485 +#define CUM_TSN_ACK 486 +#define NUM_GACK_BLOCKS 487 +#define NUM_DUP_TSNS 488 +#define LOWEST_TSN 489 +#define SEQNO 490 +#define NEW_CUM_TSN 491 +#define VTAG 492 +#define RT 493 +#define RT0 494 +#define RT2 495 +#define RT4 496 +#define SEG_LEFT 497 +#define ADDR 498 +#define LAST_ENT 499 +#define TAG 500 +#define SID 501 +#define HBH 502 +#define FRAG 503 +#define RESERVED2 504 +#define MORE_FRAGMENTS 505 +#define DST 506 +#define MH 507 +#define META 508 +#define MARK 509 +#define IIF 510 +#define IIFNAME 511 +#define IIFTYPE 512 +#define OIF 513 +#define OIFNAME 514 +#define OIFTYPE 515 +#define SKUID 516 +#define SKGID 517 +#define NFTRACE 518 +#define RTCLASSID 519 +#define IBRIPORT 520 +#define OBRIPORT 521 +#define IBRIDGENAME 522 +#define OBRIDGENAME 523 +#define PKTTYPE 524 +#define CPU 525 +#define IIFGROUP 526 +#define OIFGROUP 527 +#define CGROUP 528 +#define TIME 529 +#define CLASSID 530 +#define NEXTHOP 531 +#define CT 532 +#define L3PROTOCOL 533 +#define PROTO_SRC 534 +#define PROTO_DST 535 +#define ZONE 536 +#define DIRECTION 537 +#define EVENT 538 +#define EXPECTATION 539 +#define EXPIRATION 540 +#define HELPER 541 +#define LABEL 542 +#define STATE 543 +#define STATUS 544 +#define ORIGINAL 545 +#define REPLY 546 +#define COUNTER 547 +#define NAME 548 +#define PACKETS 549 +#define BYTES 550 +#define AVGPKT 551 +#define LAST 552 +#define NEVER 553 +#define COUNTERS 554 +#define QUOTAS 555 +#define LIMITS 556 +#define SYNPROXYS 557 +#define HELPERS 558 +#define LOG 559 +#define PREFIX 560 +#define GROUP 561 +#define SNAPLEN 562 +#define QUEUE_THRESHOLD 563 +#define LEVEL 564 +#define LIMIT 565 +#define RATE 566 +#define BURST 567 +#define OVER 568 +#define UNTIL 569 +#define QUOTA 570 +#define USED 571 +#define SECMARK 572 +#define SECMARKS 573 +#define SECOND 574 +#define MINUTE 575 +#define HOUR 576 +#define DAY 577 +#define WEEK 578 +#define _REJECT 579 +#define WITH 580 +#define ICMPX 581 +#define SNAT 582 +#define DNAT 583 +#define MASQUERADE 584 +#define REDIRECT 585 +#define RANDOM 586 +#define FULLY_RANDOM 587 +#define PERSISTENT 588 +#define QUEUE 589 +#define QUEUENUM 590 +#define BYPASS 591 +#define FANOUT 592 +#define DUP 593 +#define FWD 594 +#define NUMGEN 595 +#define INC 596 +#define MOD 597 +#define OFFSET 598 +#define JHASH 599 +#define SYMHASH 600 +#define SEED 601 +#define POSITION 602 +#define INDEX 603 +#define COMMENT 604 +#define XML 605 +#define JSON 606 +#define VM 607 +#define NOTRACK 608 +#define EXISTS 609 +#define MISSING 610 +#define EXTHDR 611 +#define IPSEC 612 +#define REQID 613 +#define SPNUM 614 +#define IN 615 +#define OUT 616 +#define XT 617 + +/* Value type. */ +#if ! defined YYSTYPE && ! defined YYSTYPE_IS_DECLARED +union YYSTYPE +{ +#line 205 "parser_bison.y" + + uint64_t val; + uint32_t val32; + uint8_t val8; + const char * string; + + struct list_head *list; + struct cmd *cmd; + struct handle handle; + struct table *table; + struct chain *chain; + struct rule *rule; + struct stmt *stmt; + struct expr *expr; + struct set *set; + struct obj *obj; + struct flowtable *flowtable; + struct ct *ct; + const struct datatype *datatype; + struct handle_spec handle_spec; + struct position_spec position_spec; + struct prio_spec prio_spec; + struct limit_rate limit_rate; + struct tcp_kind_field { + uint16_t kind; /* must allow > 255 for SACK1, 2.. hack */ + uint8_t field; + } tcp_kind_field; + +#line 820 "parser_bison.h" + +}; +typedef union YYSTYPE YYSTYPE; +# define YYSTYPE_IS_TRIVIAL 1 +# define YYSTYPE_IS_DECLARED 1 +#endif + +/* Location type. */ +#if ! defined YYLTYPE && ! defined YYLTYPE_IS_DECLARED +typedef struct YYLTYPE YYLTYPE; +struct YYLTYPE +{ + int first_line; + int first_column; + int last_line; + int last_column; +}; +# define YYLTYPE_IS_DECLARED 1 +# define YYLTYPE_IS_TRIVIAL 1 +#endif + + + +int nft_parse (struct nft_ctx *nft, void *scanner, struct parser_state *state); + +#endif /* !YY_NFT_PARSER_BISON_H_INCLUDED */ |