From: Pablo Neira Ayuso <pablo@netfilter.org>
To: Arturo Borrero Gonzalez <arturo.borrero.glez@gmail.com>
Cc: Netfilter Development Mailing list
<netfilter-devel@vger.kernel.org>,
kaber@trash.net, jp.pozzi@izzop.net
Subject: Re: [nft] all chains of a table are listed
Date: Wed, 23 Sep 2015 11:58:08 +0200 [thread overview]
Message-ID: <20150923095808.GA4432@salvia> (raw)
In-Reply-To: <CAOkSjBiSbL1sJ268dL-6n1upXNW=5c0j864dTubu8FKMSxQruw@mail.gmail.com>
Hi Arturo,
Cc'ing JP Pozzi, he also filed a bug into netfilter bugzilla that is
related to this.
Several comments below.
On Tue, Sep 22, 2015 at 02:06:25PM +0200, Arturo Borrero Gonzalez wrote:
> Hi!
>
> It seems all chains of a given table are always listed. Is this the
> intended behaviour?
>
> % sudo nft list table test
> table ip test {
> chain test1 {
> }
>
> chain test2 {
> }
> }
>
> % sudo nft list chain test test1
> table ip test {
> chain test1 {
> }
>
> chain test2 {
> }
> }
>
> % sudo nft list chain test test2
> table ip test {
> chain test1 {
> }
>
> chain test2 {
> }
> }
I went back to the bugzilla report I thought it was indicating exactly
the same thing. However, it's actually pointing to a different
(related) thing:
http://bugzilla.netfilter.org/show_bug.cgi?id=1014
JP suggests that the chain listing only displays the chain content,
ie. only the rules. I understand he wants to use the list command to
filter out things when the ruleset contains *many things* which sounds
quite reasonable, something like:
# nft list chain test test1
chain test1 {
type filter hook input priority 0; policy drop;
counter accept
}
# nft list chain test test2
chain test2 {
type filter hook input priority 0; policy drop;
counter accept
}
To get things aligned with what we have, we should also have a some
way to list the chain definitions only:
# nft list chains
table ip filter {
chain test1 {
type filter hook input priority 0; policy drop;
}
chain test2 {
type filter hook input priority 0; policy drop;
}
}
table ip6 filter {
chain test1 {
type filter hook input priority 0; policy drop;
}
}
The listing shows *no content*, only the chain declarations, no rules.
Then, if you want to zoom in into the chain content, you can do:
# nft list chain test test1
chain test1 {
type filter hook input priority 0; policy drop;
counter accept
}
We should also get this aligned with 'nft list ruleset' so:
# nft list chains ip6
table ip6 filter {
chain test1 {
type filter hook input priority 0; policy drop;
}
}
Only shows the chains under the ip6 family.
Then, we can fix `nft list sets' to display things like this:
# nft list sets
table ip filter {
set test {
type ipv4_addr
}
set test2 {
type ipv4_addr
}
}
table ip6 filter {
set test {
type ipv6_addr
}
}
Again, with no content (no elements), so you have to use:
# nft list set ip filter test
to zoom in and get the element listing.
Then, also support to filter out by family:
# nft list sets ip6
table ip6 filter {
set test {
type ipv6_addr
}
}
Does this look good to you?
Thanks.
next prev parent reply other threads:[~2015-09-23 9:51 UTC|newest]
Thread overview: 4+ messages / expand[flat|nested] mbox.gz Atom feed top
2015-09-22 12:06 [nft] all chains of a table are listed Arturo Borrero Gonzalez
2015-09-22 16:02 ` Pablo Neira Ayuso
2015-09-23 9:58 ` Pablo Neira Ayuso [this message]
2015-09-23 12:12 ` Arturo Borrero Gonzalez
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=20150923095808.GA4432@salvia \
--to=pablo@netfilter.org \
--cc=arturo.borrero.glez@gmail.com \
--cc=jp.pozzi@izzop.net \
--cc=kaber@trash.net \
--cc=netfilter-devel@vger.kernel.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.