diff mbox series

[nft,1/4] Deprecate add/insert rule 'position' argument

Message ID 20180509140343.9826-2-phil@nwl.cc
State Accepted
Delegated to: Pablo Neira
Headers show
Series Support 'add/insert rule index <IDX>' | expand

Commit Message

Phil Sutter May 9, 2018, 2:03 p.m. UTC
Instead, use 'handle' keyword for the same effect since that is more
consistent with respect to replace/delete commands. The old keyword is
still supported for backwards compatibility and also listed in man page
along with a hint that it shouldn't be used anymore.

Signed-off-by: Phil Sutter <phil@nwl.cc>
---
 doc/nft.xml        | 17 +++++++++++++----
 src/parser_bison.y |  8 ++++++++
 2 files changed, 21 insertions(+), 4 deletions(-)
diff mbox series

Patch

diff --git a/doc/nft.xml b/doc/nft.xml
index 60691580af5fd..b80c8c439e2c7 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 7238a94ec7589..832c86642ce72 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