summaryrefslogtreecommitdiffstats
path: root/src/parser_bison.y
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 /src/parser_bison.y
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>
Diffstat (limited to 'src/parser_bison.y')
-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; }