[PATCH] net/bonding: avoid RSS reta update in flow-isolation mode
madhuker.mythri at oracle.com
madhuker.mythri at oracle.com
Thu Jul 3 13:37:36 CEST 2025
From: Madhuker Mythri <madhuker.mythri at 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 isolatio-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.mythri at oracle.com>
---
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..d312720869 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 */
+ 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;
for (i = 0; i < internals->member_count; i++) {
if (internals->members[i].port_id == member_port_id) {
--
2.39.5 (Apple Git-154)
More information about the dev
mailing list