All of lore.kernel.org
 help / color / mirror / Atom feed
From: Cong Wang <xiyou.wangcong@gmail.com>
To: Daniel Borkmann <daniel@iogearbox.net>
Cc: David Miller <davem@davemloft.net>,
	Alexei Starovoitov <alexei.starovoitov@gmail.com>,
	john fastabend <john.fastabend@gmail.com>,
	Jamal Hadi Salim <jhs@mojatatu.com>,
	Linux Kernel Network Developers <netdev@vger.kernel.org>,
	Thomas Graf <tgraf@suug.ch>
Subject: Re: [PATCH net-next] net, cls: allow for deleting all filters for given parent
Date: Thu, 9 Jun 2016 15:54:30 -0700	[thread overview]
Message-ID: <CAM_iQpVga4J92BJr6_zxMwVg4M=VBeqveiTiqHG+chnk3ZD2TA@mail.gmail.com> (raw)
In-Reply-To: <57588E66.8070509@iogearbox.net>

On Wed, Jun 8, 2016 at 2:30 PM, Daniel Borkmann <daniel@iogearbox.net> wrote:
> On 06/06/2016 09:52 PM, Cong Wang wrote:
>>
>> On Mon, Jun 6, 2016 at 12:25 PM, Daniel Borkmann <daniel@iogearbox.net>
>> wrote:
>
> [...]
>>
>> This is fundamental for libnl to update caches.
>>
>> I don't understand why it should be separated, since notification is
>> not a feature, we already have notifications in other paths.
>>
>>> Looking into this, I would probably make this a single notification that
>>> denotes this 'wild-card' removal for that parent instead of calling
>>> tfilter_notify() for each filter separately (which allocs skb, dumps it,
>>> etc), qdisc del doesn't loop through it either, so probably fine this
>>> way.
>>
>>
>> Makes sense.
>
>
> I've been playing around with both options and am actually currently
> leaning towards the tfilter_notify() for each proto for the reason
> that user space tc monitors can simply stay as is. F.e., if someone
> keeps an older libnl binary that wouldn't understand such a wildcard
> message, then elements in libnl cache won't receive updates since the
> meta data won't match on them (average case, there probably are only
> one up to a handful of classifiers per parent) ... hm, different topic
> but still wondering whether libnl relying on such messages is a good
> idea in general since under stress tfilter_notify() can also fail and
> user space won't get the updates (except for queries with RTM_GETTFILTER).

Don't worry about any failure in tfilter_notify(), we call it in
non-wildcard removal too. Your current patch looks good to me.

Thanks!

  reply	other threads:[~2016-06-09 22:54 UTC|newest]

Thread overview: 12+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2016-06-04 16:24 [PATCH net-next] net, cls: allow for deleting all filters for given parent Daniel Borkmann
2016-06-05 12:24 ` Jamal Hadi Salim
2016-06-05 12:53 ` Sergei Shtylyov
2016-06-05 17:47   ` Daniel Borkmann
2016-06-06 16:41     ` Sergei Shtylyov
2016-06-06 17:12 ` Cong Wang
2016-06-06 19:25   ` Daniel Borkmann
2016-06-06 19:52     ` Cong Wang
2016-06-06 20:32       ` Daniel Borkmann
2016-06-08 21:30       ` Daniel Borkmann
2016-06-09 22:54         ` Cong Wang [this message]
2016-06-10 11:49           ` Jamal Hadi Salim

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='CAM_iQpVga4J92BJr6_zxMwVg4M=VBeqveiTiqHG+chnk3ZD2TA@mail.gmail.com' \
    --to=xiyou.wangcong@gmail.com \
    --cc=alexei.starovoitov@gmail.com \
    --cc=daniel@iogearbox.net \
    --cc=davem@davemloft.net \
    --cc=jhs@mojatatu.com \
    --cc=john.fastabend@gmail.com \
    --cc=netdev@vger.kernel.org \
    --cc=tgraf@suug.ch \
    /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.