<html>
    <head>
      <base href="https://bugzilla.netfilter.org/" />
    </head>
    <body><table border="1" cellspacing="0" cellpadding="8">
        <tr>
          <th>Bug ID</th>
          <td><a class="bz_bug_link 
          bz_status_NEW "
   title="NEW - manpage documentation inconsistencies"
   href="https://bugzilla.netfilter.org/show_bug.cgi?id=1279">1279</a>
          </td>
        </tr>

        <tr>
          <th>Summary</th>
          <td>manpage documentation inconsistencies
          </td>
        </tr>

        <tr>
          <th>Product</th>
          <td>nftables
          </td>
        </tr>

        <tr>
          <th>Version</th>
          <td>unspecified
          </td>
        </tr>

        <tr>
          <th>Hardware</th>
          <td>All
          </td>
        </tr>

        <tr>
          <th>OS</th>
          <td>All
          </td>
        </tr>

        <tr>
          <th>Status</th>
          <td>NEW
          </td>
        </tr>

        <tr>
          <th>Severity</th>
          <td>enhancement
          </td>
        </tr>

        <tr>
          <th>Priority</th>
          <td>P5
          </td>
        </tr>

        <tr>
          <th>Component</th>
          <td>nft
          </td>
        </tr>

        <tr>
          <th>Assignee</th>
          <td>pablo@netfilter.org
          </td>
        </tr>

        <tr>
          <th>Reporter</th>
          <td>mqus@disroot.org
          </td>
        </tr></table>
      <p>
        <div>
        <pre>I have multiple small(ish) issues with the documentation, mainly the man page
and the output on nft --help:

1: nft --help lists the -j switch to format the output in json. this is both
not working (e.g. "nft list table inet filter -j" doesn't output things in
json) and documented in the man page, so this should be reflected in the --help
output

2: the nft man page describes 'nft export' as supporting json and xml formats.
If I try this on my machine (archlinux, nft v0.9.0), it supports neither, and
if I try 'nft export' it suggests to use 'nft export vm' and 'nft export vm
json' successively, with the last one actually outputting json. Why are xml and
json documented in the manpage but not supported in the tool, and why is 'vm'
(what does that mean, anyway?) supported but not documented? 
The solution here would be to document the export better, e.g. mention that
perhaps json and xml support have to be enabled on build time (see 2.1) and
maybe mention vm (even if only as deprecated/unsupported/internal, because one
would eventually stumble on it with the 'expecting  [...]' error messages)

2.1: related to 2: where is mentioned that jansson is needed for displaying
json? 
 I only found it out by looking through the build files/source code, but
looking at <a href="https://netfilter.org/projects/nftables/index.html">https://netfilter.org/projects/nftables/index.html</a> (which lists the
neccessary libraries), <a href="https://git.netfilter.org/nftables/tree/INSTALL">https://git.netfilter.org/nftables/tree/INSTALL</a> (which
lists install dependencies) and
<a href="https://wiki.nftables.org/wiki-nftables/index.php?title=Special%3ASearch&search=jansson&go=Go">https://wiki.nftables.org/wiki-nftables/index.php?title=Special%3ASearch&search=jansson&go=Go</a>
I can't find any way a packager or user would find out about it. The same goes
for xml output (didn't look up the specific library).

3: nft list tables
This is a command I find most useful but is actually not listed in the man
page. Are there more commands like this which output a space-separated table?
This is really useful for scripting.

3.1 nft list meter
This is part of an example on the set statement in the manpage. But apart from
that, meters are not documented at all. Are they the same as 'counter' or
'quota'?

4: handles
The handle concept could be explained better in the manpage (e.g. Is there a
reason I should delete sets/chains/tables/... by their handle and not by their
name?)

5: meta expressions (manpage)
It is explained that there are unqualified and qualified meta expressions, but
as I'm a noob I can't understand what qualified and unqualified actually means.
Is the only difference the 'meta' keyword or is there a difference in meaning?
I don't think that I'm the only one wondering about this and therefore think
this should be explained.

6: fib expressions
The only thing I don't understand here is the syntax of the expression
notation. The nested curly braces are not really intuitive.

7: nft add rule 
This part of the manpage mentions that a rule consists of one or multiple
statements. but the way statements are defined below (only actions), the actual
rule consisting of expressions (and how these can be combined/composed) is not
explained at all.

I'm currently working on a zsh completion script for nft and these things are
important to me as I'm practically adding another small subset of documentation
to the completion script.</pre>
        </div>
      </p>
      <hr>
      <span>You are receiving this mail because:</span>
      
      <ul>
          <li>You are watching all bug changes.</li>
      </ul>
    </body>
</html>