From: Patrick McHardy <kaber@trash.net>
To: Pablo Neira Ayuso <pablo@netfilter.org>
Cc: ana@soleta.eu, netfilter-devel@vger.kernel.org
Subject: Re: [nf-next] netfilter: acct: add support to accounters in nftables
Date: Mon, 12 Jan 2015 12:59:19 +0000 [thread overview]
Message-ID: <20150112125919.GM3491@acer.localdomain> (raw)
In-Reply-To: <20150112123337.GK3491@acer.localdomain>
On 12.01, Patrick McHardy wrote:
> On 12.01, Pablo Neira Ayuso wrote:
> > On Mon, Jan 12, 2015 at 11:45:39AM +0000, Patrick McHardy wrote:
> > > > NFT_ACCT_MAXNAMELEN needs to be limited to 16 bytes, so we can easily
> > > > use acct objects from mappings.
> > >
> > > Not saying that we need more than 16 bytes, but we'd hopefully use
> > > references instead of runtime resolved lookups in mappings :)
> >
> > I just noticed Ana have to replace NFTA_ACCT_EXPR_NAME by
> > NFTA_ACCT_EXPR_SREG to support mappings.
> >
> > What's your idea behind the references? Use some unique id to identify
> > the object instead of the name?
>
> Similar to verdicts we'd include another data type which refers to
> accounting objects. Those are resolved when the data is created and
> we'd return them from the map lookup. Resolving can use the name,
> just as we do for chains.
>
> At runtime the map would either load the reference to a register and
> pass it to the counter expression (might need a special register
> similar to NFT_REG_VERDICT) or we just add a special type of the
> counter expression that invokes the lookup itself.
Thinking a bit more about this, I think this is very much similar
to what we've discussed about having some generic state provider
for limit, quota etc.
In all these cases we need to provide some persistent storage to
the expressions to be used instead of their private data. For
hashlimit or hashquota it would probably be based on some generic
state provider that dynamically instantiates this, but its still
very similar to looking up an accounting object in a set and
passing that on.
So strike that "special type of counter expression", I think what
we need is either a special register to pass state between modules
or just some better validation for the existing registers so passing
pointers is safe.
next prev parent reply other threads:[~2015-01-12 12:59 UTC|newest]
Thread overview: 20+ messages / expand[flat|nested] mbox.gz Atom feed top
2015-01-12 10:55 Accounting objects support in nft ana
[not found] ` <cover.1421059771.git.ana@soleta.eu>
2015-01-12 10:55 ` [nf-next] netfilter: acct: add support to accounters in nftables ana
2015-01-12 11:31 ` Pablo Neira Ayuso
2015-01-12 11:45 ` Patrick McHardy
2015-01-12 12:27 ` Pablo Neira Ayuso
2015-01-12 12:33 ` Patrick McHardy
2015-01-12 12:59 ` Patrick McHardy [this message]
2015-01-13 18:01 ` Patrick McHardy
2015-01-12 11:42 ` Patrick McHardy
[not found] ` <cover.1421059891.git.ana@soleta.eu>
2015-01-12 10:55 ` [libnftnl] src: Add accounters support ana
2015-01-12 10:55 ` [nft 1/2] src: Add the accounter support ana
2015-01-12 10:55 ` [nft 2/2] tests: regression: Accounter support ana
2015-01-12 11:39 ` Accounting objects support in nft Patrick McHardy
2015-01-12 12:19 ` Pablo Neira Ayuso
2015-01-12 11:48 ` Arturo Borrero Gonzalez
2015-01-12 12:35 ` Pablo Neira Ayuso
2015-01-12 12:37 ` Patrick McHardy
2015-01-12 13:38 ` Pablo Neira Ayuso
2015-01-12 20:43 ` Arturo Borrero Gonzalez
2015-01-13 8:25 ` Ana Rey
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=20150112125919.GM3491@acer.localdomain \
--to=kaber@trash.net \
--cc=ana@soleta.eu \
--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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).