diff options
Diffstat (limited to 'src/parser_bison.y')
-rw-r--r-- | src/parser_bison.y | 9 |
1 files changed, 9 insertions, 0 deletions
diff --git a/src/parser_bison.y b/src/parser_bison.y index ec1e7428..fbfe7eaf 100644 --- a/src/parser_bison.y +++ b/src/parser_bison.y @@ -447,6 +447,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> payload_stmt +%destructor { stmt_free($$); } payload_stmt %type <stmt> ct_stmt %destructor { stmt_free($$); } ct_stmt %type <stmt> meta_stmt @@ -1312,6 +1314,7 @@ stmt_list : stmt stmt : verdict_stmt | match_stmt | counter_stmt + | payload_stmt | meta_stmt | log_stmt | limit_stmt @@ -2061,6 +2064,12 @@ ct_stmt : CT ct_key SET expr } ; +payload_stmt : payload_expr SET expr + { + $$ = payload_stmt_alloc(&@$, $1, $3); + } + ; + payload_expr : payload_raw_expr | eth_hdr_expr | vlan_hdr_expr |