summaryrefslogtreecommitdiffstats
path: root/src/parser_bison.h
blob: 9e754a273bb3925be32af0bc425675fc5b7652b3 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
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  */