diff options
author | Pablo Neira Ayuso <pablo@netfilter.org> | 2014-11-23 20:13:03 +0100 |
---|---|---|
committer | Pablo Neira Ayuso <pablo@netfilter.org> | 2014-11-23 21:08:22 +0100 |
commit | b3e93bd1fe09282f22616e2b2c8ad335ef92653f (patch) | |
tree | a72eaa39fee256cb7c1a9b377586cd561a195cb7 | |
parent | c36106b079b69eefbfe57ab32640a2e46a1f1a21 (diff) |
parser: restore named vmap
For example:
nft add map filter my_vmap { type ipv4_addr : verdict\; }
nft add element filter my_vmap { 1.0.0.0 : drop}
nft add rule filter input ip saddr vmap @my_vmap
Reported-by: Bjørnar Ness <bjornar.ness@gmail.com>
Signed-off-by: Pablo Neira Ayuso <pablo@netfilter.org>
-rw-r--r-- | src/parser_bison.y | 11 |
1 files changed, 11 insertions, 0 deletions
diff --git a/src/parser_bison.y b/src/parser_bison.y index 6eb0475e..ad2951a1 100644 --- a/src/parser_bison.y +++ b/src/parser_bison.y @@ -1211,6 +1211,13 @@ verdict_map_expr : '{' verdict_map_list_expr '}' $2->location = @$; $$ = $2; } + | AT identifier + { + $$ = symbol_expr_alloc(&@$, SYMBOL_SET, + current_scope(state), + $2); + xfree($2); + } ; verdict_map_list_expr : verdict_map_list_member_expr @@ -1691,6 +1698,10 @@ set_list_member_expr : opt_newline expr opt_newline { $$ = mapping_expr_alloc(&@$, $2, $4); } + | opt_newline map_lhs_expr COLON verdict_expr opt_newline + { + $$ = mapping_expr_alloc(&@$, $2, $4); + } ; initializer_expr : expr |