From mboxrd@z Thu Jan 1 00:00:00 1970 From: Daniel Borkmann Subject: [PATCH net-next 00/10] eBPF support for cls_bpf Date: Fri, 27 Feb 2015 15:55:32 +0100 Message-ID: Cc: ast@plumgrid.com, netdev@vger.kernel.org, Daniel Borkmann To: davem@davemloft.net Return-path: Received: from www62.your-server.de ([213.133.104.62]:47826 "EHLO www62.your-server.de" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1752348AbbB0Ozs (ORCPT ); Fri, 27 Feb 2015 09:55:48 -0500 Sender: netdev-owner@vger.kernel.org List-ID: This is the non-RFC version of my patchset posted before netdev01 [1] conference. It contains a couple of eBPF cleanups and preparation patches to get eBPF support into cls_bpf. The last patch adds the actual support. I'll post the iproute2 parts after the kernel bits are merged, an initial preview link to the code is mentioned in the last patch. Patch 4 and 5 were originally one patch, but I've split them into two parts upon request as patch 4 only is also needed for Alexei's tracing patches that go via tip tree. Tested with tc and all in-kernel available test suites. I have configured and built LLVM with --enable-experimental-targets=BPF but as Alexei put it, the plan is to get rid of the experimental status in future [2]. Thanks a lot! [1] http://thread.gmane.org/gmane.linux.network/350191 [2] http://article.gmane.org/gmane.linux.kernel/1874969 Daniel Borkmann (10): ebpf: remove kernel test stubs ebpf: constify various function pointer structs ebpf: export BPF_PSEUDO_MAP_FD to uapi ebpf: make internal bpf API independent of CONFIG_BPF_SYSCALL ifdefs ebpf: remove CONFIG_BPF_SYSCALL ifdefs in socket filter code ebpf: add sched_cls_type and map it to sk_filter's verifier ops ebpf: move read-only fields to bpf_prog and shrink bpf_prog_aux x86: unexport set_memory_ro and set_memory_rw arm64: unexport set_memory_ro and set_memory_rw cls_bpf: add initial eBPF support for programmable classifiers arch/arm64/mm/pageattr.c | 2 - arch/x86/mm/pageattr.c | 2 - include/linux/bpf.h | 38 +++++--- include/linux/filter.h | 6 +- include/uapi/linux/bpf.h | 3 + include/uapi/linux/pkt_cls.h | 2 + kernel/bpf/Makefile | 3 - kernel/bpf/arraymap.c | 6 +- kernel/bpf/hashtab.c | 6 +- kernel/bpf/helpers.c | 6 +- kernel/bpf/syscall.c | 9 +- kernel/bpf/test_stub.c | 78 ---------------- kernel/bpf/verifier.c | 17 +++- net/core/filter.c | 47 +++++----- net/sched/cls_bpf.c | 206 ++++++++++++++++++++++++++++++++----------- samples/bpf/libbpf.h | 4 +- samples/bpf/test_verifier.c | 5 +- 17 files changed, 243 insertions(+), 197 deletions(-) delete mode 100644 kernel/bpf/test_stub.c -- 1.9.3