diff options
-rw-r--r-- | doc/nft.xml | 17 | ||||
-rw-r--r-- | src/parser_bison.y | 8 |
2 files changed, 21 insertions, 4 deletions
diff --git a/doc/nft.xml b/doc/nft.xml index 60691580..b80c8c43 100644 --- a/doc/nft.xml +++ b/doc/nft.xml @@ -875,7 +875,13 @@ add table inet mytable <arg choice="opt"><replaceable>family</replaceable></arg> <replaceable>table</replaceable> <replaceable>chain</replaceable> - <arg choice="opt">position <replaceable>handle</replaceable></arg> + <arg choice="opt"> + <group choice="req"> + <arg>handle</arg> + <arg>position</arg> + </group> + <replaceable>handle</replaceable> + </arg> <replaceable>statement</replaceable>... </cmdsynopsis> <cmdsynopsis> @@ -910,8 +916,10 @@ add table inet mytable <listitem> <para> Add a new rule described by the list of statements. The rule is appended to the - given chain unless a position is specified, in which case the rule is appended to - the rule given by the handle. + given chain unless a <literal>handle</literal> is specified, in which case the + rule is appended to the rule given by the <replaceable>handle</replaceable>. + The alternative name <literal>position</literal> is deprecated and should not be + used anymore. </para> </listitem> </varlistentry> @@ -920,7 +928,8 @@ add table inet mytable <listitem> <para> Similar to the <command>add</command> command, but the rule is prepended to the - beginning of the chain or before the rule with the given handle. + beginning of the chain or before the rule with the given + <replaceable>handle</replaceable>. </para> </listitem> </varlistentry> diff --git a/src/parser_bison.y b/src/parser_bison.y index 24210b2b..174150aa 100644 --- a/src/parser_bison.y +++ b/src/parser_bison.y @@ -1970,6 +1970,14 @@ rule_position : chain_spec handle_merge(&$1, &$2); $$ = $1; } + | chain_spec handle_spec + { + $2.position.location = $2.handle.location; + $2.position.id = $2.handle.id; + $2.handle.id = 0; + handle_merge(&$1, &$2); + $$ = $1; + } ; ruleid_spec : chain_spec handle_spec |