On Sat, 25 Jul 2026 09:54:48 +0200 David Marchand <[email protected]> wrote:
> On Fri, 24 Jul 2026 at 18:45, Stephen Hemminger > <[email protected]> wrote: > > > > 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. > > > > Follow-up candidates, kept out of this series: the stale comments in > > lib/ethdev/ethdev_trace.h still refer to examples/ip_pipeline, and > > struct rte_pipeline_acl_rule in the removed rte_table_acl.c was only > > a local name. > > > > > > 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_lpm_ipv6.h | 95 - > > 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 - > > 135 files changed, 27 insertions(+), 45472 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_lpm_ipv6.h > > 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 > > Sorry, it seems this series (and only this series iiuc) fell through > the cracks while patchwork and other dpdk.org services were under > heavy load... > Could you resend? > > I suspect there maybe feedbacks, will send again on Monday.

