netdev.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Willem de Bruijn <willemb@google.com>
To: netdev@vger.kernel.org
Cc: davem@davemloft.net, edumazet@google.com, daniel@iogearbox.net,
	ast@plumgrid.com, Willem de Bruijn <willemb@google.com>
Subject: [PATCH net-next v2 0/4] packet: add cBPF and eBPF fanout modes
Date: Fri, 14 Aug 2015 22:31:33 -0400	[thread overview]
Message-ID: <1439605897-28311-1-git-send-email-willemb@google.com> (raw)

From: Willem de Bruijn <willemb@google.com>

Allow programmable fanout modes. Support both classical BPF programs
passed directly and extended BPF programs passed by file descriptor.

One use case is packet steering by deep packet inspection, for
instance for packet steering by application layer header fields.

Separate the configuration of the fanout mode and the configuration
of the program, to allow dynamic updates to the latter at runtime.

Changes
  v1 -> v2:
    - follow SO_LOCK_FILTER semantics on filter updates
    - only accept eBPF programs of type BPF_PROG_TYPE_SOCKET_FILTER
    - rename PACKET_FANOUT_BPF to PACKET_FANOUT_CBPF to match
      man 2 bpf usage: "classic" vs. "extended" BPF.

Willem de Bruijn (4):
  packet: add classic BPF fanout mode
  packet: add extended BPF fanout mode
  selftests/net: test classic bpf fanout mode
  selftests/net: test extended BPF fanout mode

 include/uapi/linux/if_packet.h             |   3 +
 net/packet/af_packet.c                     | 130 ++++++++++++++++++++++++++++-
 net/packet/internal.h                      |   5 +-
 tools/testing/selftests/net/psock_fanout.c |  69 ++++++++++++++-
 tools/testing/selftests/net/psock_lib.h    |  29 +++++--
 5 files changed, 222 insertions(+), 14 deletions(-)

-- 
2.5.0.276.gf5e568e

             reply	other threads:[~2015-08-15  2:31 UTC|newest]

Thread overview: 11+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2015-08-15  2:31 Willem de Bruijn [this message]
2015-08-15  2:31 ` [PATCH net-next v2 1/4] packet: add classic BPF fanout mode Willem de Bruijn
2015-08-16  4:58   ` Alexei Starovoitov
2015-08-16  9:15   ` Daniel Borkmann
2015-08-17 14:29   ` Eric Dumazet
2015-08-15  2:31 ` [PATCH net-next v2 2/4] packet: add extended " Willem de Bruijn
2015-08-16  4:58   ` Alexei Starovoitov
2015-08-16  9:15   ` Daniel Borkmann
2015-08-15  2:31 ` [PATCH net-next v2 3/4] selftests/net: test classic bpf " Willem de Bruijn
2015-08-15  2:31 ` [PATCH net-next v2 4/4] selftests/net: test extended BPF " Willem de Bruijn
2015-08-17 21:23 ` [PATCH net-next v2 0/4] packet: add cBPF and eBPF fanout modes 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=1439605897-28311-1-git-send-email-willemb@google.com \
    --to=willemb@google.com \
    --cc=ast@plumgrid.com \
    --cc=daniel@iogearbox.net \
    --cc=davem@davemloft.net \
    --cc=edumazet@google.com \
    --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 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).