]> git.ipfire.org Git - thirdparty/nftables.git/commitdiff
parser: add offset keyword and parser rule
authorPablo Neira Ayuso <pablo@netfilter.org>
Thu, 27 Oct 2016 20:11:40 +0000 (22:11 +0200)
committerPablo Neira Ayuso <pablo@netfilter.org>
Thu, 27 Oct 2016 20:12:49 +0000 (22:12 +0200)
This is required by the numgen and jhash expressions.

Signed-off-by: Pablo Neira Ayuso <pablo@netfilter.org>
src/parser_bison.y
src/scanner.l

index 7377492baf8645d453d7efc1a57ce15375416528..35504de1a689f1c448bc81dd8a8fe3b8abc0718f 100644 (file)
@@ -410,6 +410,7 @@ static void location_update(struct location *loc, struct location *rhs, int n)
 %token NUMGEN                  "numgen"
 %token INC                     "inc"
 %token MOD                     "mod"
+%token OFFSET                  "offset"
 
 %token JHASH                   "jhash"
 %token SEED                    "seed"
@@ -482,7 +483,7 @@ static void location_update(struct location *loc, struct location *rhs, int n)
 %destructor { stmt_free($$); } reject_stmt reject_stmt_alloc
 %type <stmt>                   nat_stmt nat_stmt_alloc masq_stmt masq_stmt_alloc redir_stmt redir_stmt_alloc
 %destructor { stmt_free($$); } nat_stmt nat_stmt_alloc masq_stmt masq_stmt_alloc redir_stmt redir_stmt_alloc
-%type <val>                    nf_nat_flags nf_nat_flag
+%type <val>                    nf_nat_flags nf_nat_flag offset_opt
 %type <stmt>                   queue_stmt queue_stmt_alloc
 %destructor { stmt_free($$); } queue_stmt queue_stmt_alloc
 %type <val>                    queue_stmt_flags queue_stmt_flag
@@ -2486,6 +2487,10 @@ meta_stmt                :       META    meta_key        SET     expr
                        }
                        ;
 
+offset_opt             :       /* empty */     { $$ = 0; }
+                       |       OFFSET  NUM     { $$ = $2; }
+                       ;
+
 numgen_type            :       INC             { $$ = NFT_NG_INCREMENTAL; }
                        |       RANDOM          { $$ = NFT_NG_RANDOM; }
                        ;
index 467954374f11dc866cac3682820fd05ff7889d63..157b561bb8744548996fee373f1e73aa1b16d3bd 100644 (file)
@@ -462,6 +462,7 @@ addrstring  ({macaddr}|{ip4addr}|{ip6addr})
 "numgen"               { return NUMGEN; }
 "inc"                  { return INC; }
 "mod"                  { return MOD; }
+"offset"               { return OFFSET; }
 
 "jhash"                        { return JHASH; }
 "seed"                 { return SEED; }