|WARNING| [26.11] ethdev: remove flow metadata symbol aliases

dpdklab at iol.unh.edu dpdklab at iol.unh.edu
Mon Jul 13 13:26:19 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

## Patch: [PATCH 26.11] ethdev: remove flow metadata symbol aliases

### Summary
This patch removes version aliases for flow metadata symbols after an ABI version bump. The changes affect symbol export macros in `lib/ethdev/rte_flow.c` and remove function versioning from the build configuration.

---

## ERRORS

None found. The patch is correct.

---

## WARNINGS

**1. Missing release notes update**

This patch modifies the ethdev library by removing symbol aliases and changing export macros, which affects the public ABI. The current release (26.11) release notes should document this change.

**Suggested fix:**
Add an entry to `doc/guides/rel_notes/release_26_11.rst` under an "API Changes" or "Removed Items" section explaining that the flow metadata symbol aliases introduced for backward compatibility have been removed after the ABI bump.

---

## INFO

**1. Verification of symbol export changes**

The patch correctly updates symbol exports:
- `RTE_EXPORT_EXPERIMENTAL_SYMBOL(name, version)` - `RTE_EXPORT_SYMBOL(name)` for the two dynf variables
- Removes `RTE_DEFAULT_SYMBOL` and `RTE_VERSION_EXPERIMENTAL_SYMBOL` versioning macros from `rte_flow_dynf_metadata_register()`
- Simplifies the function to a standard definition with `RTE_EXPORT_SYMBOL`

These changes are appropriate after an ABI version bump when backward compatibility is no longer required.

**2. Function versioning removal**

Removing `use_function_versioning = true` from `meson.build` is correct since no versioned symbols remain in the library after this patch.

---

## CORRECTNESS REVIEW

**Error paths and resource management:** Not applicable - this patch only modifies symbol export annotations and removes alias code.

**Logic and control flow:** The simplified `rte_flow_dynf_metadata_register()` function retains all original logic; only the versioning wrapper was removed.

**Memory and initialization:** No changes to memory management or initialization logic.

**Concurrency:** No changes to synchronization or shared state.

---

## CONCLUSION

The patch is technically correct. The only issue is the missing release notes update, which is a **Warning**-level requirement. The code changes properly remove symbol versioning after an ABI bump, and the simplified function retains all original behavior.
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