From: Stephen Hemminger <stephen@networkplumber.org>
To: dev@dpdk.org
Cc: Stephen Hemminger <stephen@networkplumber.org>
Subject: [RFC v2 0/6] remove legacy packet framework
Date: Mon, 27 Jul 2026 16:11:24 -0700 [thread overview]
Message-ID: <20260727231222.1492544-1-stephen@networkplumber.org> (raw)
In-Reply-To: <20260724164520.192203-1-stephen@networkplumber.org>
The legacy Packet Framework APIs were announced for removal in the
24.11 release but the removal never happened:
* pipeline: The pipeline library legacy API (functions rte_pipeline_*)
* table: The table library legacy API (functions rte_table_*)
* port: The port library legacy API (functions rte_port_*)
Do the removal now, in the 26.11 ABI window. The SWX API in the same
libraries (rte_swx_*) is unaffected and remains the Packet Framework
API. The softnic driver and the pipeline example already use only the
SWX API.
The applications built on the legacy API (test-pipeline, ip_pipeline)
and the unit tests are removed first, then the legacy half of each
library, pipeline before table before port to follow the dependency
chain. Library dependencies and the programmer's guide are trimmed
accordingly.
Stephen Hemminger (6):
app/test: remove packet framework tests
app/test-pipeline: remove application
examples/ip_pipeline: remove example
pipeline: remove legacy API
table: remove legacy API
port: remove legacy API
MAINTAINERS | 5 -
app/meson.build | 1 -
app/test-pipeline/config.c | 230 -
app/test-pipeline/init.c | 273 -
app/test-pipeline/main.c | 188 -
app/test-pipeline/main.h | 132 -
app/test-pipeline/meson.build | 21 -
app/test-pipeline/pipeline_acl.c | 251 -
app/test-pipeline/pipeline_hash.c | 471 --
app/test-pipeline/pipeline_lpm.c | 175 -
app/test-pipeline/pipeline_lpm_ipv6.c | 168 -
app/test-pipeline/pipeline_stub.c | 137 -
app/test-pipeline/runtime.c | 160 -
app/test/meson.build | 6 -
app/test/test_table.c | 209 -
app/test/test_table.h | 184 -
app/test/test_table_acl.c | 728 --
app/test/test_table_acl.h | 6 -
app/test/test_table_combined.c | 846 --
app/test/test_table_combined.h | 27 -
app/test/test_table_pipeline.c | 575 --
app/test/test_table_pipeline.h | 6 -
app/test/test_table_ports.c | 195 -
app/test/test_table_ports.h | 13 -
app/test/test_table_tables.c | 1058 ---
app/test/test_table_tables.h | 22 -
doc/api/doxy-api-index.md | 17 -
doc/guides/nics/softnic.rst | 3 +-
doc/guides/prog_guide/img/figure32.png | Bin 11603 -> 0 bytes
doc/guides/prog_guide/img/figure33.png | Bin 65216 -> 0 bytes
doc/guides/prog_guide/img/figure34.png | Bin 11581 -> 0 bytes
doc/guides/prog_guide/img/figure35.png | Bin 75012 -> 0 bytes
doc/guides/prog_guide/img/figure37.png | Bin 6934 -> 0 bytes
doc/guides/prog_guide/img/figure38.png | Bin 7372 -> 0 bytes
doc/guides/prog_guide/img/figure39.png | Bin 55986 -> 0 bytes
doc/guides/prog_guide/packet_framework.rst | 1146 +--
doc/guides/rel_notes/deprecation.rst | 15 -
doc/guides/rel_notes/release_26_11.rst | 17 +
.../sample_app_ug/img/test_pipeline_app.png | Bin 67410 -> 0 bytes
doc/guides/sample_app_ug/index.rst | 2 -
doc/guides/sample_app_ug/ip_pipeline.rst | 531 --
doc/guides/sample_app_ug/test_pipeline.rst | 237 -
examples/ip_pipeline/Makefile | 60 -
examples/ip_pipeline/action.c | 391 -
examples/ip_pipeline/action.h | 78 -
examples/ip_pipeline/cli.c | 6791 -----------------
examples/ip_pipeline/cli.h | 18 -
examples/ip_pipeline/common.h | 12 -
examples/ip_pipeline/conn.c | 330 -
examples/ip_pipeline/conn.h | 47 -
examples/ip_pipeline/cryptodev.c | 160 -
examples/ip_pipeline/cryptodev.h | 46 -
examples/ip_pipeline/examples/firewall.cli | 59 -
examples/ip_pipeline/examples/flow.cli | 60 -
examples/ip_pipeline/examples/flow_crypto.cli | 57 -
examples/ip_pipeline/examples/l2fwd.cli | 51 -
examples/ip_pipeline/examples/route.cli | 60 -
examples/ip_pipeline/examples/route_ecmp.cli | 57 -
examples/ip_pipeline/examples/rss.cli | 112 -
examples/ip_pipeline/examples/tap.cli | 66 -
examples/ip_pipeline/link.c | 270 -
examples/ip_pipeline/link.h | 66 -
examples/ip_pipeline/main.c | 260 -
examples/ip_pipeline/mempool.c | 82 -
examples/ip_pipeline/mempool.h | 40 -
examples/ip_pipeline/meson.build | 30 -
examples/ip_pipeline/parser.c | 506 --
examples/ip_pipeline/parser.h | 56 -
examples/ip_pipeline/pipeline.c | 1078 ---
examples/ip_pipeline/pipeline.h | 425 --
examples/ip_pipeline/swq.c | 76 -
examples/ip_pipeline/swq.h | 37 -
examples/ip_pipeline/tap.c | 102 -
examples/ip_pipeline/tap.h | 29 -
examples/ip_pipeline/thread.c | 3137 --------
examples/ip_pipeline/thread.h | 24 -
examples/ip_pipeline/tmgr.c | 248 -
examples/ip_pipeline/tmgr.h | 74 -
examples/meson.build | 1 -
lib/pipeline/meson.build | 8 +-
lib/pipeline/rte_pipeline.c | 1640 ----
lib/pipeline/rte_pipeline.h | 840 --
lib/pipeline/rte_port_in_action.c | 539 --
lib/pipeline/rte_port_in_action.h | 311 -
lib/pipeline/rte_table_action.c | 3483 ---------
lib/pipeline/rte_table_action.h | 1137 ---
lib/port/meson.build | 22 +-
lib/port/port_log.c | 7 -
lib/port/port_log.h | 11 -
lib/port/rte_port.h | 223 -
lib/port/rte_port_ethdev.c | 530 --
lib/port/rte_port_ethdev.h | 75 -
lib/port/rte_port_eventdev.c | 590 --
lib/port/rte_port_eventdev.h | 94 -
lib/port/rte_port_fd.c | 524 --
lib/port/rte_port_fd.h | 74 -
lib/port/rte_port_frag.c | 280 -
lib/port/rte_port_frag.h | 70 -
lib/port/rte_port_ras.c | 336 -
lib/port/rte_port_ras.h | 58 -
lib/port/rte_port_ring.c | 796 --
lib/port/rte_port_ring.h | 91 -
lib/port/rte_port_sched.c | 298 -
lib/port/rte_port_sched.h | 52 -
lib/port/rte_port_source_sink.c | 616 --
lib/port/rte_port_source_sink.h | 57 -
lib/port/rte_port_sym_crypto.c | 558 --
lib/port/rte_port_sym_crypto.h | 92 -
lib/table/meson.build | 30 +-
lib/table/rte_lru.h | 85 -
lib/table/rte_lru_arm64.h | 61 -
lib/table/rte_lru_x86.h | 96 -
lib/table/rte_table.h | 263 -
lib/table/rte_table_acl.c | 795 --
lib/table/rte_table_acl.h | 65 -
lib/table/rte_table_array.c | 210 -
lib/table/rte_table_array.h | 46 -
lib/table/rte_table_hash.h | 106 -
lib/table/rte_table_hash_cuckoo.c | 327 -
lib/table/rte_table_hash_cuckoo.h | 57 -
lib/table/rte_table_hash_ext.c | 1011 ---
lib/table/rte_table_hash_func.h | 263 -
lib/table/rte_table_hash_func_arm64.h | 21 -
lib/table/rte_table_hash_key16.c | 1190 ---
lib/table/rte_table_hash_key32.c | 1223 ---
lib/table/rte_table_hash_key8.c | 1157 ---
lib/table/rte_table_hash_lru.c | 959 ---
lib/table/rte_table_lpm.c | 369 -
lib/table/rte_table_lpm.h | 94 -
lib/table/rte_table_lpm_ipv6.c | 370 -
lib/table/rte_table_stub.c | 95 -
lib/table/rte_table_stub.h | 30 -
lib/table/table_log.c | 7 -
lib/table/table_log.h | 11 -
134 files changed, 27 insertions(+), 45377 deletions(-)
delete mode 100644 app/test-pipeline/config.c
delete mode 100644 app/test-pipeline/init.c
delete mode 100644 app/test-pipeline/main.c
delete mode 100644 app/test-pipeline/main.h
delete mode 100644 app/test-pipeline/meson.build
delete mode 100644 app/test-pipeline/pipeline_acl.c
delete mode 100644 app/test-pipeline/pipeline_hash.c
delete mode 100644 app/test-pipeline/pipeline_lpm.c
delete mode 100644 app/test-pipeline/pipeline_lpm_ipv6.c
delete mode 100644 app/test-pipeline/pipeline_stub.c
delete mode 100644 app/test-pipeline/runtime.c
delete mode 100644 app/test/test_table.c
delete mode 100644 app/test/test_table.h
delete mode 100644 app/test/test_table_acl.c
delete mode 100644 app/test/test_table_acl.h
delete mode 100644 app/test/test_table_combined.c
delete mode 100644 app/test/test_table_combined.h
delete mode 100644 app/test/test_table_pipeline.c
delete mode 100644 app/test/test_table_pipeline.h
delete mode 100644 app/test/test_table_ports.c
delete mode 100644 app/test/test_table_ports.h
delete mode 100644 app/test/test_table_tables.c
delete mode 100644 app/test/test_table_tables.h
delete mode 100644 doc/guides/prog_guide/img/figure32.png
delete mode 100644 doc/guides/prog_guide/img/figure33.png
delete mode 100644 doc/guides/prog_guide/img/figure34.png
delete mode 100644 doc/guides/prog_guide/img/figure35.png
delete mode 100644 doc/guides/prog_guide/img/figure37.png
delete mode 100644 doc/guides/prog_guide/img/figure38.png
delete mode 100644 doc/guides/prog_guide/img/figure39.png
delete mode 100644 doc/guides/sample_app_ug/img/test_pipeline_app.png
delete mode 100644 doc/guides/sample_app_ug/ip_pipeline.rst
delete mode 100644 doc/guides/sample_app_ug/test_pipeline.rst
delete mode 100644 examples/ip_pipeline/Makefile
delete mode 100644 examples/ip_pipeline/action.c
delete mode 100644 examples/ip_pipeline/action.h
delete mode 100644 examples/ip_pipeline/cli.c
delete mode 100644 examples/ip_pipeline/cli.h
delete mode 100644 examples/ip_pipeline/common.h
delete mode 100644 examples/ip_pipeline/conn.c
delete mode 100644 examples/ip_pipeline/conn.h
delete mode 100644 examples/ip_pipeline/cryptodev.c
delete mode 100644 examples/ip_pipeline/cryptodev.h
delete mode 100644 examples/ip_pipeline/examples/firewall.cli
delete mode 100644 examples/ip_pipeline/examples/flow.cli
delete mode 100644 examples/ip_pipeline/examples/flow_crypto.cli
delete mode 100644 examples/ip_pipeline/examples/l2fwd.cli
delete mode 100644 examples/ip_pipeline/examples/route.cli
delete mode 100644 examples/ip_pipeline/examples/route_ecmp.cli
delete mode 100644 examples/ip_pipeline/examples/rss.cli
delete mode 100644 examples/ip_pipeline/examples/tap.cli
delete mode 100644 examples/ip_pipeline/link.c
delete mode 100644 examples/ip_pipeline/link.h
delete mode 100644 examples/ip_pipeline/main.c
delete mode 100644 examples/ip_pipeline/mempool.c
delete mode 100644 examples/ip_pipeline/mempool.h
delete mode 100644 examples/ip_pipeline/meson.build
delete mode 100644 examples/ip_pipeline/parser.c
delete mode 100644 examples/ip_pipeline/parser.h
delete mode 100644 examples/ip_pipeline/pipeline.c
delete mode 100644 examples/ip_pipeline/pipeline.h
delete mode 100644 examples/ip_pipeline/swq.c
delete mode 100644 examples/ip_pipeline/swq.h
delete mode 100644 examples/ip_pipeline/tap.c
delete mode 100644 examples/ip_pipeline/tap.h
delete mode 100644 examples/ip_pipeline/thread.c
delete mode 100644 examples/ip_pipeline/thread.h
delete mode 100644 examples/ip_pipeline/tmgr.c
delete mode 100644 examples/ip_pipeline/tmgr.h
delete mode 100644 lib/pipeline/rte_pipeline.c
delete mode 100644 lib/pipeline/rte_pipeline.h
delete mode 100644 lib/pipeline/rte_port_in_action.c
delete mode 100644 lib/pipeline/rte_port_in_action.h
delete mode 100644 lib/pipeline/rte_table_action.c
delete mode 100644 lib/pipeline/rte_table_action.h
delete mode 100644 lib/port/port_log.c
delete mode 100644 lib/port/port_log.h
delete mode 100644 lib/port/rte_port.h
delete mode 100644 lib/port/rte_port_ethdev.c
delete mode 100644 lib/port/rte_port_ethdev.h
delete mode 100644 lib/port/rte_port_eventdev.c
delete mode 100644 lib/port/rte_port_eventdev.h
delete mode 100644 lib/port/rte_port_fd.c
delete mode 100644 lib/port/rte_port_fd.h
delete mode 100644 lib/port/rte_port_frag.c
delete mode 100644 lib/port/rte_port_frag.h
delete mode 100644 lib/port/rte_port_ras.c
delete mode 100644 lib/port/rte_port_ras.h
delete mode 100644 lib/port/rte_port_ring.c
delete mode 100644 lib/port/rte_port_ring.h
delete mode 100644 lib/port/rte_port_sched.c
delete mode 100644 lib/port/rte_port_sched.h
delete mode 100644 lib/port/rte_port_source_sink.c
delete mode 100644 lib/port/rte_port_source_sink.h
delete mode 100644 lib/port/rte_port_sym_crypto.c
delete mode 100644 lib/port/rte_port_sym_crypto.h
delete mode 100644 lib/table/rte_lru.h
delete mode 100644 lib/table/rte_lru_arm64.h
delete mode 100644 lib/table/rte_lru_x86.h
delete mode 100644 lib/table/rte_table.h
delete mode 100644 lib/table/rte_table_acl.c
delete mode 100644 lib/table/rte_table_acl.h
delete mode 100644 lib/table/rte_table_array.c
delete mode 100644 lib/table/rte_table_array.h
delete mode 100644 lib/table/rte_table_hash.h
delete mode 100644 lib/table/rte_table_hash_cuckoo.c
delete mode 100644 lib/table/rte_table_hash_cuckoo.h
delete mode 100644 lib/table/rte_table_hash_ext.c
delete mode 100644 lib/table/rte_table_hash_func.h
delete mode 100644 lib/table/rte_table_hash_func_arm64.h
delete mode 100644 lib/table/rte_table_hash_key16.c
delete mode 100644 lib/table/rte_table_hash_key32.c
delete mode 100644 lib/table/rte_table_hash_key8.c
delete mode 100644 lib/table/rte_table_hash_lru.c
delete mode 100644 lib/table/rte_table_lpm.c
delete mode 100644 lib/table/rte_table_lpm.h
delete mode 100644 lib/table/rte_table_lpm_ipv6.c
delete mode 100644 lib/table/rte_table_stub.c
delete mode 100644 lib/table/rte_table_stub.h
delete mode 100644 lib/table/table_log.c
delete mode 100644 lib/table/table_log.h
--
2.53.0
next prev parent reply other threads:[~2026-07-27 23:12 UTC|newest]
Thread overview: 29+ messages / expand[flat|nested] mbox.gz Atom feed top
2026-07-24 16:43 [PATCH 0/6] remove legacy Packet Framework API Stephen Hemminger
2026-07-24 16:43 ` [RFC 1/6] app/test: remove packet framework tests Stephen Hemminger
2026-07-24 16:43 ` [RFC 2/6] app/test-pipeline: remove application Stephen Hemminger
2026-07-24 16:43 ` [RFC 3/6] examples/ip_pipeline: remove example Stephen Hemminger
2026-07-24 16:44 ` [RFC 4/6] pipeline: remove legacy API Stephen Hemminger
2026-07-24 16:44 ` [RFC 6/6] port: " Stephen Hemminger
2026-07-25 7:54 ` [PATCH 0/6] remove legacy Packet Framework API David Marchand
2026-07-25 13:36 ` Stephen Hemminger
2026-07-27 23:11 ` Stephen Hemminger [this message]
2026-07-27 23:11 ` [RFC v2 1/6] app/test: remove packet framework tests Stephen Hemminger
2026-07-27 23:11 ` [RFC v2 2/6] app/test-pipeline: remove application Stephen Hemminger
2026-07-27 23:11 ` [RFC v2 3/6] examples/ip_pipeline: remove example Stephen Hemminger
2026-07-27 23:11 ` [RFC v2 4/6] pipeline: remove legacy API Stephen Hemminger
2026-07-27 23:11 ` [RFC v2 6/6] port: " Stephen Hemminger
2026-07-28 14:20 ` [PATCH v3 0/6] remove legacy packet framework Stephen Hemminger
2026-07-28 14:20 ` [PATCH v3 1/6] app/test: remove packet framework tests Stephen Hemminger
2026-07-28 14:20 ` [PATCH v3 2/6] app/test-pipeline: remove application Stephen Hemminger
2026-07-28 14:20 ` [PATCH v3 3/6] examples/ip_pipeline: remove example Stephen Hemminger
2026-07-28 14:20 ` [PATCH v3 4/6] pipeline: remove legacy API Stephen Hemminger
2026-07-28 14:20 ` [PATCH v3 6/6] port: " Stephen Hemminger
2026-07-28 14:48 ` [PATCH v3 0/6] remove legacy packet framework David Marchand
2026-07-28 16:35 ` [PATCH v4 0/7] remove deprecated " Stephen Hemminger
2026-07-28 16:35 ` [PATCH v4 1/7] app/test: remove packet framework tests Stephen Hemminger
2026-07-28 16:35 ` [PATCH v4 2/7] app/test-pipeline: remove application Stephen Hemminger
2026-07-28 16:35 ` [PATCH v4 3/7] examples/ip_pipeline: remove example Stephen Hemminger
2026-07-28 16:35 ` [PATCH v4 4/7] pipeline: remove legacy API Stephen Hemminger
2026-07-28 16:35 ` [PATCH v4 5/7] table: " Stephen Hemminger
2026-07-28 16:35 ` [PATCH v4 6/7] port: " Stephen Hemminger
2026-07-28 16:35 ` [PATCH v4 7/7] doc: remove packet framework images 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=20260727231222.1492544-1-stephen@networkplumber.org \
--to=stephen@networkplumber.org \
--cc=dev@dpdk.org \
/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.