diff options
Diffstat (limited to 'src/parser_bison.y')
-rw-r--r-- | src/parser_bison.y | 12 |
1 files changed, 12 insertions, 0 deletions
diff --git a/src/parser_bison.y b/src/parser_bison.y index 827b0580..9a75120a 100644 --- a/src/parser_bison.y +++ b/src/parser_bison.y @@ -194,6 +194,8 @@ int nft_lex(void *, void *, void *); %token TPROXY "tproxy" +%token OSF "osf" + %token HOOK "hook" %token DEVICE "device" %token DEVICES "devices" @@ -721,6 +723,9 @@ int nft_lex(void *, void *, void *); %destructor { expr_free($$); } fib_expr %type <val> fib_tuple fib_result fib_flag +%type <expr> osf_expr +%destructor { expr_free($$); } osf_expr + %type <val> markup_format %type <string> monitor_event %destructor { xfree($$); } monitor_event @@ -2952,6 +2957,7 @@ primary_expr : symbol_expr { $$ = $1; } | numgen_expr { $$ = $1; } | hash_expr { $$ = $1; } | fib_expr { $$ = $1; } + | osf_expr { $$ = $1; } | '(' basic_expr ')' { $$ = $2; } ; @@ -2997,6 +3003,12 @@ fib_tuple : fib_flag DOT fib_tuple | fib_flag ; +osf_expr : OSF NAME + { + $$ = osf_expr_alloc(&@$); + } + ; + shift_expr : primary_expr | shift_expr LSHIFT primary_expr { |