]> git.ipfire.org Git - thirdparty/nftables.git/commitdiff
parser: use nf_key_proto
authorFlorian Westphal <fw@strlen.de>
Sat, 18 Nov 2017 20:00:58 +0000 (21:00 +0100)
committerFlorian Westphal <fw@strlen.de>
Sat, 3 Mar 2018 09:18:12 +0000 (10:18 +0100)
Consolidate into one so it can be reused by new users.

Signed-off-by: Florian Westphal <fw@strlen.de>
src/parser_bison.y

index 0c9e6c2b7ee9bd6d1198dfabb42d7eee63f8b19f..58bc680503d7c632d7b31d6956334cd06175bdcb 100644 (file)
@@ -675,13 +675,15 @@ int nft_lex(void *, void *, void *);
 %destructor { expr_free($$); } meta_expr
 %type <val>                    meta_key        meta_key_qualified      meta_key_unqualified    numgen_type
 
+%type <val>                    nf_key_proto
+
 %type <expr>                   rt_expr
 %destructor { expr_free($$); } rt_expr
-%type <val>                    rt_key_proto    rt_key
+%type <val>                    rt_key
 
 %type <expr>                   ct_expr
 %destructor { expr_free($$); } ct_expr
-%type <val>                    ct_key          ct_dir  ct_key_dir_optional     ct_key_dir      ct_key_proto    ct_key_proto_field
+%type <val>                    ct_key          ct_dir  ct_key_dir_optional     ct_key_dir      ct_key_proto_field
 
 %type <expr>                   fib_expr
 %destructor { expr_free($$); } fib_expr
@@ -3330,7 +3332,7 @@ hash_expr         :       JHASH           expr    MOD     NUM     SEED    NUM     offset_opt
                        }
                        ;
 
-rt_key_proto           :       IP              { $$ = NFPROTO_IPV4; }
+nf_key_proto           :       IP              { $$ = NFPROTO_IPV4; }
                        |       IP6             { $$ = NFPROTO_IPV6; }
                        ;
 
@@ -3338,7 +3340,7 @@ rt_expr                   :       RT      rt_key
                        {
                                $$ = rt_expr_alloc(&@$, $2, true);
                        }
-                       |       RT      rt_key_proto    rt_key
+                       |       RT      nf_key_proto    rt_key
                        {
                                enum nft_rt_keys rtk = $3;
 
@@ -3371,7 +3373,7 @@ ct_expr                   :       CT      ct_key
                        {
                                $$ = ct_expr_alloc(&@$, $3, $2, NFPROTO_UNSPEC);
                        }
-                       |       CT      ct_dir  ct_key_proto ct_key_proto_field
+                       |       CT      ct_dir  nf_key_proto ct_key_proto_field
                        {
                                $$ = ct_expr_alloc(&@$, $4, $2, $3);
                        }
@@ -3407,10 +3409,6 @@ ct_key_dir               :       SADDR           { $$ = NFT_CT_SRC; }
                        |       ct_key_dir_optional
                        ;
 
-ct_key_proto           :       IP              { $$ = NFPROTO_IPV4; }
-                       |       IP6             { $$ = NFPROTO_IPV6; }
-                       ;
-
 ct_key_proto_field     :       SADDR           { $$ = NFT_CT_SRC; }
                        |       DADDR           { $$ = NFT_CT_DST; }
                        ;