From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mails.dpdk.org (mails.dpdk.org [217.70.189.124]) by inbox.dpdk.org (Postfix) with ESMTP id D24F9A00C2 for ; Thu, 3 Nov 2022 10:32:40 +0100 (CET) Received: from [217.70.189.124] (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id CB3A44069B; Thu, 3 Nov 2022 10:32:40 +0100 (CET) Received: from mail-wr1-f44.google.com (mail-wr1-f44.google.com [209.85.221.44]) by mails.dpdk.org (Postfix) with ESMTP id 0429840694 for ; Thu, 3 Nov 2022 10:32:40 +0100 (CET) Received: by mail-wr1-f44.google.com with SMTP id a14so1731541wru.5 for ; Thu, 03 Nov 2022 02:32:40 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=XWSrIOkm/BJBmFzy81NYL1eY0Jz57R94s2qRwVY7rYg=; b=ZrAnqpMrbBghrxXEr40n2Y+ZL6pEAhIbjmcJ0ziLx6DXIPFZQQnV/wtO2pwLG0yXuZ /ck5s0x2KOCn7EFLzBeszF657WJmLyRJ+YkQ+N1g/qBcvY/j89ZXkjZIPjXeLhLsv4Jf cCJJP9asEWV/GF7ezTnCdVTLkeISIAqCrtBPfdxhvSalFDaKV5ppDEmXrrte7FNhHb8m ggPKITzoUIMhMfJ/TQqjix1hNluYnIuIgBPLVKHngkThjLXzgrBGLCYX6VLLjIn7vUh6 WyXiJyh0H1tceQc5Q1Nvv1VHMJsGz2T07bT+yLeBNYUsztk3Mb8PdH1J3ZsybWCGWlLm Vy5Q== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=XWSrIOkm/BJBmFzy81NYL1eY0Jz57R94s2qRwVY7rYg=; b=x+ebVeZnI+Cj7Cm29tQLMr6vmqadn9k4qTqZgNHxAk8FPDw2zAifdcTPSZIvv9h+DY S4xr/+TvWE7JkfGnDI3uX3cOf7fIwZ7fjSIs3anDxamP90uDEfOUWySscI1aleXVaxZJ Cdn882PW4lU9seITUCQdIFFK67PucIX3tR2P3qkGp5wYTnrjjZ2nYm6g68BmBjMBujGR vQVzhpaS+hXRuQ34cwf9UnfUf5jBIddPmZX7qYHq5QoVli6HOCxMIPx3dvIcVKlf42P9 1jpabkGpvgPdGezIkGPlRjqayUhDd9gOn7GHVwbgpYRJkbiUFf4e+ZyR1p84+LcbrMtd +s6Q== X-Gm-Message-State: ACrzQf02dq6YurWr/kCyE+T+otKHqq34yOGqTfsvO1EJpvsL9UBYSNet v2W4T/qup8RVLs7sp8xkNp2wK1pk2hfvyIDN X-Google-Smtp-Source: AMsMyM68h6OQFv7wZgJC7NV+7heD8OOBDK0fa3hL/JeuC5JYnK+ZbXXZnlZgwQ2IApd2an+/uu4WBg== X-Received: by 2002:a5d:5081:0:b0:236:75cc:be26 with SMTP id a1-20020a5d5081000000b0023675ccbe26mr18607806wrt.379.1667467959626; Thu, 03 Nov 2022 02:32:39 -0700 (PDT) Received: from localhost ([2a01:4b00:d307:1000:f1d3:eb5e:11f4:a7d9]) by smtp.gmail.com with ESMTPSA id b8-20020a05600c4e0800b003cf75f56105sm751239wmq.41.2022.11.03.02.32.38 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 03 Nov 2022 02:32:39 -0700 (PDT) From: luca.boccassi@gmail.com To: Huisong Li Cc: Dongdong Liu , dpdk stable Subject: patch 'net/hns3: fix restore filter function input' has been queued to stable release 20.11.7 Date: Thu, 3 Nov 2022 09:27:39 +0000 Message-Id: <20221103092758.1099402-81-luca.boccassi@gmail.com> X-Mailer: git-send-email 2.34.1 In-Reply-To: <20221103092758.1099402-1-luca.boccassi@gmail.com> References: <20221103092758.1099402-1-luca.boccassi@gmail.com> MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-BeenThere: stable@dpdk.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: patches for DPDK stable branches List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: stable-bounces@dpdk.org Hi, FYI, your patch has been queued to stable release 20.11.7 Note it hasn't been pushed to http://dpdk.org/browse/dpdk-stable yet. It will be pushed if I get no objections before 11/05/22. So please shout if anyone has objections. Also note that after the patch there's a diff of the upstream commit vs the patch applied to the branch. This will indicate if there was any rebasing needed to apply to the stable branch. If there were code changes for rebasing (ie: not only metadata diffs), please double check that the rebase was correctly done. Queued patches are on a temporary branch at: https://github.com/kevintraynor/dpdk-stable This queued commit can be viewed at: https://github.com/kevintraynor/dpdk-stable/commit/4bd8b93920d55c80804c5d017897772ee880ee87 Thanks. Luca Boccassi --- >From 4bd8b93920d55c80804c5d017897772ee880ee87 Mon Sep 17 00:00:00 2001 From: Huisong Li Date: Fri, 30 Sep 2022 15:22:07 +0800 Subject: [PATCH] net/hns3: fix restore filter function input [ upstream commit 1042ed401f3d19efb499ef832eb3c48f77dac13f ] This 'hns3_restore_filter' is an internal interface of driver. Currently, it uses 'struct rte_eth_dev *dev' as input parameter, This is inconvenient for the function to call in driver because caller has to obtain its device address by global variable 'rte_eth_devices[]'. Fix the input of this function. Fixes: 920be799dbc3 ("net/hns3: fix RSS indirection table configuration") Signed-off-by: Huisong Li Signed-off-by: Dongdong Liu --- drivers/net/hns3/hns3_ethdev.c | 3 +-- drivers/net/hns3/hns3_ethdev_vf.c | 3 +-- drivers/net/hns3/hns3_flow.c | 30 ++++++++++++------------------ drivers/net/hns3/hns3_rss.h | 2 +- 4 files changed, 15 insertions(+), 23 deletions(-) diff --git a/drivers/net/hns3/hns3_ethdev.c b/drivers/net/hns3/hns3_ethdev.c index 33b10539e0..500de265c4 100644 --- a/drivers/net/hns3/hns3_ethdev.c +++ b/drivers/net/hns3/hns3_ethdev.c @@ -4890,7 +4890,6 @@ static int hns3_do_start(struct hns3_adapter *hns, bool reset_queue) { struct hns3_hw *hw = &hns->hw; - struct rte_eth_dev *dev = &rte_eth_devices[hw->data->port_id]; int ret; ret = hns3_update_queue_map_configure(hns); @@ -4911,7 +4910,7 @@ hns3_do_start(struct hns3_adapter *hns, bool reset_queue) PMD_INIT_LOG(ERR, "failed to enable MAC, ret = %d", ret); goto err_config_mac_mode; } - return hns3_restore_filter(dev); + return hns3_restore_filter(hns); err_config_mac_mode: hns3_dev_release_mbufs(hns); diff --git a/drivers/net/hns3/hns3_ethdev_vf.c b/drivers/net/hns3/hns3_ethdev_vf.c index d8739da89a..17dbf48576 100644 --- a/drivers/net/hns3/hns3_ethdev_vf.c +++ b/drivers/net/hns3/hns3_ethdev_vf.c @@ -2085,7 +2085,6 @@ static int hns3vf_do_start(struct hns3_adapter *hns, bool reset_queue) { struct hns3_hw *hw = &hns->hw; - struct rte_eth_dev *dev = &rte_eth_devices[hw->data->port_id]; uint16_t nb_rx_q = hw->data->nb_rx_queues; uint16_t nb_tx_q = hw->data->nb_tx_queues; int ret; @@ -2098,7 +2097,7 @@ hns3vf_do_start(struct hns3_adapter *hns, bool reset_queue) if (ret) hns3_err(hw, "failed to init queues, ret = %d.", ret); - return hns3_restore_filter(dev); + return hns3_restore_filter(hns); } static int diff --git a/drivers/net/hns3/hns3_flow.c b/drivers/net/hns3/hns3_flow.c index ffdd131d15..b1317d7311 100644 --- a/drivers/net/hns3/hns3_flow.c +++ b/drivers/net/hns3/hns3_flow.c @@ -1476,11 +1476,9 @@ hns3_hw_rss_hash_set(struct hns3_hw *hw, struct rte_flow_action_rss *rss_config) } static int -hns3_update_indir_table(struct rte_eth_dev *dev, +hns3_update_indir_table(struct hns3_hw *hw, const struct rte_flow_action_rss *conf, uint16_t num) { - struct hns3_adapter *hns = dev->data->dev_private; - struct hns3_hw *hw = &hns->hw; uint16_t indir_tbl[HNS3_RSS_IND_TBL_SIZE_MAX]; uint16_t j; uint32_t i; @@ -1503,12 +1501,10 @@ hns3_update_indir_table(struct rte_eth_dev *dev, } static int -hns3_config_rss_filter(struct rte_eth_dev *dev, +hns3_config_rss_filter(struct hns3_hw *hw, const struct hns3_rss_conf *conf, bool add) { - struct hns3_adapter *hns = dev->data->dev_private; struct hns3_rss_conf_ele *rss_filter_ptr; - struct hns3_hw *hw = &hns->hw; struct hns3_rss_conf *rss_info; uint64_t flow_types; uint16_t num; @@ -1560,13 +1556,13 @@ hns3_config_rss_filter(struct rte_eth_dev *dev, } /* Set rx queues to use */ - num = RTE_MIN(dev->data->nb_rx_queues, rss_flow_conf.queue_num); + num = RTE_MIN(hw->data->nb_rx_queues, rss_flow_conf.queue_num); if (rss_flow_conf.queue_num > num) hns3_warn(hw, "Config queue numbers %u are beyond the scope of truncated", rss_flow_conf.queue_num); hns3_info(hw, "Max of contiguous %u PF queues are configured", num); if (num) { - ret = hns3_update_indir_table(dev, &rss_flow_conf, num); + ret = hns3_update_indir_table(hw, &rss_flow_conf, num); if (ret) return ret; } @@ -1603,7 +1599,7 @@ hns3_clear_rss_filter(struct rte_eth_dev *dev) rss_filter_ptr = TAILQ_FIRST(&hw->flow_rss_list); while (rss_filter_ptr) { TAILQ_REMOVE(&hw->flow_rss_list, rss_filter_ptr, entries); - ret = hns3_config_rss_filter(dev, &rss_filter_ptr->filter_info, + ret = hns3_config_rss_filter(hw, &rss_filter_ptr->filter_info, false); if (ret) rss_rule_fail_cnt++; @@ -1624,11 +1620,9 @@ hns3_clear_rss_filter(struct rte_eth_dev *dev) } static int -hns3_restore_rss_filter(struct rte_eth_dev *dev) +hns3_restore_rss_filter(struct hns3_hw *hw) { - struct hns3_adapter *hns = dev->data->dev_private; struct hns3_rss_conf_ele *filter; - struct hns3_hw *hw = &hns->hw; int ret = 0; pthread_mutex_lock(&hw->flows_lock); @@ -1636,7 +1630,7 @@ hns3_restore_rss_filter(struct rte_eth_dev *dev) if (!filter->filter_info.valid) continue; - ret = hns3_config_rss_filter(dev, &filter->filter_info, true); + ret = hns3_config_rss_filter(hw, &filter->filter_info, true); if (ret != 0) { hns3_err(hw, "restore RSS filter failed, ret=%d", ret); goto out; @@ -1650,16 +1644,16 @@ out: } int -hns3_restore_filter(struct rte_eth_dev *dev) +hns3_restore_filter(struct hns3_adapter *hns) { - struct hns3_adapter *hns = dev->data->dev_private; + struct hns3_hw *hw = &hns->hw; int ret; ret = hns3_restore_all_fdir_filter(hns); if (ret != 0) return ret; - return hns3_restore_rss_filter(dev); + return hns3_restore_rss_filter(hw); } static int @@ -1676,7 +1670,7 @@ hns3_flow_parse_rss(struct rte_eth_dev *dev, return -EINVAL; } - return hns3_config_rss_filter(dev, conf, add); + return hns3_config_rss_filter(hw, conf, add); } static int @@ -1887,7 +1881,7 @@ hns3_flow_destroy(struct rte_eth_dev *dev, struct rte_flow *flow, break; case RTE_ETH_FILTER_HASH: rss_filter_ptr = (struct hns3_rss_conf_ele *)flow->rule; - ret = hns3_config_rss_filter(dev, &rss_filter_ptr->filter_info, + ret = hns3_config_rss_filter(hw, &rss_filter_ptr->filter_info, false); if (ret) return rte_flow_error_set(error, EIO, diff --git a/drivers/net/hns3/hns3_rss.h b/drivers/net/hns3/hns3_rss.h index b8ada8b07c..4fe7363916 100644 --- a/drivers/net/hns3/hns3_rss.h +++ b/drivers/net/hns3/hns3_rss.h @@ -110,6 +110,6 @@ int hns3_config_rss(struct hns3_adapter *hns); void hns3_rss_uninit(struct hns3_adapter *hns); int hns3_set_rss_tuple_by_rss_hf(struct hns3_hw *hw, uint64_t rss_hf); int hns3_set_rss_algo_key(struct hns3_hw *hw, const uint8_t *key); -int hns3_restore_filter(struct rte_eth_dev *dev); +int hns3_restore_filter(struct hns3_adapter *hns); #endif /* _HNS3_RSS_H_ */ -- 2.34.1 --- Diff of the applied patch vs upstream commit (please double-check if non-empty: --- --- - 2022-11-03 09:27:30.263781968 +0000 +++ 0081-net-hns3-fix-restore-filter-function-input.patch 2022-11-03 09:27:25.533425537 +0000 @@ -1 +1 @@ -From 1042ed401f3d19efb499ef832eb3c48f77dac13f Mon Sep 17 00:00:00 2001 +From 4bd8b93920d55c80804c5d017897772ee880ee87 Mon Sep 17 00:00:00 2001 @@ -5,0 +6,2 @@ +[ upstream commit 1042ed401f3d19efb499ef832eb3c48f77dac13f ] + @@ -13 +14,0 @@ -Cc: stable@dpdk.org @@ -21 +22 @@ - drivers/net/hns3/hns3_flow.h | 2 +- + drivers/net/hns3/hns3_rss.h | 2 +- @@ -25 +26 @@ -index 15d622a900..330a913cb8 100644 +index 33b10539e0..500de265c4 100644 @@ -28 +29 @@ -@@ -5006,7 +5006,6 @@ static int +@@ -4890,7 +4890,6 @@ static int @@ -33 +33,0 @@ - bool link_en; @@ -36,4 +36,5 @@ -@@ -5043,7 +5042,7 @@ hns3_do_start(struct hns3_adapter *hns, bool reset_queue) - if (ret) - goto err_set_link_speed; - + ret = hns3_update_queue_map_configure(hns); +@@ -4911,7 +4910,7 @@ hns3_do_start(struct hns3_adapter *hns, bool reset_queue) + PMD_INIT_LOG(ERR, "failed to enable MAC, ret = %d", ret); + goto err_config_mac_mode; + } @@ -43,2 +44,2 @@ - err_set_link_speed: - (void)hns3_cfg_mac_mode(hw, false); + err_config_mac_mode: + hns3_dev_release_mbufs(hns); @@ -46 +47 @@ -index bc8f5ecec2..446a0cdbc7 100644 +index d8739da89a..17dbf48576 100644 @@ -49 +50 @@ -@@ -1727,7 +1727,6 @@ static int +@@ -2085,7 +2085,6 @@ static int @@ -57 +58 @@ -@@ -1742,7 +1741,7 @@ hns3vf_do_start(struct hns3_adapter *hns, bool reset_queue) +@@ -2098,7 +2097,7 @@ hns3vf_do_start(struct hns3_adapter *hns, bool reset_queue) @@ -67 +68 @@ -index dd61ecd2aa..a2c1589c39 100644 +index ffdd131d15..b1317d7311 100644 @@ -70 +71 @@ -@@ -1508,11 +1508,9 @@ hns3_hw_rss_hash_set(struct hns3_hw *hw, struct rte_flow_action_rss *rss_config) +@@ -1476,11 +1476,9 @@ hns3_hw_rss_hash_set(struct hns3_hw *hw, struct rte_flow_action_rss *rss_config) @@ -83 +84 @@ -@@ -1535,11 +1533,9 @@ hns3_update_indir_table(struct rte_eth_dev *dev, +@@ -1503,12 +1501,10 @@ hns3_update_indir_table(struct rte_eth_dev *dev, @@ -91,0 +93 @@ + struct hns3_rss_conf_ele *rss_filter_ptr; @@ -96 +98 @@ -@@ -1591,13 +1587,13 @@ hns3_config_rss_filter(struct rte_eth_dev *dev, +@@ -1560,13 +1556,13 @@ hns3_config_rss_filter(struct rte_eth_dev *dev, @@ -112 +114 @@ -@@ -1627,7 +1623,7 @@ hns3_clear_rss_filter(struct rte_eth_dev *dev) +@@ -1603,7 +1599,7 @@ hns3_clear_rss_filter(struct rte_eth_dev *dev) @@ -121 +123 @@ -@@ -1647,11 +1643,9 @@ hns3_clear_rss_filter(struct rte_eth_dev *dev) +@@ -1624,11 +1620,9 @@ hns3_clear_rss_filter(struct rte_eth_dev *dev) @@ -134 +136 @@ -@@ -1659,7 +1653,7 @@ hns3_restore_rss_filter(struct rte_eth_dev *dev) +@@ -1636,7 +1630,7 @@ hns3_restore_rss_filter(struct rte_eth_dev *dev) @@ -143 +145 @@ -@@ -1673,16 +1667,16 @@ out: +@@ -1650,16 +1644,16 @@ out: @@ -163 +165 @@ -@@ -1699,7 +1693,7 @@ hns3_flow_parse_rss(struct rte_eth_dev *dev, +@@ -1676,7 +1670,7 @@ hns3_flow_parse_rss(struct rte_eth_dev *dev, @@ -172 +174 @@ -@@ -1960,7 +1954,7 @@ hns3_flow_destroy(struct rte_eth_dev *dev, struct rte_flow *flow, +@@ -1887,7 +1881,7 @@ hns3_flow_destroy(struct rte_eth_dev *dev, struct rte_flow *flow, @@ -181,8 +183,8 @@ -diff --git a/drivers/net/hns3/hns3_flow.h b/drivers/net/hns3/hns3_flow.h -index 0f5de129a3..854fbb7ff0 100644 ---- a/drivers/net/hns3/hns3_flow.h -+++ b/drivers/net/hns3/hns3_flow.h -@@ -49,6 +49,6 @@ int hns3_dev_flow_ops_get(struct rte_eth_dev *dev, - const struct rte_flow_ops **ops); - void hns3_flow_init(struct rte_eth_dev *dev); - void hns3_flow_uninit(struct rte_eth_dev *dev); +diff --git a/drivers/net/hns3/hns3_rss.h b/drivers/net/hns3/hns3_rss.h +index b8ada8b07c..4fe7363916 100644 +--- a/drivers/net/hns3/hns3_rss.h ++++ b/drivers/net/hns3/hns3_rss.h +@@ -110,6 +110,6 @@ int hns3_config_rss(struct hns3_adapter *hns); + void hns3_rss_uninit(struct hns3_adapter *hns); + int hns3_set_rss_tuple_by_rss_hf(struct hns3_hw *hw, uint64_t rss_hf); + int hns3_set_rss_algo_key(struct hns3_hw *hw, const uint8_t *key); @@ -192 +194 @@ - #endif /* _HNS3_FLOW_H_ */ + #endif /* _HNS3_RSS_H_ */