netdev.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
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

             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).