netfilter-devel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Florian Westphal <fw@strlen.de>
To: Pablo Neira Ayuso <pablo@netfilter.org>
Cc: netfilter-devel@vger.kernel.org, fw@strlen.de
Subject: Re: [PATCH conntrack] conntrack: label update requires a previous label in place
Date: Wed, 11 Oct 2023 13:10:29 +0200	[thread overview]
Message-ID: <20231011111029.GE1407@breakpoint.cc> (raw)
In-Reply-To: <ZSZ39VSJWfPjeizQ@calendula>

Pablo Neira Ayuso <pablo@netfilter.org> wrote:
> On Wed, Oct 11, 2023 at 11:55:03AM +0200, Pablo Neira Ayuso wrote:
> > You have to set an initial label if you plan to update it later on.  If
> > conntrack comes with no initial label, then it is not possible to attach
> > it later because conntrack extensions are created by the time the new
> > entry is created.
> > 
> > Skip entries with no label to skip ENOSPC error for conntracks that have
> > no initial label (this is assuming a scenario with conntracks with and
> > _without_ labels is possible, and the conntrack command line tool is used
> > to update all entries regardless they have or not an initial label, e.g.
> > conntrack -U --label-add "testlabel".
> 
> Still not fully correct.
> 
> Current behaviour is:
> 
> If there is at least one rule in the ruleset that uses the connlabel,
> then connlabel conntrack extension is always allocated.
> 
> I wonder if this needs a sysctl toggle just like
> nf_conntrack_timestamp. Otherwise I am not sure how to document this.

Rationale was that if you have no rules that check on labels then
there is never a need to allocate the space.

I'm working on a patchset that will also set/enable the label
extension if its enabled on the template. The idea is to convert
ovs and act_ct to it, currently they point-blank increment
net->ct.labels_used which means that all conntrack objects get the
label area allocated.

But thats not what the counter was (originally) meant to convey, it
was really 'number of connlabel rules'.

As soon as act_ct or ovs modules are loaded, then all the namespaces
see 'I need conntrack labels', which completely voids all attempts to
avoid ct->ext allocation.


  reply	other threads:[~2023-10-11 11:11 UTC|newest]

Thread overview: 7+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2023-10-11  9:55 [PATCH conntrack] conntrack: label update requires a previous label in place Pablo Neira Ayuso
2023-10-11 10:24 ` Pablo Neira Ayuso
2023-10-11 11:10   ` Florian Westphal [this message]
2023-10-11 13:35     ` Pablo Neira Ayuso
2023-10-11 14:00       ` Florian Westphal
2023-10-11 15:05         ` Pablo Neira Ayuso
  -- strict thread matches above, loose matches on Subject: below --
2023-10-11  9:35 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=20231011111029.GE1407@breakpoint.cc \
    --to=fw@strlen.de \
    --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).