|SUCCESS| [22/22] ethdev: promote experimental structures to stable
dpdklab at iol.unh.edu
dpdklab at iol.unh.edu
Tue Sep 1 23:04:12 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 Patch Review - series.patch
## Summary
This is a large 22-patch series that promotes long-standing experimental DPDK ethdev API to stable, removing experimental tags from functions, structures, and helpers that have been unchanged for at least two release cycles (two years). The series is clean and represents good maintenance work, graduating mature API that applications are already relying on.
---
## Overall Assessment
**The series has no correctness bugs.** It is purely documentation and symbol export cleanup. All promoted API has been stable for multiple years (oldest from 17.11, newest from 24.11, all >2 years old at patch submission date 2026-09-01). Release notes are updated appropriately. No code logic changes are made.
**No errors found.** The patches correctly:
- Change `RTE_EXPORT_EXPERIMENTAL_SYMBOL(name, ver)` to `RTE_EXPORT_SYMBOL(name)`
- Remove `__rte_experimental` attributes from function declarations
- Remove `@warning @b EXPERIMENTAL:` doxygen comments
- Update release notes to list promoted API
---
## Findings
### Errors
None.
### Warnings
None.
### Info
#### Patch 01/22 - MTR API promotion
- Release notes say "all long past the two-release probation" but do not specify the current release being 26.11. This is fine; the list of affected releases (17.11 through 22.11) makes the age clear.
#### Patch 10/22 - Indirect action API
- Covers synchronous side only; async variants promoted separately in patch 11. This split is correct per the commit message.
#### Patch 11/22 - Asynchronous flow API
- Large patch (54 changes across rte_flow.c and rte_flow.h) promoting the entire template-based flow API. Commit message correctly lists the rollout across 22.03 through 24.11. The last addition was in 24.11, making this promotion at 26.11 meet the two-release rule.
#### Patch 13/22 - Remaining aged flow helpers
- Commit message says "With this rte_flow.c has no experimental symbol left." This is correct for exported function symbols but not for structures (which patch 22 handles).
#### Patch 20/22 - Remaining aged symbols in ethdev
- Commit message says "With this the only exported, non-inline experimental symbols left in ethdev are from 25.03 and later." Correct. The inline helpers `rte_eth_recycle_mbufs()` and `rte_eth_tx_queue_count()` are promoted in patch 21, and trace point symbols are intentionally left experimental.
#### Patch 21/22 - Fast path inline helpers
- Promotes `rte_eth_recycle_mbufs` (23.11) and `rte_eth_tx_queue_count` (24.03). Commit message correctly notes that trace point symbols called by these inlines remain experimental by design. This does not affect callers because `RTE_EXPORT_EXPERIMENTAL_SYMBOL` does not generate `__rte_experimental` warnings in application code; it only controls linker version node placement.
#### Patch 22/22 - Structure promotion
- Removes `@warning @b EXPERIMENTAL:` from structure doxygen comments. Commit message correctly states these are "only documentation comments; the structures themselves are already part of the ABI because they are embedded in stable API signatures." This is true: a structure used in a stable function signature is already ABI; the experimental tag was only on the comment.
- Two flex item structures (`rte_flow_item_flex_field` and `rte_flow_item_flex_link`) had no description other than the warning; the patch gives them a one-line description. This is an improvement.
---
## Conclusion
This is high-quality maintenance work. The series correctly graduates mature API that has been stable for years, updates release notes comprehensively, and makes no code changes beyond symbol export and documentation cleanup. All patches compile independently, and the two-release probation rule is met for every promoted item.
**Recommendation: Accept.**
More information about the test-report
mailing list