From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from dpdk.org (dpdk.org [92.243.14.124]) by inbox.dpdk.org (Postfix) with ESMTP id ED103A0352; Mon, 4 Nov 2019 21:28:02 +0100 (CET) Received: from [92.243.14.124] (localhost [127.0.0.1]) by dpdk.org (Postfix) with ESMTP id 6F8F731FC; Mon, 4 Nov 2019 21:28:00 +0100 (CET) Received: from mail-wr1-f67.google.com (mail-wr1-f67.google.com [209.85.221.67]) by dpdk.org (Postfix) with ESMTP id 4D18F2BF5 for ; Mon, 4 Nov 2019 21:27:59 +0100 (CET) Received: by mail-wr1-f67.google.com with SMTP id v9so18671040wrq.5 for ; Mon, 04 Nov 2019 12:27:59 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=broadcom.com; s=google; h=from:to:cc:subject:date:message-id:in-reply-to:references; bh=zFP0v8mf/0QH/2zjA9gz5Zi/WHZAIjVM3iqixKP/Zus=; b=USTPlToYl3kYax0cG5+UlaGl6Fkk51wwtPL3Vl3bzuiqoLaQevvSVBDxtfb/fg2iBl ivGioxvyZrKr3L3SK3SDc8xfai7sa+x5/XjdszOoabYGm2RB0Mix26QzSlP7C56NpK0f ArHCkoW+GdJnkafYuCqQLzR7rxrF6eX5u7+W0= X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references; bh=zFP0v8mf/0QH/2zjA9gz5Zi/WHZAIjVM3iqixKP/Zus=; b=Q0Z9YMYAkAMpb6ZNKJgzgRE6xDGGTBfTemGDmK3UcOuPYEqyvfbnvCe3KZDiPuylsc s/nsgzzMn2PvgN0s8VkWT3OazlUfnLWyg40zVTSSYNu+A326T3xigl08gfaLbccOsVQp KXX6+Qxa9YrmVSR2ZRaInSYk+2Tznt4ORmO4Uw3rsTZVKlPo7/ZZeKiV+rRHvbFskM6U nOYOTZ+2VV81jl+hhDSOjrzyA9H8HG69y/SmFhCqw0FY09gA5hZLDd/dazUDv3dZc4BM xTDq9IxMwc/TvxrWHhOfAPwirDGRPqlb9JtGH/eT3/xBWoDmEJWsV8k4m9uy2wUKzFqN CEXA== X-Gm-Message-State: APjAAAVaeolxq11oqDXF9r8FrG4Agwf+Io03H66duTv9OPYXn3nI0zay zi5J9LpKvgHPX+ce/BSIihxhQT9NgYj0EPZCZNOaXiZLmMOEBTRwbmQdXjrizzKPHTNQ6HZPZwF lCyoQFhx4jS2rRmSIi34Fp4AwEhac73z57ejhRJV4+FFRR/pQFezteMD59iLTfrvL X-Google-Smtp-Source: APXvYqxCBSCwiFB307gOc7Po5P7IujQv3brYb4Vph8lweWfAx+wwjyHtp0ki6DE+mFSUaOrvpxZXCQ== X-Received: by 2002:adf:f489:: with SMTP id l9mr21196383wro.337.1572899278777; Mon, 04 Nov 2019 12:27:58 -0800 (PST) Received: from lrichardson-VirtualBox.dhcp.broadcom.net ([192.19.231.250]) by smtp.gmail.com with ESMTPSA id i3sm17995365wrw.69.2019.11.04.12.27.57 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 04 Nov 2019 12:27:58 -0800 (PST) From: Lance Richardson To: dev@dpdk.org Cc: ajit.khaparde@broadcom.com, ferruh.yigit@intel.com, Lance Richardson Date: Mon, 4 Nov 2019 15:27:44 -0500 Message-Id: <20191104202747.12897-2-lance.richardson@broadcom.com> X-Mailer: git-send-email 2.17.1 In-Reply-To: <20191104202747.12897-1-lance.richardson@broadcom.com> References: <20191104202747.12897-1-lance.richardson@broadcom.com> Subject: [dpdk-dev] [PATCH 1/4] net/bnxt: fix RSS table update for start/stop rxq X-BeenThere: dev@dpdk.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: DPDK patches and discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dev-bounces@dpdk.org Sender: "dev" A previous commit made updating of the RSS table when a receive queue is stopped/started conditional on vnic->rx_queue_cnt being nonzero. This count is only nonzero for dynamically created VNICs, so the RSS table was not being updated in the normal path. Fix by restoring the original logic. Also ensure that vnic->rx_queue_cnt is initialized to zero when reinitializing the VNIC array. Fixes: 36024b2e7fe5 ("net/bnxt: allow dynamic creation of VNIC") Signed-off-by: Lance Richardson Reviewed-by: Ajit Kumar Khaparde Signed-off-by: Ajit Khaparde --- drivers/net/bnxt/bnxt_rxq.c | 6 ++---- drivers/net/bnxt/bnxt_vnic.c | 1 + 2 files changed, 3 insertions(+), 4 deletions(-) diff --git a/drivers/net/bnxt/bnxt_rxq.c b/drivers/net/bnxt/bnxt_rxq.c index 6420281d3..ab889c10e 100644 --- a/drivers/net/bnxt/bnxt_rxq.c +++ b/drivers/net/bnxt/bnxt_rxq.c @@ -466,8 +466,7 @@ int bnxt_rx_queue_start(struct rte_eth_dev *dev, uint16_t rx_queue_id) } PMD_DRV_LOG(DEBUG, "Rx Queue Count %d\n", vnic->rx_queue_cnt); - if (vnic->rx_queue_cnt > 1) - rc = bnxt_vnic_rss_configure(bp, vnic); + rc = bnxt_vnic_rss_configure(bp, vnic); } if (rc == 0) @@ -522,8 +521,7 @@ int bnxt_rx_queue_stop(struct rte_eth_dev *dev, uint16_t rx_queue_id) vnic->fw_grp_ids[rx_queue_id] = INVALID_HW_RING_ID; PMD_DRV_LOG(DEBUG, "Rx Queue Count %d\n", vnic->rx_queue_cnt); - if (vnic->rx_queue_cnt > 1) - rc = bnxt_vnic_rss_configure(bp, vnic); + rc = bnxt_vnic_rss_configure(bp, vnic); } if (rc == 0) diff --git a/drivers/net/bnxt/bnxt_vnic.c b/drivers/net/bnxt/bnxt_vnic.c index 412a53dc0..52a4badfc 100644 --- a/drivers/net/bnxt/bnxt_vnic.c +++ b/drivers/net/bnxt/bnxt_vnic.c @@ -51,6 +51,7 @@ static void bnxt_init_vnics(struct bnxt *bp) vnic->lb_rule = (uint16_t)HWRM_NA_SIGNATURE; vnic->hash_mode = HWRM_VNIC_RSS_CFG_INPUT_HASH_MODE_FLAGS_DEFAULT; + vnic->rx_queue_cnt = 0; STAILQ_INIT(&vnic->filter); STAILQ_INIT(&vnic->flow_list); -- 2.17.1