On Fri, 30 Oct 2026 10:13:14 +0530
Gagandeep Singh <[email protected]> wrote:

> V2-changes:
>  - Fixed most of the AI comments.
>  - added new patch:
>    fix out-of-bounds read of mac_idx
>  - removed drv_oldev, updated comments and notes.
>  - fixes FQ shutdown
>  - removed unwanted checks, updated open, updated snprintf.
>  - updated commit messages.
> 
> V1:
>  - Adding OH port support.
>  - Updates in shared ethernet code.
>  - Congestion related code cleanup.
> 
> Gagandeep Singh (2):
>   bus/dpaa: fix out-of-bounds read of mac_idx array
>   drivers: add offline (O/H) port device support
> 
> Hemant Agrawal (1):
>   net/dpaa: support non fmX-macY type of shared Ethernet name
> 
> Jun Yang (1):
>   drivers: add DPAA cgrid cleanup support
> 
>  doc/api/doxy-api-index.md                |   1 +
>  doc/guides/nics/dpaa.rst                 |  35 +
>  drivers/bus/dpaa/base/fman/fman.c        |  19 +
>  drivers/bus/dpaa/base/qbman/qman.c       |  61 ++
>  drivers/bus/dpaa/bus_dpaa_driver.h       |   4 +-
>  drivers/bus/dpaa/dpaa_bus.c              |  66 +-
>  drivers/bus/dpaa/dpaa_bus_base_symbols.c |   2 +
>  drivers/bus/dpaa/include/fman.h          |   6 +-
>  drivers/bus/dpaa/include/fsl_qman.h      |  28 +
>  drivers/net/dpaa/dpaa_ethdev.c           | 241 ++++++-
>  drivers/net/dpaa/dpaa_ethdev.h           |   3 +
>  drivers/net/dpaa/dpaa_flow.c             |   7 +-
>  drivers/net/dpaa/dpaa_oldev.c            | 875 +++++++++++++++++++++++
>  drivers/net/dpaa/meson.build             |  11 +-
>  drivers/net/dpaa/rte_pmd_dpaa_oldev.h    | 188 +++++
>  15 files changed, 1517 insertions(+), 30 deletions(-)
>  create mode 100644 drivers/net/dpaa/dpaa_oldev.c
>  create mode 100644 drivers/net/dpaa/rte_pmd_dpaa_oldev.h
> 

Manually run AI review still sees issues that need addessing

Review of [PATCH v2 0/4] DPAA offline port, shared MAC, cgrid cleanup

Applied to next-net for-main (3b51e2e2f0). Each commit builds with
-Dwerror=true.

Series
------

The rte_pmd_dpaa_ol_* API is unchanged from v1 apart from renames and
Doxygen. The four functions still take no port_id and only pass a
caller-filled struct to ioctl() on the out-of-tree /dev/cdx_ctrl
driver. The dpaa.rst text added in v2 confirms the API is configuration
for that kernel module, not for the DPDK port. It belongs in the vendor
userspace library for cdx. Please drop rte_pmd_dpaa_oldev.h and the
exports.

There are still no release notes for the offline port.


Patch 2/4 drivers: add offline (O/H) port device support
--------------------------------------------------------

Warning

The commit message still says the port is "selected through the
'drv_oldev' bus device argument". v2 removed drv_oldev; the port is
created when "-a dpaa_bus:oldev1" is given.

With only oldev1 present, dpaa_netcfg is NULL. v2 handles that in the
two log statements but not in the debug dump:

        #ifdef RTE_LIBRTE_DPAA_DEBUG_DRIVER
                dump_netcfg(dpaa_netcfg, stdout);
        #endif

dump_netcfg() dereferences cfg_ptr->num_ethports unconditionally. Fold
it into the existing check:

        if (dpaa_netcfg) {
        #ifdef RTE_LIBRTE_DPAA_DEBUG_DRIVER
                dump_netcfg(dpaa_netcfg, stdout);
        #endif
                DPAA_BUS_DEBUG("Number of ethernet devices = %d",
                             dpaa_netcfg->num_ethports);
        }

Not addressed from v1: dpaa_oldev_queues_release() returns both FQIDs
to the allocator with qman_release_fqid(), but the kernel received them
through ASK_CTRL_SET_DPDK_INFO and is never told they are gone. There
is no reset ioctl for that. Until cdx provides one, do not release the
two FQIDs on close.

Info

drv_bh_port is now checked against a key list, but it is still parsed
in dev_start(). A missing drv_bh_port is only reported at start. Parse
it once in dpaa_ol_probe() and fail probe if it is absent.

The static_assert and comment added to dpaa_flow.c, and the
MEMMAC_REG_OFFSET removal in fman.h, are not part of the offline port.
Move the dpaa_flow.c change to 1/4, and mention the fman.h removal in
the commit message.


Patch 4/4 drivers: add DPAA cgrid cleanup support
-------------------------------------------------

Info

dev_close() runs dpaa_cgr_stale_fq_cleanup() before shutting down the
port's own FQs. The scan therefore finds this port's live queues, logs
each one as "still alive?", and shuts it down by FQID. The
qman_shutdown_fq() loop that follows then only sees FQs that are
already OOS. Shut down rx_queues[]/tx_queues[] first, then scan, so the
scan only reports FQs left by a previous run.

Reply via email to