All of lore.kernel.org
 help / color / mirror / Atom feed
From: Alexei Starovoitov <ast@plumgrid.com>
To: Daniel Borkmann <daniel@iogearbox.net>,
	"David S. Miller" <davem@davemloft.net>
Cc: Thomas Graf <tgraf@suug.ch>,
	linux-api@vger.kernel.org, netdev@vger.kernel.org,
	linux-kernel@vger.kernel.org
Subject: Re: [PATCH v2 net-next 1/2] bpf: allow extended BPF programs access skb fields
Date: Sat, 14 Mar 2015 19:02:57 -0700	[thread overview]
Message-ID: <5504E851.7000302@plumgrid.com> (raw)
In-Reply-To: <5504C989.8000800@iogearbox.net>

On 3/14/15 4:51 PM, Daniel Borkmann wrote:
> On 03/14/2015 04:55 PM, Alexei Starovoitov wrote:
> ...
>> so from there I saw two options: either copy paste all
>> build_bug_on and have the same *insn=... and build_bug_on in
>> two places or consolidate them in single helper function.
>> Obviously single helper function is a preferred method.
>> I'm not sure what are you still arguing about.
>
> I'm repeating myself here, but fair enough. To me the v1
> code in sk_filter_convert_ctx_access() was more sound. So
> taking out the ifindex issue, that's 4 BUILD_BUG_ON()s in
> addition.

correct. it's 4 build_bug_on to several lines of copy pasted code.
That copy-paste between two functions was already bugging me
when I posted v1, but back then I didn't see a way to create
a common helper.
Adding this 4 extra lines pushed it over my internal bar of
'acceptable' copied code :)
so in v2 I figured a way to create a helper.

> I actually think the current filter code is in a reasonable
> shape. convert_bpf_extensions() is full of BPF to eBPF
> conversions, so going over convert_bpf_extensions() some of
> them would now use convert_skb_access(), some other ``skb
> accesses''use macros directly in place, the reading-flow of
> this code now is inconsistent to me and it would have been
> more sound if that's just left as is in convert_bpf_extensions().

I still don't see this 'inconsistency'.
convert_bpf_extensions() has code to convert classic only accesses.
convert_skb_access() has code to convert both classic and extended.
sk_filter_convert_ctx_access() has code to convert extended only.

In this patch convert_skb_access() has to deal with 3 fields.
Later we may allow more field to be accessed by extended, so
more lines will simply move from convert_bpf_extensions() into
convert_skb_access(). So it will save us from copy-pasting in the
future.

  reply	other threads:[~2015-03-15  2:02 UTC|newest]

Thread overview: 22+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2015-03-13 18:57 [PATCH v2 net-next 0/2] bpf: allow eBPF access skb fields Alexei Starovoitov
2015-03-13 18:57 ` Alexei Starovoitov
2015-03-13 18:57 ` [PATCH v2 net-next 1/2] bpf: allow extended BPF programs " Alexei Starovoitov
     [not found]   ` <1426273064-4837-2-git-send-email-ast-uqk4Ao+rVK5Wk0Htik3J/w@public.gmane.org>
2015-03-14  1:46     ` Daniel Borkmann
2015-03-14  1:46       ` Daniel Borkmann
     [not found]       ` <550392F7.9040308-FeC+5ew28dpmcu3hnIyYJQ@public.gmane.org>
2015-03-14  2:06         ` Daniel Borkmann
2015-03-14  2:06           ` Daniel Borkmann
2015-03-14  2:08           ` Alexei Starovoitov
2015-03-14  2:16             ` Daniel Borkmann
     [not found]               ` <55039A0D.20000-FeC+5ew28dpmcu3hnIyYJQ@public.gmane.org>
2015-03-14  2:27                 ` Alexei Starovoitov
2015-03-14  2:27                   ` Alexei Starovoitov
2015-03-14  4:59                   ` Alexei Starovoitov
2015-03-14  9:35                     ` Daniel Borkmann
     [not found]                       ` <550400D8.5060407-FeC+5ew28dpmcu3hnIyYJQ@public.gmane.org>
2015-03-14 15:55                         ` Alexei Starovoitov
2015-03-14 15:55                           ` Alexei Starovoitov
     [not found]                           ` <550459E4.1050808-uqk4Ao+rVK5Wk0Htik3J/w@public.gmane.org>
2015-03-14 23:51                             ` Daniel Borkmann
2015-03-14 23:51                               ` Daniel Borkmann
2015-03-15  2:02                               ` Alexei Starovoitov [this message]
2015-03-14  2:07       ` Alexei Starovoitov
2015-03-13 18:57 ` [PATCH v2 net-next 2/2] samples: bpf: add skb->field examples and tests Alexei Starovoitov
     [not found] ` <1426273064-4837-1-git-send-email-ast-uqk4Ao+rVK5Wk0Htik3J/w@public.gmane.org>
2015-03-16  2:03   ` [PATCH v2 net-next 0/2] bpf: allow eBPF access skb fields David Miller
2015-03-16  2:03     ` 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=5504E851.7000302@plumgrid.com \
    --to=ast@plumgrid.com \
    --cc=daniel@iogearbox.net \
    --cc=davem@davemloft.net \
    --cc=linux-api@vger.kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --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.