summaryrefslogtreecommitdiffstats
path: root/src/parser_bison.y
diff options
context:
space:
mode:
Diffstat (limited to 'src/parser_bison.y')
-rw-r--r--src/parser_bison.y12
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
{