|WARNING| [26.11] ethdev: remove flow metadata symbol aliases
dpdklab at iol.unh.edu
dpdklab at iol.unh.edu
Mon Jul 13 13:24:34 CEST 2026
Test-Label: ai-code-review
Test-Status: WARNING
https://dpdk.org/patch/166730
_AI Code Review_
=== Patch Review: series.patch (via Claude) ===
Review date: 2026-07-13
# DPDK Patch Review
## Summary
Reviewing patch "ethdev: remove flow metadata symbol aliases" which removes ABI version aliases after an ABI version bump.
---
## Errors
None identified.
---
## Warnings
**1. Missing release notes update**
The patch removes ABI versioning infrastructure (`use_function_versioning = true`) and symbol aliases,
but does not update the release notes to document this ABI-related change.
**Suggested fix:**
Add a release notes entry in `doc/guides/rel_notes/release_26_11.rst`:
```rst
* **Removed flow metadata symbol version aliases.**
After the ABI version bump to 26, the version aliases for
``rte_flow_dynf_metadata_register`` and the EXPERIMENTAL markers
on ``rte_flow_dynf_metadata_offs`` and ``rte_flow_dynf_metadata_mask``
have been removed as they are no longer needed.
```
---
**2. Export macro versions should specify release for tracking**
The patch changes `RTE_EXPORT_EXPERIMENTAL_SYMBOL(rte_flow_dynf_metadata_offs, 19.11)`
to `RTE_EXPORT_SYMBOL(rte_flow_dynf_metadata_offs)`.
While this is correct for promoting experimental to stable,
the version information (19.11) is lost.
This is acceptable but consider whether the export macro should include a version parameter
for historical tracking purposes in future DPDK versions.
Current guidelines do not require this, so this is informational only.
---
**3. Verify related documentation**
The symbols `rte_flow_dynf_metadata_offs` and `rte_flow_dynf_metadata_mask`
are changing from experimental to stable status.
Verify that their Doxygen documentation in the corresponding header file
does not contain `@warning Experimental` or similar markers that should be removed.
---
## Info
**Code changes are mechanically correct:**
- Removal of `use_function_versioning = true` is appropriate when no versioned symbols remain in the library
- `RTE_EXPORT_SYMBOL` correctly replaces `RTE_EXPORT_EXPERIMENTAL_SYMBOL` for promoted-to-stable symbols
- Function definition change from `RTE_DEFAULT_SYMBOL` macro to plain definition with `RTE_EXPORT_SYMBOL` is correct
- Removal of `RTE_VERSION_EXPERIMENTAL_SYMBOL` wrapper that called the default version is correct
- The code transformation maintains the exact same runtime behavior
**ABI versioning pattern:**
The original code had both a default version (26) and an experimental alias.
The new code has only the default (stable) version, which is correct after an ABI bump.
---
## Conclusion
The patch is **functionally correct** with respect to C code and symbol export mechanics.
The primary concern is the missing release notes entry to document this ABI-related change.
Traceback (most recent call last):
File "/home-local/jenkins-local/jenkins-agent/workspace/AI-Code-Review/dpdk/devtools/ai/review-patch.py", line 1358, in <module>
main()
File "/home-local/jenkins-local/jenkins-agent/workspace/AI-Code-Review/dpdk/devtools/ai/review-patch.py", line 1354, in main
sys.exit(classify_review(review_text, args.output_format))
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/home-local/jenkins-local/jenkins-agent/workspace/AI-Code-Review/dpdk/devtools/ai/review-patch.py", line 180, in classify_review
elif curr_state == ReviewParseState.IN_ERROR and not re.match(
^^^^^^^^^^
UnboundLocalError: cannot access local variable 'curr_state' where it is not associated with a value
More information about the test-report
mailing list