From: Daniel Borkmann <daniel@iogearbox.net>
To: Alexei Starovoitov <ast@plumgrid.com>,
"David S. Miller" <davem@davemloft.net>
Cc: Jiri Pirko <jiri@resnulli.us>,
Jamal Hadi Salim <jhs@mojatatu.com>,
linux-api@vger.kernel.org, netdev@vger.kernel.org
Subject: Re: [PATCH net-next] tc: cls_bpf: make ingress and egress qdiscs consistent
Date: Sat, 04 Apr 2015 00:54:12 +0200 [thread overview]
Message-ID: <551F1A14.7080205@iogearbox.net> (raw)
In-Reply-To: <551F1177.7090902@plumgrid.com>
On 04/04/2015 12:17 AM, Alexei Starovoitov wrote:
...
> 1. there shouldn't be a choice at all for bpf. Because not pulling l2
> means it's bug.
Yep, correct. You would also loose context for a possible dissection,
at best you only have skb->protocol.
> 2. adding a flag means adding it to iproute2 with default off and making
> users forgetting it from time to time and have no way of knowing why
> their programs all of a sudden stopped working.
>
> classic falls under the same rules. It doesn't make sense at all to run
> a program on packet without L2 header. It's very odd both for classic
> and extended programs.
Yep.
> Two 'if' conditions in critical path is bogus argument, since these
> checks would be there in ingress as well. Same critical path.
Why bogus? There would be no such test on the normal egress path,
where this is irrelevant. I wasn't talking about ingress here.
I see the point regarding the user option. So, why not adding a flag
to tcf_proto_ops a la `.flags = CLS_REQUIRES_L2` that gets propagated
to tcf_proto, and only ingress_enqueue() would need to test if the
classifier imposes that requirement, so it can push/pull.
next prev parent reply other threads:[~2015-04-03 22:54 UTC|newest]
Thread overview: 13+ messages / expand[flat|nested] mbox.gz Atom feed top
2015-04-03 21:16 [PATCH net-next] tc: cls_bpf: make ingress and egress qdiscs consistent Alexei Starovoitov
[not found] ` <1428095784-7091-1-git-send-email-ast-uqk4Ao+rVK5Wk0Htik3J/w@public.gmane.org>
2015-04-03 21:46 ` Daniel Borkmann
[not found] ` <551F0A1B.3000100-FeC+5ew28dpmcu3hnIyYJQ@public.gmane.org>
2015-04-03 21:52 ` Alexei Starovoitov
[not found] ` <551F0B96.2090403-uqk4Ao+rVK5Wk0Htik3J/w@public.gmane.org>
2015-04-03 22:10 ` Daniel Borkmann
[not found] ` <551F0FE2.8000502-FeC+5ew28dpmcu3hnIyYJQ@public.gmane.org>
2015-04-03 22:17 ` Alexei Starovoitov
2015-04-03 22:54 ` Daniel Borkmann [this message]
[not found] ` <551F1A14.7080205-FeC+5ew28dpmcu3hnIyYJQ@public.gmane.org>
2015-04-03 23:04 ` Alexei Starovoitov
2015-04-03 23:11 ` Alexei Starovoitov
[not found] ` <551F1E13.8050508-uqk4Ao+rVK5Wk0Htik3J/w@public.gmane.org>
2015-04-03 23:26 ` Daniel Borkmann
2015-04-03 23:48 ` Daniel Borkmann
2015-04-04 0:14 ` Alexei Starovoitov
[not found] ` <551F2CD4.2080502-uqk4Ao+rVK5Wk0Htik3J/w@public.gmane.org>
2015-04-04 6:34 ` Daniel Borkmann
2015-04-07 18:51 ` David Miller
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=551F1A14.7080205@iogearbox.net \
--to=daniel@iogearbox.net \
--cc=ast@plumgrid.com \
--cc=davem@davemloft.net \
--cc=jhs@mojatatu.com \
--cc=jiri@resnulli.us \
--cc=linux-api@vger.kernel.org \
--cc=netdev@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.