summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorLiping Zhang <zlpnobody@gmail.com>2016-10-30 20:36:14 +0800
committerFlorian Westphal <fw@strlen.de>2016-10-30 19:05:05 +0100
commitcdaa874b5fe89da7b0b906a473240aee51abb41c (patch)
treeeb36a6dce73fb4f4bfa56e17624db77087c10821
parent1d3c3cb4c8b65c63df6280070ef6f0da7f5148d3 (diff)
ct: fix "ct l3proto/protocol" syntax broken
"l3proto" and "protocol" are still keywords in our grammer, they are not STRING, so if the user input the following rule, nft will complain that the syntax is error: # nft add t c ct l3proto ipv4 <cmdline>:1:12-18: Error: syntax error, unexpected l3proto, expecting string or mark or packets or bytes add t c ct l3proto ipv4 ^^^^^^^ Fixes: c992153402c7 ("ct: allow resolving ct keys at run time") Signed-off-by: Liping Zhang <zlpnobody@gmail.com> Signed-off-by: Florian Westphal <fw@strlen.de>
-rw-r--r--src/parser_bison.y4
1 files changed, 3 insertions, 1 deletions
diff --git a/src/parser_bison.y b/src/parser_bison.y
index 106df271..fa5de0c2 100644
--- a/src/parser_bison.y
+++ b/src/parser_bison.y
@@ -2629,7 +2629,9 @@ ct_expr : CT ct_key
}
;
-ct_key : MARK { $$ = NFT_CT_MARK; }
+ct_key : L3PROTOCOL { $$ = NFT_CT_L3PROTOCOL; }
+ | PROTOCOL { $$ = NFT_CT_PROTOCOL; }
+ | MARK { $$ = NFT_CT_MARK; }
| ct_key_counters
;
ct_key_dir : SADDR { $$ = NFT_CT_SRC; }