[PATCH] net/bonding: fix RSS not work for bonding in DPDK21.11

俞文俊_yewu yuwenjun_yewu at cmss.chinamobile.com
Wed Jan 12 08:29:19 CET 2022


>From 85c4ffffe32996fc262dd6f69d0ce272ae8e8350 Mon Sep 17 00:00:00 2001

From: Yu Wenjun <yuwenjun_yewu at cmss.chinamobile.com>

Date: Wed, 12 Jan 2022 15:01:10 +0800

Subject: [PATCH] net/bonding: fix RSS not work for bonding



RSS don39t work when upgrade to DPDK21.11.



e.g.:

examples/bond/main.c:

conf:

static struct rte_eth_conf port_conf = {

	.rxmode = {

		.mq_mode = RTE_ETH_MQ_RX_NONE,

		.split_hdr_size = 0,

	},

	.rx_adv_conf = {

		.rss_conf = {

			.rss_key = NULL,

			.rss_hf = RTE_ETH_RSS_IP,

		},

	},

	.txmode = {

		.mq_mode = RTE_ETH_MQ_TX_NONE,

	},

}



call chain:

rte_eth_bond_create()->rte_eth_dev_configure()->rte_eth_bond_slave_add()->rte_eth_dev_start()



Signed-off-by: Yu Wenjun <yuwenjun_yewu at cmss.chinamobile.com>

---

 drivers/net/bonding/rte_eth_bond_pmd.c | 5 +++++

 1 file changed, 5 insertions(+)



diff --git a/drivers/net/bonding/rte_eth_bond_pmd.c b/drivers/net/bonding/rte_eth_bond_pmd.c

index 84f4900ee5..31bcee15cf 100644

--- a/drivers/net/bonding/rte_eth_bond_pmd.c

+++ b/drivers/net/bonding/rte_eth_bond_pmd.c

@@ -3504,6 +3504,11 @@ bond_ethdev_configure(struct rte_eth_dev *dev)

 	if (dev->data->dev_conf.rxmode.mq_mode & RTE_ETH_MQ_RX_RSS) {

 		struct rte_eth_rss_conf *rss_conf =

 			&dev->data->dev_conf.rx_adv_conf.rss_conf

+

+		if (internals->rss_key_len == 0) {

+			internals->rss_key_len = sizeof(default_rss_key)

+		}

+

 		if (rss_conf->rss_key != NULL) {

 			if (internals->rss_key_len > rss_conf->rss_key_len) {

 				RTE_BOND_LOG(ERR, "Invalid rss key length(%u)",

-- 

2.32.0.windows.1



-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mails.dpdk.org/archives/dev/attachments/20220112/68797713/attachment.htm>


More information about the dev mailing list