summaryrefslogtreecommitdiffstats
path: root/src/parser.y
diff options
context:
space:
mode:
Diffstat (limited to 'src/parser.y')
-rw-r--r--src/parser.y9
1 files changed, 9 insertions, 0 deletions
diff --git a/src/parser.y b/src/parser.y
index 0d97ae98..db6f4933 100644
--- a/src/parser.y
+++ b/src/parser.y
@@ -392,6 +392,8 @@ static void location_update(struct location *loc, struct location *rhs, int n)
%destructor { stmt_free($$); } stmt match_stmt verdict_stmt
%type <stmt> counter_stmt counter_stmt_alloc
%destructor { stmt_free($$); } counter_stmt counter_stmt_alloc
+%type <stmt> ct_stmt
+%destructor { stmt_free($$); } ct_stmt
%type <stmt> meta_stmt
%destructor { stmt_free($$); } meta_stmt
%type <stmt> log_stmt log_stmt_alloc
@@ -1069,6 +1071,7 @@ stmt : verdict_stmt
| reject_stmt
| nat_stmt
| queue_stmt
+ | ct_stmt
;
verdict_stmt : verdict_expr
@@ -1593,6 +1596,12 @@ ct_key : STATE { $$ = NFT_CT_STATE; }
| LABEL { $$ = NFT_CT_LABEL; }
;
+ct_stmt : CT ct_key SET expr
+ {
+ $$ = ct_stmt_alloc(&@$, $2, $4);
+ }
+ ;
+
payload_expr : payload_raw_expr
| eth_hdr_expr
| vlan_hdr_expr