|WARNING| net/bnxt: remove VMDq support
dpdklab at iol.unh.edu
dpdklab at iol.unh.edu
Mon Sep 21 08:39:11 CEST 2026
Test-Label: ai-code-review
Test-Status: WARNING
https://dpdk.org/patch/169867
_AI Code Review_
=== Patch Review: series.patch (via Claude) ===
Review date: 2026-09-21
# DPDK Patch Review: net/bnxt: remove VMDq support
## Summary
This patch removes VMDq support from the bnxt driver. The changes are primarily deletions with some preservation of RSS-related logic. I found **no correctness bugs** and only minor style issues.
---
## Errors
None found.
---
## Warnings
### 1. Release notes use incorrect verb tense and passive voice
**File:** `doc/guides/rel_notes/release_26_11.rst`
**Issue:**
```rst
* net/bnxt: Removed VMDq support. ``max_vmdq_pools`` and
``vmdq_queue_num`` are now always reported as 0 in ``dev_info``.
```
Release notes should use present tense and active voice per DPDK style.
**Fix:**
```rst
* net/bnxt: Remove VMDq support. Report ``max_vmdq_pools`` and
``vmdq_queue_num`` as 0 in ``dev_info``.
```
---
### 2. Leftover TODO comment should be removed or updated
**File:** `drivers/net/bnxt/bnxt_rxq.c:132`
**Issue:**
The patch removes VMDQ-specific code but leaves a generic TODO comment about default_rxconf/tx_desc_lim in `bnxt_dev_info_get_op()`. This comment is unrelated to VMDq removal and either should have been addressed or left alone. Removing just the VMDq calculation code while keeping this unrelated comment creates a misleading patch context.
**Suggestion:**
If the TODO is unrelated to VMDq removal, don't include its context in the patch. The patch should focus solely on VMDq removal.
---
## Info
### 1. Preserved logic is correctly identified in commit message
The commit message explicitly documents that RTE_ETH_MQ_RX_RSS pools=rx_cosq_cnt case and the skip_filter_allocation guard are preserved because they serve non-VMDq RSS paths. This is good practice.
### 2. Removal of vmdq_pool_base/vmdq_queue_base assignments
The patch sets `max_vmdq_pools` and `vmdq_queue_num` to 0 but does not remove the assignments to `vmdq_pool_base` and `vmdq_queue_base` (lines 1257-1258 in the original). These could also be set to 0 or removed for completeness, but leaving them is acceptable since they're meaningless when `max_vmdq_pools` is 0.
### 3. Logic simplification in bnxt_mq_rx_configure()
**File:** `drivers/net/bnxt/bnxt_rxq.c:89-91`
The replacement logic:
```c
if (!dev_conf->rxmode.mq_mode ||
dev_conf->rxmode.mq_mode == RTE_ETH_MQ_RX_RSS)
pools = bp->rx_cosq_cnt ? bp->rx_cosq_cnt : pools;
```
This correctly preserves the RSS case (formerly in the switch statement) while removing VMDq cases. The `pools = 1` initialization earlier ensures the default when neither condition is true.
---
## Correctness Verification
**No resource leaks:** Only deletions; no new allocations or error paths introduced.
**No use-after-free:** Removed code that accessed `conf->pool_map[j]` and related VMDq config; no new pointer usage.
**No race conditions:** Changes are to configuration paths only; no new shared state.
**Error propagation intact:** Preserved existing error handling in `bnxt_mq_rx_configure()`.
**NULL checks:** No new dereferences; removed code that accessed `conf` pointer.
**Feature matrix update:** Correctly removed "VMDq = Y" from `bnxt.ini`.
**Release notes:** Present (though style could be improved per Warning #1).
---
## Style Verification
No forbidden tokens introduced.
No implicit comparisons added (existing code uses explicit checks).
No trailing whitespace.
No unnecessary defensive code added.
Comment style consistent with existing code.
---
## Conclusion
The patch is **functionally correct**. The VMDq removal is clean, and the preserved RSS logic is properly maintained. The two warnings are minor style issues (release notes verb tense and an unrelated TODO comment in the diff context). No errors were found.
More information about the test-report
mailing list