From: Alexei Starovoitov <ast@plumgrid.com>
To: Jiri Pirko <jiri@resnulli.us>
Cc: Daniel Borkmann <daniel@iogearbox.net>,
"David S. Miller" <davem@davemloft.net>,
Jamal Hadi Salim <jhs@mojatatu.com>,
linux-api@vger.kernel.org, netdev@vger.kernel.org
Subject: Re: [PATCH net-next] tc: bpf: add checksum helpers
Date: Thu, 02 Apr 2015 10:56:10 -0700 [thread overview]
Message-ID: <551D82BA.1010809@plumgrid.com> (raw)
In-Reply-To: <20150402174603.GE2613@nanopsycho.orion>
On 4/2/2015 10:46 AM, Jiri Pirko wrote:
> Thu, Apr 02, 2015 at 06:34:59PM CEST, ast@plumgrid.com wrote:
>> On 4/2/2015 8:21 AM, Daniel Borkmann wrote:
>>> On 04/02/2015 05:15 PM, Jiri Pirko wrote:
>>>> Thu, Apr 02, 2015 at 05:00:47PM CEST, daniel@iogearbox.net wrote:
>>>>> On 04/02/2015 02:12 AM, Alexei Starovoitov wrote:
>>>>>> Commit 608cd71a9c7c ("tc: bpf: generalize pedit action") has added the
>>>>>> possibility to mangle packet data to BPF programs in the tc pipeline.
>>>>>> This patch adds two helpers bpf_l3_csum_replace() and
>>>>>> bpf_l4_csum_replace()
>>>>>> for fixing up the protocol checksums after the packet mangling.
>>>>>>
>>>>>> It also adds 'flags' argument to bpf_skb_store_bytes() helper to avoid
>>>>>> unnecessary checksum recomputations when BPF programs adjusting l3/l4
>>>>>> checksums and documents all three helpers in uapi header.
>>>>>>
>>>>>> Moreover, a sample program is added to show how BPF programs can
>>>>>> make use
>>>>>> of the mangle and csum helpers.
>>>>>>
>>>>>> Signed-off-by: Alexei Starovoitov <ast@plumgrid.com>
>>>>>
>>>>> I think in future we need to find a better place for these helpers,
>>>>> as they are for cls_bpf and act_bpf.
>>>>
>>>> Yeah, makes sense to now have it in net/core/filter.c. How about to
>>>> create net/bpf dir for these?
>>>
>>> I was thinking somewhere under net/sched/, f.e. net/sched/bpf.c
>>> as probably kernel/bpf/ would end up in too much ifdef pasta. :/
>>
>> I would prefer to keep mangle and csum helpers in net/core/filter.c for
>> now, since it's not clear what networking subsystems beyond TC would
>> want to use them in the future. Otherwise we'll keep moving them back
>> and forth.
>
> Well, therefore I suggested net/bpf/ dir as a place to store
> net-subsystem specific bpf stuff.
ahh. misread your earlier statement. yes. makes sense in long term.
Right now feels too early to create a dir for just 3 functions.
Eventually half of filter.c probably belongs in there.
next prev parent reply other threads:[~2015-04-02 17:56 UTC|newest]
Thread overview: 9+ messages / expand[flat|nested] mbox.gz Atom feed top
2015-04-02 0:12 [PATCH net-next] tc: bpf: add checksum helpers Alexei Starovoitov
[not found] ` <1427933533-14394-1-git-send-email-ast-uqk4Ao+rVK5Wk0Htik3J/w@public.gmane.org>
2015-04-02 15:00 ` Daniel Borkmann
[not found] ` <551D599F.30408-FeC+5ew28dpmcu3hnIyYJQ@public.gmane.org>
2015-04-02 15:15 ` Jiri Pirko
2015-04-02 15:21 ` Daniel Borkmann
[not found] ` <551D5E69.4050704-FeC+5ew28dpmcu3hnIyYJQ@public.gmane.org>
2015-04-02 16:34 ` Alexei Starovoitov
2015-04-02 17:46 ` Jiri Pirko
2015-04-02 17:56 ` Alexei Starovoitov [this message]
2015-04-02 18:01 ` Daniel Borkmann
2015-04-06 20:42 ` 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=551D82BA.1010809@plumgrid.com \
--to=ast@plumgrid.com \
--cc=daniel@iogearbox.net \
--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.