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

On Wed, Oct 11, 2023 at 01:10:29PM +0200, Florian Westphal wrote:
> 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.

OK, so instead a of per-netns sysctl toggle, you propose to use the
conntrack template to selectively enable this.

  reply	other threads:[~2023-10-11 13:35 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
2023-10-11 13:35     ` Pablo Neira Ayuso [this message]
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=ZSakk9nuZZXAb+qE@calendula \
    --to=pablo@netfilter.org \
    --cc=fw@strlen.de \
    --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.