From: Jiri Pirko <jpirko@redhat.com>
To: netdev@vger.kernel.org
Cc: eric.dumazet@gmail.com, davem@davemloft.net,
bhutchings@solarflare.com, shemminger@vyatta.com
Subject: [Q/RFC] BPF use in broader scope
Date: Thu, 29 Mar 2012 09:44:43 +0200 [thread overview]
Message-ID: <20120329074443.GB2098@minipsycho> (raw)
Hi all.
I came to an idea of using BPF infrastructure currently used in kernel,
for computing hashes selecting TX ports in team device. Since the same
data (skb) are alalyzed/used as for socket filtering, BPF seems so be quite
suitable for this. It would allow userspace daemon to specify various
kinds of TX selection algorithms.
Here are proposed things to be done:
1) introduce in-kernel api for creating sk-unattached filters (I have
the patch cooked up already)
2) extend current BPF machine to allow XOR operation. Not sure if this
is doable or what the best of doing this is.
3) add possibility to pass some data to the machine via
pre-filling "Scratch Memory Store". I think this can be done easily
moving "u32 mem[BPF_MEMWORDS];" to bpf_func caller and pass it as the
second function parameter. That should not break anything.
Then the computed hash can be either stored into Scratch memory or returned
directly (where ordinary sk filters return len).
Does this seems reasonable? Thoughts, comments?
Thanks!
Jirka
next reply other threads:[~2012-03-29 7:44 UTC|newest]
Thread overview: 15+ messages / expand[flat|nested] mbox.gz Atom feed top
2012-03-29 7:44 Jiri Pirko [this message]
2012-03-29 7:49 ` [Q/RFC] BPF use in broader scope David Miller
2012-03-29 7:54 ` Jiri Pirko
2012-03-29 8:02 ` Eric Dumazet
2012-03-29 8:31 ` Jiri Pirko
2012-03-29 8:43 ` David Miller
2012-03-29 8:45 ` Eric Dumazet
2012-03-29 9:31 ` Jiri Pirko
2012-05-11 2:41 ` Li Yu
2012-05-11 6:22 ` Jiri Pirko
2012-05-11 7:06 ` Li Yu
2012-05-11 8:45 ` Jiri Pirko
2012-03-29 7:58 ` Eric Dumazet
2012-03-29 9:49 ` Li Yu
2012-03-29 14:04 ` Nuno Martins
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=20120329074443.GB2098@minipsycho \
--to=jpirko@redhat.com \
--cc=bhutchings@solarflare.com \
--cc=davem@davemloft.net \
--cc=eric.dumazet@gmail.com \
--cc=netdev@vger.kernel.org \
--cc=shemminger@vyatta.com \
/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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).