From c12c09041ec55daa4c6562d61be81f4ecdfb7fd8 Mon Sep 17 00:00:00 2001 From: Liping Zhang Date: Mon, 22 Aug 2016 23:34:15 +0800 Subject: parser_bison: keep snat/dnat existing syntax unchanged We should keep existing syntax unchanged, and this was emphasized in the commit 850f0a56b6ad ("src: add 'to' for snat and dnat")'s commit log: "Existing syntax is still preserved, but the listing shows the one including 'to'." This problem was found by running shell test: # ./run-tests.sh [ ... ] W: [FAILED] ./testcases/maps/anonymous_snat_map_0 I: [OK] ./testcases/maps/map_with_flags_0 W: [FAILED] ./testcases/maps/named_snat_map_0 [ ... ] Fixes: 850f0a56b6ad ("src: add 'to' for snat and dnat") Signed-off-by: Liping Zhang Signed-off-by: Pablo Neira Ayuso --- src/parser_bison.y | 15 ++++++++++++++- 1 file changed, 14 insertions(+), 1 deletion(-) (limited to 'src') diff --git a/src/parser_bison.y b/src/parser_bison.y index 8025415c..bf436086 100644 --- a/src/parser_bison.y +++ b/src/parser_bison.y @@ -1649,15 +1649,28 @@ stmt_expr : map_stmt_expr | primary_rhs_expr ; -nat_stmt_args : TO stmt_expr +nat_stmt_args : stmt_expr + { + $0->nat.addr = $1; + } + | TO stmt_expr { $0->nat.addr = $2; } + | stmt_expr COLON stmt_expr + { + $0->nat.addr = $1; + $0->nat.proto = $3; + } | TO stmt_expr COLON stmt_expr { $0->nat.addr = $2; $0->nat.proto = $4; } + | COLON stmt_expr + { + $0->nat.proto = $2; + } | TO COLON stmt_expr { $0->nat.proto = $3; -- cgit v1.2.3