From: Konstantin Ananyev <konstantin.ananyev@huawei.com>
To: Marat Khalili <marat.khalili@huawei.com>
Cc: "dev@dpdk.org" <dev@dpdk.org>
Subject: RE: [PATCH 00/10] bpf: introduce extensible load API
Date: Sat, 9 May 2026 12:36:19 +0000 [thread overview]
Message-ID: <72a072e1281c4037bbccbff91ec84d2b@huawei.com> (raw)
In-Reply-To: <20260506172209.6805-1-marat.khalili@huawei.com>
> This patchset introduces an extensible load API for the BPF library in
> DPDK, addressing current limitations regarding ABI stability and feature
> constraints.
>
> Currently, `rte_bpf_load` relies on a fixed `struct rte_bpf_prm`, which
> makes it difficult to add new loading options or parameters without
> breaking the ABI.
>
> To resolve these issues, this series introduces `rte_bpf_load_ex` taking
> `struct rte_bpf_prm_ex`. The new parameter structure includes a `sz`
> field for backward compatibility, allowing future extensions.
>
> Taking advantage of the new extensible API, this patchset also adds
> several new features:
> * Support for loading and executing BPF programs with up to 5 arguments.
> * Support for loading classic BPF (cBPF) directly.
> * Support for loading ELF files directly from memory buffers.
> * New API functions (`rte_bpf_eth_rx_install` and `rte_bpf_eth_tx_install`)
> to install an already loaded BPF program as a port callback, decoupling
> the loading phase from the installation phase.
>
> Marat Khalili (10):
> bpf: make logging prefixes more consistent
> bpf: introduce extensible load API
> bpf: support up to 5 arguments
> bpf: add cBPF origin to rte_bpf_load_ex
> bpf: support rte_bpf_prm_ex with port callbacks
> bpf: support loading ELF files from memory
> test/bpf: test loading cBPF directly
> test/bpf: test loading ELF file from memory
> doc: add release notes for new extensible BPF API
> doc: add load API to BPF programmer's guide
>
> app/test/test_bpf.c | 325 +++++++++++++++----------
> doc/guides/prog_guide/bpf_lib.rst | 75 +++++-
> doc/guides/rel_notes/release_26_07.rst | 20 ++
> lib/bpf/bpf.c | 32 ++-
> lib/bpf/bpf_convert.c | 97 +++++++-
> lib/bpf/bpf_exec.c | 126 +++++++++-
> lib/bpf/bpf_impl.h | 53 +++-
> lib/bpf/bpf_jit_arm64.c | 18 +-
> lib/bpf/bpf_jit_x86.c | 10 +-
> lib/bpf/bpf_load.c | 200 +++++++++++++--
> lib/bpf/bpf_load_elf.c | 189 +++++++++-----
> lib/bpf/bpf_pkt.c | 65 +++--
> lib/bpf/bpf_stub.c | 46 ----
> lib/bpf/bpf_validate.c | 94 ++++---
> lib/bpf/meson.build | 15 +-
> lib/bpf/rte_bpf.h | 195 ++++++++++++++-
> lib/bpf/rte_bpf_ethdev.h | 54 ++++
> 17 files changed, 1245 insertions(+), 369 deletions(-)
> delete mode 100644 lib/bpf/bpf_stub.c
> --
I already reviewed these changes offline, as part of our
internal patch acceptance process.
Current version LGMT and addresses all comments I had.
Series-Acked-by: Konstantin Ananyev <konstantin.ananyev@huawei.com>
> 2.43.0
next prev parent reply other threads:[~2026-05-09 12:36 UTC|newest]
Thread overview: 62+ messages / expand[flat|nested] mbox.gz Atom feed top
2026-05-06 17:21 [PATCH 00/10] bpf: introduce extensible load API Marat Khalili
2026-05-06 17:21 ` [PATCH 01/10] bpf: make logging prefixes more consistent Marat Khalili
2026-05-06 17:21 ` [PATCH 02/10] bpf: introduce extensible load API Marat Khalili
2026-05-06 17:22 ` [PATCH 03/10] bpf: support up to 5 arguments Marat Khalili
2026-05-06 17:22 ` [PATCH 04/10] bpf: add cBPF origin to rte_bpf_load_ex Marat Khalili
2026-05-06 17:22 ` [PATCH 05/10] bpf: support rte_bpf_prm_ex with port callbacks Marat Khalili
2026-05-06 17:22 ` [PATCH 06/10] bpf: support loading ELF files from memory Marat Khalili
2026-05-06 17:22 ` [PATCH 07/10] test/bpf: test loading cBPF directly Marat Khalili
2026-05-06 17:22 ` [PATCH 08/10] test/bpf: test loading ELF file from memory Marat Khalili
2026-05-06 17:22 ` [PATCH 09/10] doc: add release notes for new extensible BPF API Marat Khalili
2026-05-06 17:22 ` [PATCH 10/10] doc: add load API to BPF programmer's guide Marat Khalili
2026-05-09 12:36 ` Konstantin Ananyev [this message]
2026-05-14 9:37 ` [PATCH v2 00/10] bpf: introduce extensible load API Marat Khalili
2026-05-14 9:37 ` [PATCH v2 01/10] bpf: make logging prefixes more consistent Marat Khalili
2026-05-14 9:37 ` [PATCH v2 02/10] bpf: introduce extensible load API Marat Khalili
2026-05-14 9:37 ` [PATCH v2 03/10] bpf: support up to 5 arguments Marat Khalili
2026-05-14 9:37 ` [PATCH v2 04/10] bpf: add cBPF origin to rte_bpf_load_ex Marat Khalili
2026-05-14 9:37 ` [PATCH v2 05/10] bpf: support rte_bpf_prm_ex with port callbacks Marat Khalili
2026-05-14 9:37 ` [PATCH v2 06/10] bpf: support loading ELF files from memory Marat Khalili
2026-05-14 9:37 ` [PATCH v2 07/10] test/bpf: test loading cBPF directly Marat Khalili
2026-05-14 9:37 ` [PATCH v2 08/10] test/bpf: test loading ELF file from memory Marat Khalili
2026-05-14 9:37 ` [PATCH v2 09/10] doc: add release notes for new extensible BPF API Marat Khalili
2026-05-14 9:37 ` [PATCH v2 10/10] doc: add load API to BPF programmer's guide Marat Khalili
2026-05-18 8:49 ` [PATCH v3 00/10] bpf: introduce extensible load API Marat Khalili
2026-05-18 8:49 ` [PATCH v3 01/10] bpf: make logging prefixes more consistent Marat Khalili
2026-05-18 8:49 ` [PATCH v3 02/10] bpf: introduce extensible load API Marat Khalili
2026-05-18 17:56 ` Stephen Hemminger
2026-05-18 8:49 ` [PATCH v3 03/10] bpf: support up to 5 arguments Marat Khalili
2026-05-18 8:49 ` [PATCH v3 04/10] bpf: add cBPF origin to rte_bpf_load_ex Marat Khalili
2026-05-18 8:49 ` [PATCH v3 05/10] bpf: support rte_bpf_prm_ex with port callbacks Marat Khalili
2026-05-18 8:49 ` [PATCH v3 06/10] bpf: support loading ELF files from memory Marat Khalili
2026-05-18 8:49 ` [PATCH v3 07/10] test/bpf: test loading cBPF directly Marat Khalili
2026-05-18 8:49 ` [PATCH v3 08/10] test/bpf: test loading ELF file from memory Marat Khalili
2026-05-18 8:49 ` [PATCH v3 09/10] doc: add release notes for new extensible BPF API Marat Khalili
2026-05-18 8:49 ` [PATCH v3 10/10] doc: add load API to BPF programmer's guide Marat Khalili
2026-05-20 12:49 ` [PATCH v4 00/11] bpf: introduce extensible load API Marat Khalili
2026-05-20 12:49 ` [PATCH v4 01/11] bpf: make logging prefixes more consistent Marat Khalili
2026-05-20 12:49 ` [PATCH v4 02/11] bpf: introduce extensible load API Marat Khalili
2026-06-10 14:46 ` Thomas Monjalon
2026-06-12 10:48 ` Marat Khalili
2026-05-20 12:49 ` [PATCH v4 03/11] bpf: support up to 5 arguments Marat Khalili
2026-05-20 12:49 ` [PATCH v4 04/11] bpf: add cBPF origin to rte_bpf_load_ex Marat Khalili
2026-05-20 12:49 ` [PATCH v4 05/11] bpf: support rte_bpf_prm_ex with port callbacks Marat Khalili
2026-05-20 12:49 ` [PATCH v4 06/11] bpf: support loading ELF files from memory Marat Khalili
2026-05-20 12:49 ` [PATCH v4 07/11] test/bpf: test loading cBPF directly Marat Khalili
2026-05-20 12:49 ` [PATCH v4 08/11] test/bpf: test loading ELF file from memory Marat Khalili
2026-05-20 12:49 ` [PATCH v4 09/11] doc: add release notes for new extensible BPF API Marat Khalili
2026-05-20 12:49 ` [PATCH v4 10/11] doc: add load API to BPF programmer's guide Marat Khalili
2026-05-20 12:49 ` [PATCH v4 11/11] test/bpf: add tests for error handling contracts Marat Khalili
2026-06-12 8:42 ` [PATCH v5 00/11] bpf: introduce extensible load API Marat Khalili
2026-06-12 8:42 ` [PATCH v5 01/11] bpf: make logging prefixes more consistent Marat Khalili
2026-06-12 8:42 ` [PATCH v5 02/11] bpf: introduce extensible load API Marat Khalili
2026-06-12 8:42 ` [PATCH v5 03/11] bpf: support up to 5 arguments Marat Khalili
2026-06-12 8:42 ` [PATCH v5 04/11] bpf: add cBPF origin to rte_bpf_load_ex Marat Khalili
2026-06-12 8:42 ` [PATCH v5 05/11] bpf: support rte_bpf_prm_ex with port callbacks Marat Khalili
2026-06-12 8:42 ` [PATCH v5 06/11] bpf: support loading ELF files from memory Marat Khalili
2026-06-12 8:42 ` [PATCH v5 07/11] test/bpf: test loading cBPF directly Marat Khalili
2026-06-12 8:42 ` [PATCH v5 08/11] test/bpf: test loading ELF file from memory Marat Khalili
2026-06-12 8:42 ` [PATCH v5 09/11] doc: add release notes for new extensible BPF API Marat Khalili
2026-06-12 8:42 ` [PATCH v5 10/11] doc: add load API to BPF programmer's guide Marat Khalili
2026-06-12 8:42 ` [PATCH v5 11/11] test/bpf: add tests for error handling contracts Marat Khalili
2026-06-12 16:06 ` [PATCH v5 00/11] bpf: introduce extensible load API Stephen Hemminger
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=72a072e1281c4037bbccbff91ec84d2b@huawei.com \
--to=konstantin.ananyev@huawei.com \
--cc=dev@dpdk.org \
--cc=marat.khalili@huawei.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.