All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH 00/10] bpf: introduce extensible load API
@ 2026-05-06 17:21 Marat Khalili
  2026-05-06 17:21 ` [PATCH 01/10] bpf: make logging prefixes more consistent Marat Khalili
                   ` (11 more replies)
  0 siblings, 12 replies; 62+ messages in thread
From: Marat Khalili @ 2026-05-06 17:21 UTC (permalink / raw)
  Cc: dev

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

-- 
2.43.0


^ permalink raw reply	[flat|nested] 62+ messages in thread

end of thread, other threads:[~2026-06-12 16:06 UTC | newest]

Thread overview: 62+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
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 ` [PATCH 00/10] bpf: introduce extensible load API Konstantin Ananyev
2026-05-14  9:37 ` [PATCH v2 " 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

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.