From: Willem de Bruijn <will...@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 -- To unsubscribe from this list: send the line "unsubscribe netdev" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html