bpf: add BPF loading and execution framework
authorKonstantin Ananyev <konstantin.ananyev@intel.com>
Thu, 10 May 2018 10:23:03 +0000 (11:23 +0100)
committerThomas Monjalon <thomas@monjalon.net>
Fri, 11 May 2018 22:35:15 +0000 (00:35 +0200)
commit94972f35a02e91d60d68d1eea041496903124568
tree7d3e336f589e4820c15a472e308766fc0717c04c
parentef1e8ede3da59e914f48b6b5bf8475bcfb60f0d7
bpf: add BPF loading and execution framework

librte_bpf provides a framework to load and execute eBPF bytecode
inside user-space dpdk based applications.
It supports basic set of features from eBPF spec
(https://www.kernel.org/doc/Documentation/networking/filter.txt).

Not currently supported features:
 - JIT
 - cBPF
 - tail-pointer call
 - eBPF MAP
 - skb
 - function calls for 32-bit apps
 - mbuf pointer as input parameter for 32-bit apps

Signed-off-by: Konstantin Ananyev <konstantin.ananyev@intel.com>
Acked-by: Ferruh Yigit <ferruh.yigit@intel.com>
18 files changed:
MAINTAINERS
config/common_base
doc/api/doxy-api-index.md
doc/api/doxy-api.conf
doc/guides/rel_notes/release_18_05.rst
lib/Makefile
lib/librte_bpf/Makefile [new file with mode: 0644]
lib/librte_bpf/bpf.c [new file with mode: 0644]
lib/librte_bpf/bpf_def.h [new file with mode: 0644]
lib/librte_bpf/bpf_exec.c [new file with mode: 0644]
lib/librte_bpf/bpf_impl.h [new file with mode: 0644]
lib/librte_bpf/bpf_load.c [new file with mode: 0644]
lib/librte_bpf/bpf_validate.c [new file with mode: 0644]
lib/librte_bpf/meson.build [new file with mode: 0644]
lib/librte_bpf/rte_bpf.h [new file with mode: 0644]
lib/librte_bpf/rte_bpf_version.map [new file with mode: 0644]
lib/meson.build
mk/rte.app.mk