On Wed, 21 Oct 2026 12:30:14 +0200
David Marchand <[email protected]> wrote:

> We have various checks in drivers about Rx and Tx multiqueue
> configuration.
> This series is a followup of the VMDq cleanup, finishing the job with
> DCB and RSS, and then rejecting invalid multiqueue configuration (useful
> from an ABI point of view).
> 
> Some drivers misreported their capabilities.
> It is important drivers maintainers review carefully those changes.


AI review 

Review: [PATCH v2 00/12] ethdev multi-queue mode validation

Applied cleanly on main (0e03411639). Every commit builds with
-Dwerror=true for all touched drivers except mvneta/mvpp2 (no musdk),
plus the touched apps and examples (ntb not buildable here).
check-doc-vs-code.sh full mode is clean at every commit.

v1 items addressed: ERE alternation (01/12), intel drivers covered
(03/12), igb/ipn3ke docs (08/12), RSS rejection limited to more than
one Rx queue with examples fixed (11/12), xsc hash types (10/12),
idpf/cpfl hash_key_size/reta_size (10/12), bnxt pool (04/12).

Remaining problem: incremental mode of the doc check is broken by
03/12.


Patch 03/12 devtools: handle multiple drivers in doc check

Error: the top-level doc_code_map loop assigns the global "drivers"
variable, which changed_net_drivers() uses as its cache:

        [ -n "$drivers" ] ||
                drivers=$(changed_files | ...)

After the loop "drivers" holds the last shared-directory list
(" txgbe"), so with a trusted commit only txgbe is ever checked.
Reproduced on top of 12/12 by adding "VMDq = Y" to mlx5.ini:

  devtools/check-doc-vs-code.sh HEAD~1   -> rc=0, nothing reported
  devtools/check-doc-vs-code.sh          -> VMDq documented but
                                            max_vmdq_pools not set
                                            for mlx5

Use names that do not collide with the script globals:

        for d in $rootdir/doc/guides/nics/features/*.ini; do
                name=$(basename "$d" .ini)
                dir=$(driver_code_dir $name)
                case $doc_code_map in
                *,$dir:*)
                        before=${doc_code_map%,$dir:*}
                        after=${doc_code_map#*,$dir:}
                        list=${after%%,*}
                        rest=${after#*,}
                        doc_code_map="$before,$dir:$list $name,$rest" ;;
                *)
                        doc_code_map="$doc_code_map$dir: $name," ;;
                esac
        done

With only "drivers" renamed, the mlx5 case is reported in incremental
mode as well.

Info: driver_code_dir() hardcodes the list of intel drivers. Testing
the directory picks up new ones without editing the script:

        *)
                if [ -d $rootdir/drivers/net/intel/$drv ]; then
                        echo "$rootdir/drivers/net/intel/$drv"
                else
                        echo "$rootdir/drivers/net/$drv"
                fi ;;


Patch 11/12 ethdev: check RSS availability

Warning: the commit message and release note say RSS mode is rejected
when flow_type_rss_offloads is 0. The code rejects it only with more
than one Rx queue; with one queue it logs a notice and clears
RTE_ETH_MQ_RX_RSS_FLAG in dev->data->dev_conf. Say so:

  * RSS mode (Rx ``RTE_ETH_MQ_RX_RSS_FLAG``) is rejected with more than
    one Rx queue if the driver reports no ``flow_type_rss_offloads``,
    and ignored with a single Rx queue.


Patches 05/12, 10/12

Info: Fixes: targets are in released versions and there is still no
Cc: [email protected]. If these are not meant for stable (the fm10k hunk
relies on the ethdev VMDq check), say so in the commit message.

Reply via email to