From mboxrd@z Thu Jan 1 00:00:00 1970 From: Hari Kumar Vemula Subject: [PATCH] net/bonding: fix create bonded device test failure Date: Mon, 7 Jan 2019 13:01:04 +0000 Message-ID: <1546866064-11929-1-git-send-email-hari.kumarx.vemula@intel.com> References: Cc: reshma.pattan@intel.com, declan.doherty@intel.com, jananeex.m.parthasarathy@intel.com, Hari Kumar Vemula , stable@dpdk.org To: dev@dpdk.org Return-path: In-Reply-To: List-Id: DPDK patches and discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dev-bounces@dpdk.org Sender: "dev" Create bonded device test is failing due to improper initialisation in bonded device configuration. which leads to crash while setting up queues. The value of nb_rx_desc is checked if it is not in range of rx_desc_lim of bonded device which fails. This is due to "rx_desc_lim" is set to 0 as default value of bonded device during bond_alloc(). Hence nb_rx_desc (1024) is > 0 and test fails. Fix is to set the default values of rx_desc_lim of bonded device to appropriate value. Fixes: 2efb58cbab ("bond: new link bonding library") Cc: stable@dpdk.org Signed-off-by: Hari Kumar Vemula --- drivers/net/bonding/rte_eth_bond_pmd.c | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) diff --git a/drivers/net/bonding/rte_eth_bond_pmd.c b/drivers/net/bonding/rte_eth_bond_pmd.c index 44deaf119..e0888e960 100644 --- a/drivers/net/bonding/rte_eth_bond_pmd.c +++ b/drivers/net/bonding/rte_eth_bond_pmd.c @@ -2225,6 +2225,11 @@ static void bond_ethdev_info(struct rte_eth_dev *dev, struct rte_eth_dev_info *dev_info) { struct bond_dev_private *internals = dev->data->dev_private; + struct rte_eth_desc_lim bond_lim = { + .nb_max = UINT16_MAX, + .nb_min = 0, + .nb_align = 1, + }; uint16_t max_nb_rx_queues = UINT16_MAX; uint16_t max_nb_tx_queues = UINT16_MAX; @@ -2263,10 +2268,8 @@ bond_ethdev_info(struct rte_eth_dev *dev, struct rte_eth_dev_info *dev_info) memcpy(&dev_info->default_txconf, &internals->default_txconf, sizeof(dev_info->default_txconf)); - memcpy(&dev_info->rx_desc_lim, &internals->rx_desc_lim, - sizeof(dev_info->rx_desc_lim)); - memcpy(&dev_info->tx_desc_lim, &internals->tx_desc_lim, - sizeof(dev_info->tx_desc_lim)); + dev_info->rx_desc_lim = bond_lim; + dev_info->tx_desc_lim = bond_lim; /** * If dedicated hw queues enabled for link bonding device in LACP mode -- 2.17.2