All of lore.kernel.org
 help / color / mirror / Atom feed
From: Elise Lennion <elise.lennion@gmail.com>
To: pablo@netfilter.org
Cc: netfilter-devel@vger.kernel.org
Subject: [PATCH nft] doc: Document maps
Date: Mon, 13 Feb 2017 14:47:11 -0200	[thread overview]
Message-ID: <20170213164711.GA12126@lennorien.com> (raw)

This patch adds the missing documentation for maps. Also, updates sets
policy to match maps.

Signed-off-by: Elise Lennion <elise.lennion@gmail.com>
---
 doc/nft.xml | 105 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++-
 1 file changed, 104 insertions(+), 1 deletion(-)

diff --git a/doc/nft.xml b/doc/nft.xml
index 2825810..ed97859 100644
--- a/doc/nft.xml
+++ b/doc/nft.xml
@@ -784,7 +784,110 @@ filter input iif $int_ifs accept
 					<row>
 						<entry>policy</entry>
 						<entry>set policy</entry>
-						<entry>string: performance, memory</entry>
+						<entry>string: performance [default], memory</entry>
+					</row>
+				</tbody>
+			</tgroup>
+		</table>
+	</refsect1>
+
+	<refsect1>
+		<title>Maps</title>
+		<para>
+			<cmdsynopsis>
+				<arg choice="req">add</arg>
+				<command> map</command>
+				<arg choice="opt"><replaceable>family</replaceable></arg>
+				<arg choice="req"><replaceable>table</replaceable></arg>
+				<arg choice="req"><replaceable>map</replaceable></arg>
+				{
+				<arg choice="req"><replaceable>type</replaceable></arg>
+				<arg choice="opt"><replaceable>flags</replaceable></arg>
+				<arg choice="opt"><replaceable>elements</replaceable></arg>
+				<arg choice="opt"><replaceable>size</replaceable></arg>
+				<arg choice="opt"><replaceable>policy</replaceable></arg>
+				}
+			</cmdsynopsis>
+			<cmdsynopsis>
+				<group choice="req">
+					<arg>delete</arg>
+					<arg>list</arg>
+				</group>
+				<command> map</command>
+				<arg choice="opt"><replaceable>family</replaceable></arg>
+				<arg choice="req"><replaceable>table</replaceable></arg>
+				<arg choice="req"><replaceable>map</replaceable></arg>
+			</cmdsynopsis>
+		</para>
+		<para>
+			Maps store data based on some specific key used as input, they are uniquely identified by an user-defined name and attached to tables.
+		</para>
+
+		<variablelist>
+			<varlistentry>
+				<term><option>add</option></term>
+				<listitem>
+					<para>
+						Add a new map in the specified table.
+					</para>
+				</listitem>
+			</varlistentry>
+			<varlistentry>
+				<term><option>delete</option></term>
+				<listitem>
+					<para>
+						Delete the specified map.
+					</para>
+				</listitem>
+			</varlistentry>
+			<varlistentry>
+				<term><option>list</option></term>
+				<listitem>
+					<para>
+						Display the elements in the specified map.
+					</para>
+				</listitem>
+			</varlistentry>
+		</variablelist>
+
+		<table frame="all">
+			<title>Map specifications</title>
+			<tgroup cols='3' align='left' colsep='1' rowsep='1'>
+				<colspec colname='c1'/>
+				<colspec colname='c2'/>
+				<colspec colname='c3'/>
+				<thead>
+					<row>
+						<entry>Keyword</entry>
+						<entry>Description</entry>
+						<entry>Type</entry>
+					</row>
+				</thead>
+				<tbody>
+					<row>
+						<entry>type</entry>
+						<entry>data type of map elements</entry>
+						<entry>string ':' string:  ipv4_addr, ipv6_addr, ether_addr, inet_proto, inet_service, mark, counter, quota. Counter and quota can't be used as keys</entry>
+					</row>
+					<row>
+						<entry>flags</entry>
+						<entry>map flags</entry>
+						<entry>string: constant, interval</entry>
+					</row>
+					<row>
+						<entry>elements</entry>
+						<entry>elements contained by the map</entry>
+						<entry>map data type</entry>
+					</row>
+					<row>
+						<entry>size</entry>
+						<entry>maximun number of elements in the map</entry>
+						<entry>unsigned integer (64 bit)</entry>
+					</row>
+					<row>
+						<entry>policy</entry>
+						<entry>map policy</entry>
+						<entry>string: performance [default], memory</entry>
 					</row>
 				</tbody>
 			</tgroup>
-- 
2.7.4


             reply	other threads:[~2017-02-13 16:47 UTC|newest]

Thread overview: 2+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2017-02-13 16:47 Elise Lennion [this message]
2017-02-16 19:10 ` [PATCH nft] doc: Document maps Pablo Neira Ayuso

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20170213164711.GA12126@lennorien.com \
    --to=elise.lennion@gmail.com \
    --cc=netfilter-devel@vger.kernel.org \
    --cc=pablo@netfilter.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.