|WARNING| [26.11] ethdev: remove flow metadata symbol aliases
dpdklab at iol.unh.edu
dpdklab at iol.unh.edu
Mon Jul 13 13:50:26 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
This patch removes version aliases for flow metadata symbols after an ABI version bump. The changes are straightforward and correct, with one minor style issue.
---
## Errors
None.
---
## Warnings
### lib/ethdev/rte_flow.c
**Line 285: Function definition style**
The function definition does not follow DPDK style - the return type should be on its own line:
```c
/* Current (incorrect) */
RTE_EXPORT_SYMBOL(rte_flow_dynf_metadata_register)
int
rte_flow_dynf_metadata_register(void)
/* Should be */
RTE_EXPORT_SYMBOL(rte_flow_dynf_metadata_register)
int
rte_flow_dynf_metadata_register(void)
```
Actually, upon review, the formatting is already correct. The `RTE_EXPORT_SYMBOL` macro is on its own line, followed by the return type `int` on the next line, then the function name with parameters. This matches the required style where the export macro precedes the function and the return type is on its own line. No issue here.
---
## Info
**lib/ethdev/meson.build: Removal of `use_function_versioning`**
The removal of `use_function_versioning = true` is consistent with eliminating version aliases. However, verify that no other code in `lib/ethdev/` relies on function versioning. Since the patch only removes versioning for the three metadata symbols and those were the only versioned symbols (based on the context), this should be safe.
**Symbol export changes are appropriate**
The transition from `RTE_EXPORT_EXPERIMENTAL_SYMBOL(name, version)` to `RTE_EXPORT_SYMBOL(name)` for `rte_flow_dynf_metadata_offs` and `rte_flow_dynf_metadata_mask` correctly promotes these symbols from experimental to stable after the ABI bump.
**Simplification of `rte_flow_dynf_metadata_register()`**
Removing the versioning macros (`RTE_DEFAULT_SYMBOL`, `RTE_VERSION_EXPERIMENTAL_SYMBOL`) and the wrapper function simplifies the code appropriately. The function implementation remains unchanged, which is correct.
---
## Release Notes
This patch removes internal versioning machinery and does not change the public API surface (the symbols remain exported, just without version aliases). **Release notes are not required** for this cleanup, as it's an internal implementation detail following an ABI bump.
---
## Conclusion
The patch correctly removes symbol versioning after an ABI version bump. The code changes are appropriate and maintain API compatibility while simplifying the implementation. No correctness issues identified.
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