|WARNING| [26.11] net/mlx5: remove versioned symbols aliases

dpdklab at iol.unh.edu dpdklab at iol.unh.edu
Mon Jul 13 13:38:53 CEST 2026


Test-Label: ai-code-review
Test-Status: WARNING
https://dpdk.org/patch/166731

_AI Code Review_

=== Patch Review: series.patch (via Claude) ===
Review date: 2026-07-13

# DPDK Patch Review

## Summary
This patch removes versioned symbol aliases for four mlx5 PMD functions after an ABI version bump. The changes are mechanical cleanups that replace the versioning macros with simple `RTE_EXPORT_SYMBOL` annotations.

---

## Errors

None identified.

---

## Warnings

### 1. Missing release notes update

**Issue:** Removal of ABI versioning is a significant ABI/API change that should be documented in the release notes.

**Why it matters:** Users relying on the old symbols need to know about the change.

**Suggested fix:** Add an entry to `doc/guides/rel_notes/release_26_11.rst` under a "Removed Items" or "ABI Changes" section:

```rst
* **net/mlx5: Removed versioned symbol aliases**

  Removed versioned symbol aliases for the following functions after ABI version bump:

  * ``rte_pmd_mlx5_driver_event_cb_register``
  * ``rte_pmd_mlx5_driver_event_cb_unregister``
  * ``rte_pmd_mlx5_enable_steering``
  * ``rte_pmd_mlx5_disable_steering``

  Applications must use the standard symbols without version suffixes.
```

### 2. Meson build change not explained

**Issue:** The patch removes `use_function_versioning = true` from meson.build but does not document whether this affects other versioned symbols in the mlx5 driver or if this was the only use.

**Why it matters:** If other code in mlx5 still uses function versioning, removing this flag could break the build or produce incorrect binaries.

**Suggested fix:** Verify that no other mlx5 source files use `RTE_VERSION_SYMBOL`, `RTE_DEFAULT_SYMBOL`, or `RTE_VERSION_EXPERIMENTAL_SYMBOL`. If they do, this change is premature. If they don't, the commit message should state "mlx5 no longer uses function versioning" explicitly.

---

## Info

### Code correctness
- The symbol export changes are correct: replacing `RTE_DEFAULT_SYMBOL` and removing the experimental alias trampolines is the standard pattern after an ABI bump.
- Function signatures remain unchanged.
- No resource leaks or correctness bugs introduced.

### Style compliance
- Formatting follows DPDK conventions (return type on own line, `RTE_EXPORT_SYMBOL` on line before return type).
- No forbidden tokens introduced.
- Indentation and spacing are correct.

### Commit message
The commit message correctly references the original patch that added the versioned symbols. The subject line follows DPDK conventions.

---

## Recommendations

1. **Add release notes** documenting the removed versioned symbols.
2. **Verify `use_function_versioning` removal** does not affect other mlx5 code or update the commit message to clarify scope.
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