Thank you for your contribution! Sashiko AI review found 1 potential issue(s) 
to consider:
- [Medium] User-configured RSS indirection table is silently discarded and 
reset to defaults during per-queue reconfigurations.
--

--- Patch [1]: [PATCH net-next v2 01/13] net: mana: add queue-set allocation 
and teardown helpers ---
commit fcc6a74602d4e66dc287809434c5e9b44c3be829
Author: Long Li <[email protected]>
Subject: net: mana: add queue-set allocation and teardown helpers

The ethtool reconfiguration paths (channel count, ring size, private
flags), mana_change_mtu() and mana_xdp_set() rebuild the queues with
mana_detach() then mana_attach(). This adds the data model and helpers for
pre-allocate and swap to independently build and tear down a queue set.

> diff --git a/drivers/net/ethernet/microsoft/mana/mana_en.c 
> b/drivers/net/ethernet/microsoft/mana/mana_en.c
> --- a/drivers/net/ethernet/microsoft/mana/mana_en.c
> +++ b/drivers/net/ethernet/microsoft/mana/mana_en.c
[ ... ]
> +int mana_alloc_qset(struct mana_port_context *scratch, unsigned int 
> num_queues,
> +                 unsigned int rx_queue_size, unsigned int tx_queue_size,
> +                 u32 priv_flags, struct mana_qset *out)
> +{
> +     struct net_device *ndev = scratch->ndev;
> +     int err;
[ ... ]
> +     err = mana_rss_table_alloc(scratch);
> +     if (err)
> +             goto cleanup_rxq_array;
> +
> +     err = mana_create_eq(scratch);
> +     if (err)
> +             goto cleanup_rss;
> +
> +     err = mana_create_txq(scratch, ndev);
> +     if (err)
> +             goto cleanup_eq;
> +
> +     err = mana_add_rx_queues(scratch, ndev);
> +     if (err)
> +             goto cleanup_rxq;
> +
> +     mana_rss_table_init(scratch);

[Severity: Medium]
Will this unconditionally reset the RSS indirection table to defaults during
reconfigurations?

Since mana_rss_table_alloc() creates a new table and mana_rss_table_init()
initializes it to default round-robin values, it seems like a user's existing
custom RSS steering configuration might be silently overwritten when the new
queue set is published.

Could this cause a regression where the custom configuration is lost? Should
it be preserved by copying the existing table from the active port context
instead?

> +
> +     mana_qset_snapshot(scratch, out);
> +     return 0;

-- 
Sashiko AI review ยท 
https://sashiko.dev/#/patchset/[email protected]?part=1

Reply via email to