Re: [PATCH 1/8] net/cnxk: support of plain packet reassembly

Stephen Hemminger
2026-02-19T18:58:52Z

On Thu, 19 Feb 2026 14:38:40 +0530
Rahul Bhansali <rbhansali@marvell.com> wrote:

> From: Rakesh Kudurumalla <rkudurumalla@marvell.com>
>
> Adds support of plain packet reassembly by configuring
> UCAST_CPT rule.
>
> Signed-off-by: Rakesh Kudurumalla <rkudurumalla@marvell.com>
> ---

Automated review found these issues to address.

Patch 1/8: net/cnxk: support of plain packet reassembly

&dev->rqs[i] can never be NULL — it's an array offset. The NULL check
should be on eth_dev->data->rx_queues[i] instead, which is used
immediately after without any guard.

If roc_nix_inl_dev_rq_get() or
roc_npa_buf_type_update() fails mid-loop, RQs obtained in prior
iterations are never released via roc_nix_inl_dev_rq_put().

cnxk_nix_ip_reass_rule_set() returns -EIO on all error paths,
discarding the actual rc. The mcam_write_failed label also overwrites
rc with the result of roc_npc_mcam_free(), losing the original write
error.

Missing co-developer Signed-off-by (sent by Rahul, From Rakesh).

Patch 2/8: net/cnxk: support IPsec Rx inject for cn20k

sa_base &= ~0xFFFFUL is inside the per-packet loop but only matters on
the first iteration. Should be hoisted before the loop for clarity.

Release notes: "CN20k Soc" should be "CN20K SoC" to match patch 1.

Patch 8/8: common/cnxk: enable CPT CQ for inline IPSec inbound

nix_inl_cpt_cq_inb_setup(): if cpt_lf_register_irqs() fails, the CQ
from cpt_lf_cq_init() on that LF is not cleaned up, and prior
successfully-setup LFs may have inconsistent state during the error
path teardown.

Unnecessary cast of void * to struct roc_cpt_lf * in nix_inl_cpt_done_irq().