|SUCCESS| [22/22] ethdev: promote experimental structures to stable

dpdklab at iol.unh.edu dpdklab at iol.unh.edu
Tue Sep 1 23:01:31 CEST 2026


Test-Label: ai-code-review
Test-Status: SUCCESS
https://dpdk.org/patch/168879

_AI Code Review_

=== Patch Review: series.patch (via Claude) ===
Review date: 2026-09-01

# DPDK Code Review

I'll review each patch in the series. Since these patches promote experimental API to stable, my focus is on ensuring the code is mature enough for stabilization.

---

## Pass 1: Correctness Issues

### PATCH 01/22: ethdev: promote meter API to stable

**No issues found.** This is purely a symbol table change (RTE_EXPORT_EXPERIMENTAL_SYMBOL - RTE_EXPORT_SYMBOL) and documentation cleanup for API that has been stable since 17.11-22.11. The release notes update is appropriate.

### PATCH 02/22: ethdev: promote module EEPROM API to stable

**No issues found.** Symbol promotion for API unchanged since v18.05.

### PATCH 03/22: ethdev: promote rte_flow_conv to stable

**No issues found.** Symbol promotion for API unchanged since v18.11.

### PATCH 04/22: ethdev: promote hairpin API to stable

**No issues found.** Symbol promotion for API complete since v20.11.

### PATCH 05/22: ethdev: promote read clock and flow dump to stable

**No issues found.** Symbol promotion for API from v19.08 and v20.02.

### PATCH 06/22: ethdev: promote FEC API to stable

**No issues found.** Symbol promotion for API unchanged since v20.11.

### PATCH 07/22: ethdev: promote link speed helpers to stable

**No issues found.** Symbol promotion for API unchanged since v20.11.

### PATCH 08/22: ethdev: promote flow tunnel offload API to stable

**No issues found.** Symbol promotion for API complete since v23.06, with unchanged prototypes since v20.11.

### PATCH 09/22: ethdev: promote aged flow query to stable

**No issues found.** Symbol promotion for API from v20.05 and v22.11.

### PATCH 10/22: ethdev: promote indirect action API to stable

**No issues found.** Symbol promotion for API introduced v21.05-23.07, with stable prototypes.

### PATCH 11/22: ethdev: promote asynchronous flow API to stable

**No issues found.** This promotes the template-based async flow API introduced v22.03-24.11. The API is widely implemented (mlx5, sfc, bnxt, cnxk, nfp) and has been stable since 24.11.

### PATCH 12/22: ethdev: promote flex item API to stable

**No issues found.** Symbol promotion for API unchanged since v21.11.

### PATCH 13/22: ethdev: promote remaining aged flow helpers to stable

**No issues found.** Symbol promotion for rte_flow helpers from v23.07-24.03. With this, `rte_flow.c` has no experimental symbols left.

### PATCH 14/22: ethdev: promote congestion management API to stable

**No issues found.** Symbol promotion for API unchanged since v22.11. With this, `rte_ethdev_cman.c` has no experimental symbols left.

### PATCH 15/22: ethdev: promote IP reassembly offload API to stable

**No issues found.** Symbol promotion for API unchanged since v22.03.

### PATCH 16/22: ethdev: promote per-queue priority flow control to stable

**No issues found.** Symbol promotion for API unchanged since v22.03.

### PATCH 17/22: ethdev: promote device info and dump helpers to stable

**No issues found.** Symbol promotion for introspection helpers from v21.11-24.11.

### PATCH 18/22: ethdev: promote speed lanes API to stable

**No issues found.** Symbol promotion for API unchanged since v24.11.

### PATCH 19/22: ethdev: promote queue helpers and aggregated ports to stable

**No issues found.** Symbol promotion for queue validation and aggregation API from v22.07-23.11.

### PATCH 20/22: ethdev: promote remaining aged symbols to stable

**No issues found.** Symbol promotion for last aged symbols from v21.02-24.11. With this, only v25.03+ experimental symbols remain in ethdev, plus inline helpers and trace points.

### PATCH 21/22: ethdev: promote fast path inline helpers to stable

**No issues found.** This promotes `rte_eth_recycle_mbufs()` (v23.11) and `rte_eth_tx_queue_count()` (v24.03) inline helpers. The trace point symbols they call (`RTE_EXPORT_EXPERIMENTAL_SYMBOL`) remain experimental deliberately -- trace infrastructure is not intended to stabilize. This is acceptable because the symbols are not part of the ABI contract for callers of the inline functions.

### PATCH 22/22: ethdev: promote experimental structures to stable

**No issues found.** This removes Doxygen `@warning @b EXPERIMENTAL` comments from structure and enum definitions that are already part of the ABI because they appear in stable API signatures. The oldest are from v21.05, newest from v24.11. This is purely documentation cleanup.

---

## Pass 2: Style and Process

No style or process issues found. All patches:
- Follow the RTE_EXPORT_SYMBOL transition pattern correctly
- Update release notes appropriately
- Remove `__rte_experimental` attributes where applicable
- Maintain consistent formatting
- Document the promotion rationale in commit messages

---

## Summary

**No issues found in any of the 22 patches.**

This series systematically promotes mature experimental API to stable:
- All promoted symbols are at least two releases old (many much older)
- Prototypes have been unchanged since introduction
- APIs are implemented and used in production
- Documentation cleanup matches code changes
- Release notes comprehensively document the promotions

The series follows DPDK's API maturation process correctly. All promoted symbols meet the two-release stability requirement and have demonstrated production readiness.


More information about the test-report mailing list