From 986aa0a5aea34ebb17a3abc03f01cc232a90ebd1 Mon Sep 17 00:00:00 2001 From: Pablo Neira Ayuso Date: Thu, 27 Oct 2016 22:11:40 +0200 Subject: parser: add offset keyword and parser rule This is required by the numgen and jhash expressions. Signed-off-by: Pablo Neira Ayuso --- src/parser_bison.y | 7 ++++++- src/scanner.l | 1 + 2 files changed, 7 insertions(+), 1 deletion(-) diff --git a/src/parser_bison.y b/src/parser_bison.y index 7377492b..35504de1 100644 --- a/src/parser_bison.y +++ b/src/parser_bison.y @@ -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 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 nf_nat_flags nf_nat_flag +%type nf_nat_flags nf_nat_flag offset_opt %type queue_stmt queue_stmt_alloc %destructor { stmt_free($$); } queue_stmt queue_stmt_alloc %type 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; } ; diff --git a/src/scanner.l b/src/scanner.l index 46795437..157b561b 100644 --- a/src/scanner.l +++ b/src/scanner.l @@ -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; } -- cgit v1.2.3