From: Pablo Neira Ayuso Date: Sun, 23 Nov 2014 19:13:03 +0000 (+0100) Subject: parser: restore named vmap X-Git-Tag: v0.4~34 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=b3e93bd1fe09282f22616e2b2c8ad335ef92653f;p=thirdparty%2Fnftables.git 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 Signed-off-by: Pablo Neira Ayuso --- 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