Projects
Eulaceura:Mainline
dpdk
_service:obs_scm:0033-net-hns3-enable-PFC-for-a...
Sign Up
Log In
Username
Password
Overview
Repositories
Revisions
Requests
Users
Attributes
Meta
File _service:obs_scm:0033-net-hns3-enable-PFC-for-all-user-priorities.patch of Package dpdk
From e74722646fa7b51d82812be26e8ae24a5010f9da Mon Sep 17 00:00:00 2001 From: Jie Hai <haijie1@huawei.com> Date: Wed, 6 Mar 2024 17:20:47 +0800 Subject: [PATCH 31/33] net/hns3: enable PFC for all user priorities [ upstream commit aae6989df36c105b917cf69975c075dfde2e6b84 ] When user set TC number to 4 and enable PFC and ETS by dev_configure, driver only enable user priority 0-3. The packet with user priority 4-7 cannot trigger PFC frame. Fix by enabling PFC for all user priorities. By the way, the nb_tcs from user can never be 0 because of the ahead check in driver. So remove this redundant code. Fixes: 62e3ccc2b94c ("net/hns3: support flow control") Cc: stable@dpdk.org Signed-off-by: Jie Hai <haijie1@huawei.com> --- drivers/net/hns3/hns3_dcb.c | 9 ++------- 1 file changed, 2 insertions(+), 7 deletions(-) diff --git a/drivers/net/hns3/hns3_dcb.c b/drivers/net/hns3/hns3_dcb.c index 2831d3d..915e4eb 100644 --- a/drivers/net/hns3/hns3_dcb.c +++ b/drivers/net/hns3/hns3_dcb.c @@ -1499,7 +1499,6 @@ hns3_dcb_info_update(struct hns3_adapter *hns, uint8_t num_tc) static int hns3_dcb_hw_configure(struct hns3_adapter *hns) { - struct rte_eth_dcb_rx_conf *dcb_rx_conf; struct hns3_pf *pf = &hns->pf; struct hns3_hw *hw = &hns->hw; enum hns3_fc_status fc_status = hw->current_fc_status; @@ -1519,12 +1518,8 @@ hns3_dcb_hw_configure(struct hns3_adapter *hns) } if (hw->data->dev_conf.dcb_capability_en & RTE_ETH_DCB_PFC_SUPPORT) { - dcb_rx_conf = &hw->data->dev_conf.rx_adv_conf.dcb_rx_conf; - if (dcb_rx_conf->nb_tcs == 0) - hw->dcb_info.pfc_en = 1; /* tc0 only */ - else - hw->dcb_info.pfc_en = - RTE_LEN2MASK((uint8_t)dcb_rx_conf->nb_tcs, uint8_t); + hw->dcb_info.pfc_en = + RTE_LEN2MASK((uint8_t)HNS3_MAX_USER_PRIO, uint8_t); hw->dcb_info.hw_pfc_map = hns3_dcb_undrop_tc_map(hw, hw->dcb_info.pfc_en); -- 2.33.0
Locations
Projects
Search
Status Monitor
Help
Open Build Service
OBS Manuals
API Documentation
OBS Portal
Reporting a Bug
Contact
Mailing List
Forums
Chat (IRC)
Twitter
Open Build Service (OBS)
is an
openSUSE project
.
浙ICP备2022010568号-2