From 9e80bfd0344cc0c05004c8cd1dd13e6cfa3df446 Mon Sep 17 00:00:00 2001 From: Phil Sutter Date: Fri, 21 Nov 2025 14:02:36 +0100 Subject: parser_bison: Introduce tokens for monitor events There already is a start condition for "monitor" keyword and also a DESTROY token. So just add the missing one and get rid of the intermediate string buffer. Keep checking the struct monitor::event value in eval phase just to be on the safe side. Signed-off-by: Phil Sutter Reviewed-by: Florian Westphal --- src/parser_bison.y | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) (limited to 'src/parser_bison.y') diff --git a/src/parser_bison.y b/src/parser_bison.y index 3ceef794..96d0e151 100644 --- a/src/parser_bison.y +++ b/src/parser_bison.y @@ -353,6 +353,7 @@ int nft_lex(void *, void *, void *); %token DESCRIBE "describe" %token IMPORT "import" %token EXPORT "export" +%token NEW "new" %token DESTROY "destroy" %token MONITOR "monitor" @@ -985,9 +986,7 @@ int nft_lex(void *, void *, void *); %destructor { expr_free($$); } osf_expr %type markup_format -%type monitor_event -%destructor { free_const($$); } monitor_event -%type monitor_object monitor_format +%type monitor_event monitor_object monitor_format %type synproxy_ts synproxy_sack @@ -1892,8 +1891,9 @@ monitor_cmd : monitor_event monitor_object monitor_format } ; -monitor_event : /* empty */ { $$ = NULL; } - | STRING { $$ = $1; } +monitor_event : /* empty */ { $$ = CMD_MONITOR_EVENT_ANY; } + | NEW { $$ = CMD_MONITOR_EVENT_NEW; } + | DESTROY { $$ = CMD_MONITOR_EVENT_DEL; } ; monitor_object : /* empty */ { $$ = CMD_MONITOR_OBJ_ANY; } -- cgit v1.2.3