Skip to contentSkip to conversation

small updates to documentation

PATCH New Arturo Borrero Gonzalez 1 participant 5 messages May 14, 2014 netfilter

lore
Share & tools
lore
#0 lore raw

cover small updates to documentation

The following series implements some small updates to the nft documentation.

The nft manpage is a bit outdated.
Also, the first patch is a small fix.

Comments welcome.
---

Arturo Borrero Gonzalez (4):
doc: fix indendation of examples
doc: update return code for NFT_EXIT_NONL
doc: document export op
doc: document monitor op

 doc/nft.xml |   70 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++---
 1 file changed, 67 insertions(+), 3 deletions(-)
Signature · 1 line
Arturo Borrero Gonzalez
#1 lore raw

PATCH 1/4 doc: fix indendation of examples

Let's fix the indendation of examples.

---
 doc/nft.xml |    4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)
doc/nft.xml +2 -2
index 702891c..958abbc 100644
@@ -2097,7 +2097,7 @@ filter input iif eth0 drop
 			<programlisting>
 &lt;cmdline&gt;:1:19-22: Error: Interface does not exist
 filter output oif eth0
-^^^
+                  ^^^^
 			</programlisting>
 		</example>
 		<example>
@@ -2105,7 +2105,7 @@ filter output oif eth0
 			<programlisting>
 &lt;cmdline&gt;:1:28-36: Error: Right hand side of relational expression (==) must be constant
 filter output tcp dport == tcp dport
-~~ ^^^^^^^^^
+                        ~~ ^^^^^^^^^
 			</programlisting>
 		</example>
 
#2 lore raw

PATCH 2/4 doc: update return code for NFT_EXIT_NONL

In reply to Arturo Borrero Gonzalez

If we exit with NFT_EXIT_NONL, we return 3.

---
 doc/nft.xml |    2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
doc/nft.xml +1 -1
index 958abbc..1de4b3f 100644
@@ -2124,7 +2124,7 @@ filter output oif wlan0
 		<para>
 			On success, nft exits with a status of 0. Unspecified
 			errors cause it to exit with a status of 1, memory allocation
-			errors with a status of 2.
+			errors with a status of 2, unable to open Netlink socket with 3.
 		</para>
 	</refsect1>
 
#3 lore raw

PATCH 3/4 doc: document export op

In reply to Arturo Borrero Gonzalez

Let's document the `nft export [xml|json]' command.

---
 doc/nft.xml |   22 ++++++++++++++++++++++
 1 file changed, 22 insertions(+)
doc/nft.xml +22 -0
index 1de4b3f..61ca03a 100644
@@ -2080,6 +2080,28 @@ filter input iif eth0 drop
 	</refsect1>
 
 	<refsect1>
+		<title>Additional commands</title>
+		<para>
+			These are some additional commands included in nft.
+		</para>
+		<refsect2>
+			<title>export</title>
+			<para>
+				Export your current ruleset in XML or JSON format to stdout.
+			</para>
+			<para>
+				Examples:
+				<programlisting>
+% nft export xml
+[...]
+% nft export json
+[...]
+				</programlisting>
+			</para>
+		</refsect2>
+	</refsect1>
+
+	<refsect1>
 		<title>Error reporting</title>
 		<para>
 			When an error is detected, nft shows the line(s) containing the error, the position
#4 lore raw

PATCH 4/4 doc: document monitor op

In reply to Arturo Borrero Gonzalez

Let's add some documentation about the monitor operation.

---
 doc/nft.xml |   42 ++++++++++++++++++++++++++++++++++++++++++
 1 file changed, 42 insertions(+)
doc/nft.xml +42 -0
index 61ca03a..41c0840 100644
@@ -2099,6 +2099,48 @@ filter input iif eth0 drop
 				</programlisting>
 			</para>
 		</refsect2>
+		<refsect2>
+			<title>monitor</title>
+			<para>
+				The monitor command allows you to listen to Netlink events produced
+				by the nf_tables subsystem, related to creation and deletion of objects.
+				When they ocurr, nft will print to stdout the monitored events in either
+				XML, JSON or native nft format.
+			</para>
+			<para>
+				To filter events related to a concrete object, use one of the keywords 'tables', 'chains', 'sets', 'rules', 'elements'.
+			</para>
+			<para>
+				To filter events related to a concrete action, use keyword 'new' or 'destroy'.
+			</para>
+			<para>
+				Hit ^C to finish the monitor operation.
+			</para>
+			<example>
+				<title>Listen to all events, report in native nft format</title>
+				<programlisting>
+% nft monitor
+				</programlisting>
+			</example>
+			<example>
+				<title>Listen to added tables, report in XML format</title>
+				<programlisting>
+% nft monitor new tables xml
+				</programlisting>
+			</example>
+			<example>
+				<title>Listen to deleted rules, report in JSON format</title>
+				<programlisting>
+% nft monitor destroy rules json
+				</programlisting>
+			</example>
+			<example>
+				<title>Listen to both new and destroyed chains, in native nft format</title>
+				<programlisting>
+% nft monitor chains
+				</programlisting>
+			</example>
+		</refsect2>
 	</refsect1>
 
 	<refsect1>