From: Pablo Neira Ayuso <pablo@netfilter.org>
To: Phil Sutter <phil@nwl.cc>
Cc: Thomas Haller <thaller@redhat.com>, netfilter-devel@vger.kernel.org
Subject: Re: [nft PATCH] tests: shell: Fix sets/reset_command_0 for current kernels
Date: Wed, 22 Nov 2023 12:30:57 +0100 [thread overview]
Message-ID: <ZV3mcc4otdRS0gL3@calendula> (raw)
In-Reply-To: <ZUoTmq8cwj+A9WO+@orbyte.nwl.cc>
Hi Phil,
Picking up on this because I still see:
W: [FAILED] 331/389 testcases/sets/reset_command_0
here, maybe you can merge this change now? 6.5.x -stable will also
enter EoL in one more.
More comments below regarding your open questions.
On Tue, Nov 07, 2023 at 11:38:18AM +0100, Phil Sutter wrote:
> On Thu, Nov 02, 2023 at 09:32:30PM +0100, Pablo Neira Ayuso wrote:
> > On Thu, Nov 02, 2023 at 06:06:34PM +0100, Phil Sutter wrote:
> > > On Thu, Nov 02, 2023 at 04:29:34PM +0100, Thomas Haller wrote:
> > > > On Thu, 2023-11-02 at 16:03 +0100, Phil Sutter wrote:
> > > > >
> > > > > +# Note: Element expiry is no longer reset since kernel commit
> > > > > 4c90bba60c26
> > > > > +# ("netfilter: nf_tables: do not refresh timeout when resetting
> > > > > element"),
> > > > > +# the respective parts of the test have therefore been commented
> > > > > out.
> > > >
> > > > Hi Phil,
> > > >
> > > > do you expect that the old behavior ever comes back?
> > >
> > > A recent nfbz comment[1] from Pablo made me doubt the decision is final,
> > > though I may have misread it.
> >
> > I hesitate on changing --stateless behaviour, but I don't find a
> > usecase for this option all alone unless it is combined with --terse,
> > to store an initial ruleset skeleton with no elements and no states.
> > Sets with timeout likely contain elements that get dynamically added
> > either via control plane or packet path based on some heuristics.
>
> Unrelated to the expires vs. reset question, I wonder if one should
> treat set elements with timeout as state themselves. If one leaves the
> ruleset alone for long enough, they all will eventually vanish. So one
> may argue the ruleset in its stateless form does not have elements in a
> set with defined timeout.
The only usecase I can find for --stateless is diff'ing outputs
between two delta in time, to see what new elements are added and what
are gone. So I inclined to leave --stateless as is now.
> > > > Why keep the old checks (commented out)? Maybe drop them? We can get it
> > > > from git history.
> > >
> > > Should the change be permanent, one should change the tests to assert
> > > the opposite, namely that expires values are unaffected by the reset.
> >
> > I think it is fine as it is now in the kernel. I have posted patches
> > to allow to update element timeouts via transaction, which looks more
> > flexible and run through the transaction path. As for counter and
> > quota, users likely only want to either: 1) restore a previous state
> > (after reboot) or 2) dump-and-reset counters for stats collection
> > (e.g. fetch counters at the end of the day).
>
> I still doubt there's a use-case to do (1) or (2) in sets with
> temporary elements.
For the reboot case, restoring temporary elements (which were added
via datapath) might make sense to me.
But there are limitations: connlimit is one of them because the
internal state of this datastructure gets losts between reboots.
next prev parent reply other threads:[~2023-11-22 11:31 UTC|newest]
Thread overview: 9+ messages / expand[flat|nested] mbox.gz Atom feed top
2023-11-02 15:03 [nft PATCH] tests: shell: Fix sets/reset_command_0 for current kernels Phil Sutter
2023-11-02 15:29 ` Thomas Haller
2023-11-02 17:06 ` Phil Sutter
2023-11-02 20:32 ` Pablo Neira Ayuso
2023-11-05 18:35 ` Pablo Neira Ayuso
2023-11-07 10:38 ` Phil Sutter
2023-11-22 11:30 ` Pablo Neira Ayuso [this message]
2023-11-22 13:35 ` Phil Sutter
2023-11-22 17:50 ` 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=ZV3mcc4otdRS0gL3@calendula \
--to=pablo@netfilter.org \
--cc=netfilter-devel@vger.kernel.org \
--cc=phil@nwl.cc \
--cc=thaller@redhat.com \
/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.