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.anan...@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.pat...@intel.com> > F: lib/librte_latencystats/ > > +BPF > +M: Konstantin Ananyev <konstantin.anan...@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