[dpdk-dev] [PATCH v5 1/8] bpf: add BPF loading and execution framework
Ferruh Yigit
ferruh.yigit at intel.com
Wed May 9 19:09:09 CEST 2018
On 5/4/2018 1:45 PM, Konstantin Ananyev wrote:
> 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
>
> It also adds dependency on libelf.
>
> Signed-off-by: Konstantin Ananyev <konstantin.ananyev at intel.com>
> ---
> MAINTAINERS | 4 +
> config/common_base | 5 +
> lib/Makefile | 2 +
> lib/librte_bpf/Makefile | 31 +++
> lib/librte_bpf/bpf.c | 59 +++++
> lib/librte_bpf/bpf_def.h | 138 +++++++++++
> lib/librte_bpf/bpf_exec.c | 453 +++++++++++++++++++++++++++++++++++++
> lib/librte_bpf/bpf_impl.h | 41 ++++
> lib/librte_bpf/bpf_load.c | 386 +++++++++++++++++++++++++++++++
> lib/librte_bpf/bpf_validate.c | 55 +++++
> lib/librte_bpf/meson.build | 19 ++
> lib/librte_bpf/rte_bpf.h | 184 +++++++++++++++
> lib/librte_bpf/rte_bpf_version.map | 12 +
> lib/meson.build | 2 +-
> mk/rte.app.mk | 2 +
Can you please update release notes "Shared Library Versions" section and add
this new library?
> 15 files changed, 1392 insertions(+), 1 deletion(-)
> create mode 100644 lib/librte_bpf/Makefile
> create mode 100644 lib/librte_bpf/bpf.c
> create mode 100644 lib/librte_bpf/bpf_def.h
> create mode 100644 lib/librte_bpf/bpf_exec.c
> create mode 100644 lib/librte_bpf/bpf_impl.h
> create mode 100644 lib/librte_bpf/bpf_load.c
> create mode 100644 lib/librte_bpf/bpf_validate.c
> create mode 100644 lib/librte_bpf/meson.build
> create mode 100644 lib/librte_bpf/rte_bpf.h
> create mode 100644 lib/librte_bpf/rte_bpf_version.map
>
> diff --git a/MAINTAINERS b/MAINTAINERS
> index ce06e93c2..4a7edbcf7 100644
> --- a/MAINTAINERS
> +++ b/MAINTAINERS
> @@ -1049,6 +1049,10 @@ Latency statistics
> M: Reshma Pattan <reshma.pattan at intel.com>
> F: lib/librte_latencystats/
>
> +BPF
> +M: Konstantin Ananyev <konstantin.ananyev at intel.com>
> +F: lib/librte_bpf/
> +F: doc/guides/prog_guide/bpf_lib.rst
This file will be added in next patches, it can be possible to add this line in
the patch that adds the document.
>
> Test Applications
> -----------------
> diff --git a/config/common_base b/config/common_base
> index 03a8688b5..ac425491c 100644
> --- a/config/common_base
> +++ b/config/common_base
> @@ -863,3 +863,8 @@ CONFIG_RTE_APP_CRYPTO_PERF=y
> # Compile the eventdev application
> #
> CONFIG_RTE_APP_EVENTDEV=y
> +
> +#
> +# Compile librte_bpf
> +#
> +CONFIG_RTE_LIBRTE_BPF=y
This is default enabled for all architectures and environment, just to double
check that all architectures supported? I am not able to test because of missing
libelf.h for cross environment
More information about the dev
mailing list