doc: add BPF library guide
Signed-off-by: Konstantin Ananyev <konstantin.ananyev@intel.com> Acked-by: Ferruh Yigit <ferruh.yigit@intel.com>
This commit is contained in:
parent
9f8f9d91a7
commit
14b8f0bbe5
@ -1105,6 +1105,7 @@ M: Konstantin Ananyev <konstantin.ananyev@intel.com>
|
||||
F: lib/librte_bpf/
|
||||
F: test/bpf/
|
||||
F: test/test/test_bpf.c
|
||||
F: doc/guides/prog_guide/bpf_lib.rst
|
||||
|
||||
|
||||
Test Applications
|
||||
|
38
doc/guides/prog_guide/bpf_lib.rst
Normal file
38
doc/guides/prog_guide/bpf_lib.rst
Normal file
@ -0,0 +1,38 @@
|
||||
.. SPDX-License-Identifier: BSD-3-Clause
|
||||
Copyright(c) 2018 Intel Corporation.
|
||||
|
||||
Berkeley Packet Filter Library
|
||||
==============================
|
||||
|
||||
The DPDK provides an BPF library that gives the ability
|
||||
to load and execute Enhanced Berkeley Packet Filter (eBPF) bytecode within
|
||||
user-space dpdk application.
|
||||
|
||||
It supports basic set of features from eBPF spec.
|
||||
Please refer to the
|
||||
`eBPF spec <https://www.kernel.org/doc/Documentation/networking/filter.txt>`
|
||||
for more information.
|
||||
Also it introduces basic framework to load/unload BPF-based filters
|
||||
on eth devices (right now only via SW RX/TX callbacks).
|
||||
|
||||
The library API provides the following basic operations:
|
||||
|
||||
* Create a new BPF execution context and load user provided eBPF code into it.
|
||||
|
||||
* Destroy an BPF execution context and its runtime structures and free the associated memory.
|
||||
|
||||
* Execute eBPF bytecode associated with provided input parameter.
|
||||
|
||||
* Provide information about natively compiled code for given BPF context.
|
||||
|
||||
* Load BPF program from the ELF file and install callback to execute it on given ethdev port/queue.
|
||||
|
||||
Not currently supported eBPF features
|
||||
-------------------------------------
|
||||
|
||||
- JIT for non X86_64 platforms
|
||||
- cBPF
|
||||
- tail-pointer call
|
||||
- eBPF MAP
|
||||
- skb
|
||||
- external function calls for 32-bit platforms
|
@ -53,6 +53,7 @@ Programmer's Guide
|
||||
vhost_lib
|
||||
metrics_lib
|
||||
port_hotplug_framework
|
||||
bpf_lib
|
||||
source_org
|
||||
dev_kit_build_system
|
||||
dev_kit_root_make_help
|
||||
|
Loading…
x
Reference in New Issue
Block a user