On Thu,  3 Jul 2025 17:29:03 +0530
madhuker.myt...@oracle.com wrote:

> From: Madhuker Mythri <madhuker.myt...@oracle.com>
> 
> In bonding PMD, member_start() function checks whether RSS(mq_mode) is
> enabled and then calling the RSS rte_eth_dev_rss_reta_update() API, which
> is returning error in-case of device configured in flow isolation-mode.
> When the device configured with flow isolation mode RSS reta update is not
> required and the API was not supported. For example in-case of mlx5 PMD,
> RSS reta update API was not supported, when the device is configured in
> flow isolation-mode.
> 
> So, added check to verify if the device is configured in flow-isolation
> mode, then do not call the rte_eth_dev_rss_reta_update() API.
> 
> Signed-off-by: Madhuker Mythri <madhuker.myt...@oracle.com>

Should have fixes tag

> ---
>  drivers/net/bonding/rte_eth_bond_pmd.c | 9 ++++-----
>  1 file changed, 4 insertions(+), 5 deletions(-)
> 
> diff --git a/drivers/net/bonding/rte_eth_bond_pmd.c 
> b/drivers/net/bonding/rte_eth_bond_pmd.c
> index 83339bae3d..b8fecb85d2 100644
> --- a/drivers/net/bonding/rte_eth_bond_pmd.c
> +++ b/drivers/net/bonding/rte_eth_bond_pmd.c
> @@ -1904,12 +1904,11 @@ member_start(struct rte_eth_dev *bonding_eth_dev,
>               }
>       }
>  
> -     /* If RSS is enabled for bonding, synchronize RETA */
> -     if (bonding_eth_dev->data->dev_conf.rxmode.mq_mode & RTE_ETH_MQ_RX_RSS) 
> {
> +     /* If flow-isolation is not enabled, then check whether RSS is enabled 
> for
> +      * bonding, synchronize RETA */

Comment needs to be split to satisfy the style guidelines.

> +     if (internals->flow_isolated_valid == 0 &&
> +             (bonding_eth_dev->data->dev_conf.rxmode.mq_mode & 
> RTE_ETH_MQ_RX_RSS)) {
>               int i;
> -             struct bond_dev_private *internals;
> -
> -             internals = bonding_eth_dev->data->dev_private;

This code looks like it was always redundant. The new definition of internals
duplicates same variable earlier in function. Why is the compiler not flagging 
this?
Is there some warning that DPDK is disabling?

>  
>               for (i = 0; i < internals->member_count; i++) {
>                       if (internals->members[i].port_id == member_port_id) {

Reply via email to