Go to file
Stephen Hemminger 2eccf6afbe bpf: add function to convert classic BPF to DPDK BPF
The pcap library emits classic BPF (32 bit) and is useful for
creating filter programs.  The DPDK BPF library only implements
extended BPF (eBPF).  Add an function to convert from old to
new.

The rte_bpf_convert function uses rte_malloc to put the resulting
program in hugepage shared memory so it can be passed from a
secondary process to a primary process.

The code to convert was originally done as part of the Linux
kernel implementation then converted to a userspace program.
See https://github.com/tklauser/filter2xdp

Both authors have agreed that it is allowable to create a modified
version of this code and license it with BSD license used by DPDK.

Signed-off-by: Stephen Hemminger <stephen@networkplumber.org>
Acked-by: Konstantin Ananyev <konstantin.ananyev@intel.com>
Acked-by: Ray Kinsella <mdr@ashroe.eu>
2021-10-22 17:19:13 +02:00
.ci build: update minimum required Meson version 2021-04-16 18:51:51 +02:00
.github/workflows version: 21.11-rc0 2021-08-17 08:37:52 +02:00
app bpf: add function to convert classic BPF to DPDK BPF 2021-10-22 17:19:13 +02:00
buildtools buildtools: enable header includes check on Windows 2021-10-11 21:17:21 +02:00
config eventdev: allocate max space for internal arrays 2021-10-21 10:14:50 +02:00
devtools net/bnxt: support tunnel offload 2021-09-21 06:26:00 +02:00
doc pcapng: add new library for writing pcapng files 2021-10-22 17:19:07 +02:00
drivers event/dlb2: optimize credit allocations using port 2021-10-21 10:16:00 +02:00
examples examples/eventdev_pipeline: use port config hints 2021-10-21 10:16:00 +02:00
kernel kni: fix crash on userspace VA for segmented packets 2021-06-24 10:04:25 +02:00
lib bpf: add function to convert classic BPF to DPDK BPF 2021-10-22 17:19:13 +02:00
license lib: remove librte_ prefix from directory names 2021-04-21 14:04:09 +02:00
usertools usertools/telemetry: list file-prefixes 2021-10-19 17:15:10 +02:00
.editorconfig doc: add Meson coding style to contributors guide 2021-04-21 14:04:09 +02:00
.gitattributes improve git diff 2016-11-13 15:25:12 +01:00
.gitignore doc: add flow API features tables 2021-05-18 19:06:56 +02:00
.travis.yml version: 21.11-rc0 2021-08-17 08:37:52 +02:00
ABI_VERSION version: 21.11-rc0 2021-08-17 08:37:52 +02:00
MAINTAINERS test/pcapng: test pcapng library 2021-10-22 17:19:13 +02:00
Makefile build: create dummy Makefile 2020-09-07 23:51:57 +02:00
meson_options.txt build: add optional NUMA and CPU counts detection 2021-09-16 09:43:28 +02:00
meson.build lib: remove librte_ prefix from directory names 2021-04-21 14:04:09 +02:00
README license: introduce SPDX identifiers 2018-01-04 22:41:38 +01:00
VERSION version: 21.11-rc0 2021-08-17 08:37:52 +02:00

DPDK is a set of libraries and drivers for fast packet processing.
It supports many processor architectures and both FreeBSD and Linux.

The DPDK uses the Open Source BSD-3-Clause license for the core libraries
and drivers. The kernel components are GPL-2.0 licensed.

Please check the doc directory for release notes,
API documentation, and sample application information.

For questions and usage discussions, subscribe to: users@dpdk.org
Report bugs and issues to the development mailing list: dev@dpdk.org