From patchwork Tue Jan 18 02:59:21 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Yu Wenjun X-Patchwork-Id: 106011 X-Patchwork-Delegate: ferruh.yigit@amd.com Return-Path: X-Original-To: patchwork@inbox.dpdk.org Delivered-To: patchwork@inbox.dpdk.org Received: from mails.dpdk.org (mails.dpdk.org [217.70.189.124]) by inbox.dpdk.org (Postfix) with ESMTP id 80C57A00C3; Tue, 18 Jan 2022 09:48:59 +0100 (CET) Received: from [217.70.189.124] (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id 0F59D42717; Tue, 18 Jan 2022 09:48:42 +0100 (CET) Received: from cmccmta1.chinamobile.com (cmccmta1.chinamobile.com [221.176.66.79]) by mails.dpdk.org (Postfix) with ESMTP id 837A440140; Tue, 18 Jan 2022 04:00:35 +0100 (CET) Received: from spf.mail.chinamobile.com (unknown[172.16.121.5]) by rmmx-syy-dmz-app03-12003 (RichMail) with SMTP id 2ee361e62d51422-fab33; Tue, 18 Jan 2022 11:00:33 +0800 (CST) X-RM-TRANSID: 2ee361e62d51422-fab33 X-RM-TagInfo: emlType=0 X-RM-SPAM-FLAG: 00000000 Received: from localhost.localdomain (unknown[223.112.105.130]) by rmsmtp-syy-appsvr03-12003 (RichMail) with SMTP id 2ee361e62d42a8b-a4bcd; Tue, 18 Jan 2022 11:00:33 +0800 (CST) X-RM-TRANSID: 2ee361e62d42a8b-a4bcd From: Yu Wenjun To: ferruh.yigit@intel.com, humin29@huawei.com, tangchengchang@huawei.com Cc: dev@dpdk.org, stable@dpdk.org, Yu Wenjun Subject: [PATCH] net/bonding: fix RSS not work for bonding Date: Tue, 18 Jan 2022 10:59:21 +0800 Message-Id: <20220118025921.437-1-yuwenjun@cmss.chinamobile.com> X-Mailer: git-send-email 2.32.0.windows.1 MIME-Version: 1.0 X-Mailman-Approved-At: Tue, 18 Jan 2022 09:48:37 +0100 X-BeenThere: dev@dpdk.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: DPDK patches and discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dev-bounces@dpdk.org RSS don't work when bond_ethdev_configure called before rte_eth_bond_slave_add in DPDK21.11. e.g.: dont't work(examples/bond/main.c): rte_eth_bond_create() rte_eth_dev_configure() rte_eth_bond_slave_add() rte_eth_dev_start() work(testpmd): rte_eth_bond_create() rte_eth_bond_slave_add() rte_eth_dev_configure() rte_eth_dev_start() Signed-off-by: Yu Wenjun Acked-by: Min Hu (Connor) --- 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)",