From patchwork Sun Apr 1 05:47:02 2018 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: "Mody, Rasesh" X-Patchwork-Id: 36828 X-Patchwork-Delegate: ferruh.yigit@amd.com Return-Path: X-Original-To: patchwork@dpdk.org Delivered-To: patchwork@dpdk.org Received: from [92.243.14.124] (localhost [127.0.0.1]) by dpdk.org (Postfix) with ESMTP id E87E28E1C; Sun, 1 Apr 2018 07:48:08 +0200 (CEST) Received: from NAM03-DM3-obe.outbound.protection.outlook.com (mail-dm3nam03on0044.outbound.protection.outlook.com [104.47.41.44]) by dpdk.org (Postfix) with ESMTP id D6EF15F34 for ; Sun, 1 Apr 2018 07:47:59 +0200 (CEST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=CAVIUMNETWORKS.onmicrosoft.com; s=selector1-cavium-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version; bh=xvN42NtBfbb2Zpr/W06b5oj0v6I2hjRbsGTOdro8uQs=; b=BUIMg7eiyQA0KX+MaMK1Z9D7kI7A8k6lF0pcTk+BVenFqYpnq/MXPihmCNi4gr4HXHkkaW1h0WzOvIoVsfEDA1+RgSa4aFDgNQCRiw5iqq+flDAN5BZ4NeZcuOJlO+zrVhxYpAw04OJbg1lD/vDhiDOCPwWhXfhYA5fWhU/md7I= Authentication-Results: spf=none (sender IP is ) smtp.mailfrom=Rasesh.Mody@cavium.com; Received: from cavium.com (198.186.0.2) by DM5PR0701MB3670.namprd07.prod.outlook.com (2603:10b6:4:7e::18) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384_P256) id 15.20.631.10; Sun, 1 Apr 2018 05:47:58 +0000 From: Rasesh Mody To: dev@dpdk.org Cc: Rasesh Mody , ferruh.yigit@intel.com, Dept-EngDPDKDev@cavium.com Date: Sat, 31 Mar 2018 22:47:02 -0700 Message-Id: <1522561624-15817-13-git-send-email-rasesh.mody@cavium.com> X-Mailer: git-send-email 1.7.10.3 In-Reply-To: <1522561624-15817-1-git-send-email-rasesh.mody@cavium.com> References: <1522561624-15817-1-git-send-email-rasesh.mody@cavium.com> MIME-Version: 1.0 X-Originating-IP: [198.186.0.2] X-ClientProxiedBy: BN6PR11CA0017.namprd11.prod.outlook.com (2603:10b6:405:2::27) To DM5PR0701MB3670.namprd07.prod.outlook.com (2603:10b6:4:7e::18) X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: 6ff08a95-a067-48d9-a599-08d597941fcd X-Microsoft-Antispam: UriScan:; BCL:0; PCL:0; RULEID:(7020095)(4652020)(5600026)(4604075)(4534165)(4627221)(201703031133081)(201702281549075)(2017052603328)(7153060)(7193020); SRVR:DM5PR0701MB3670; X-Microsoft-Exchange-Diagnostics: 1; DM5PR0701MB3670; 3:Xf0/qc74ykcVTb3C/BDmk1KoMruO3lJhSyu9SuAErOdAaUNApriO9rVCMaUZEpQyYvzIC7K8F7L3NrKmVNcoPTu0FX1Ui4Agr8TN/Y+8b1LHH7Z4IaeD7yWtPFr7AjoUHswXn6P36FhYDJJkwmkXM++rrG0Jo+jer/rB+9X8WtT+wOSVggrs+qub8HOHgrpwIpGfOJT1wwc+887OCJBLZWU78p4Nbw7Z9U6u6G3u9cSqqXvJ0HiRrUyg3jQe6lu6; 25:+bLow7uybFnAN+48twTFzUhQRQXzLXRGqdXTLwrA/TsXe9Zbv9RMJZ+JlyOcU6oWSZ34Q+V6podbXCKfI3g9OYvF1WLrWgYsW7i8JP/Cueo2C9sfEB492JYYDVd6Ucs0sIVsf0wjJJWSmP3XQY4AthGkXBqwf+uY5AjQsV+5dwy3dbyUCqAodXzFb8/B4AU/wUzNS9Go7Aiy4n/2HyVR7Z7n2rnkDyegOIKTaDaMmbJRZhtV2f0+jwwDboanvDtSDm+8T0hPHHj02WFQ2r6D2HD59YTN6Qn5yzd8JZOm9wRQpqBAe/Jh16TsLR51d5iOLg9JQYgW46gbA9CcRCLJVQ==; 31:qqoNThsfrLJbluE8w+9rvSxC4C+nbqeV5yT4uaFY+MBD+ShSsQTLDuU2kB7MUA/5b8RpFYpMWSx3aK9kqYIsL3ZwRplasyABDrr2mrBjy1LdOxKz0nAI/wNRYSNtntazH6eNKl55rKPUjYhBk1W5Uskq1eN0n4rsWoh6Dln5gX+wUWF1XIER2jc3fpDi7yGWZ5kmcxcAKsTtNBzeSVy1HqHywVs3rnL4LI7Q1a9Oqgw= X-MS-TrafficTypeDiagnostic: DM5PR0701MB3670: X-Microsoft-Exchange-Diagnostics: 1; DM5PR0701MB3670; 20:WjW7mJEz31jWwb0rLoTVn83aAo4hbZzTN8lZCwoQ6mkFLlPY/zzDO/TpJz+vOA+WHqTIHhr9Gevwq5B0/cpuCH68IXd8IQ8WwHehfPH33M/63hUMVP5Ew4rssJ8UiMvxotxLoC6qGoCMCiRoJE88PWrLTDpI+i9LX8QtpSajSjd8Omz6gejTeKL7OMNZ0yM35EQ5SofugCbN4D0kDFgWXflRHoEvniE5IdCKYoYMF6FPuFY7TVv7ddKmjyHnCnJFnzPlVcnNNjHQIvl5RlazztRx/AnOvgdPtrYQMKhK0S+qNWkENQDs00lO/j+Z0eqKcu7YumUdMHUZ+OpmWnOsjkHvT5gOborWd+fdpVcWCPrUo1eZKEfUS118U0gVBBL5iX9R2sGZdwBRxV3BwQLxX/t4ZXB+tkKqbuQvvaq6FSSJscbvZt9MlawoAIHjbQAL7Gh+Oam1tPfn/B6lkIrR09gyD8A9nhOkOmUEZUz+0OiG2ValF1uIHW3sQUTElEYh; 4:JxxMi3Z2vdDoFexl37gIBS5VbrtnZMp+SPSAOWLP6rddb4cdgufxxQH3sklGDO8wDwtZqx7dRBXRXQFm64Z/StUoDbXvHS7LvFdMU0Qyi4y+/GxLEDmLFgFnMEXEYmB34pxOP3fAgUaCWWhIswzEFLlN3z7Cq06Uaeiss/frcy8V2Tv1msK/KRHvhSnGFiXLhHT/9lXteYFOEydxUajZqpKpO+j+XWgQh4poLnToMj9lmdxco0i7a5lWfCSh6BL9GudrQpjKj1OGPtyNUYO4UA== X-Microsoft-Antispam-PRVS: X-Exchange-Antispam-Report-Test: UriScan:; X-Exchange-Antispam-Report-CFA-Test: BCL:0; PCL:0; RULEID:(8211001083)(6040522)(2401047)(8121501046)(5005006)(3231221)(944501327)(52105095)(93006095)(93001095)(3002001)(10201501046)(6041310)(20161123562045)(20161123558120)(20161123564045)(20161123560045)(201703131423095)(201702281528075)(20161123555045)(201703061421075)(201703061406153)(6072148)(201708071742011); SRVR:DM5PR0701MB3670; BCL:0; PCL:0; RULEID:; SRVR:DM5PR0701MB3670; X-Forefront-PRVS: 06290ECA9D X-Forefront-Antispam-Report: SFV:NSPM; SFS:(10009020)(39850400004)(376002)(346002)(366004)(396003)(39380400002)(189003)(199004)(25786009)(16526019)(52116002)(81166006)(81156014)(76176011)(8676002)(7696005)(478600001)(72206003)(51416003)(305945005)(26005)(386003)(7736002)(186003)(2361001)(59450400001)(86362001)(47776003)(69596002)(2906002)(66066001)(4326008)(68736007)(2351001)(55016002)(97736004)(21086003)(50226002)(6666003)(107886003)(4720700003)(36756003)(8936002)(16586007)(316002)(52396003)(6116002)(106356001)(11346002)(53936002)(105586002)(5660300001)(6916009)(3846002)(486005)(446003)(476003)(48376002)(50466002)(486005)(956004)(2616005); DIR:OUT; SFP:1101; SCL:1; SRVR:DM5PR0701MB3670; H:cavium.com; FPR:; SPF:None; LANG:en; PTR:InfoNoRecords; MX:1; A:1; Received-SPF: None (protection.outlook.com: cavium.com does not designate permitted sender hosts) X-Microsoft-Exchange-Diagnostics: =?us-ascii?Q?1; DM5PR0701MB3670; 23:XGpEtnnVbCuLypAOC+akk80Kqr+HJZUuG5LLsh7?= bCK+oRfp8e1DrM7DhdBTzz5YiFTaB0btwR6cdtPdZymMbltFtAmrznpZSYZTC90LGmcSZhb0dzbawC7EJsUPiGYZJsrYHU8FpcnQVPT2drSPmJgpNef0ilpGzls3OL4LryY4hGokt2h59/3tkAeB5PmMgBDkwPts9TUkqZ+NoNcuIdSt/cvX4R4WmLYrTS4Lox0mPIRh0BF8XylNHu8HPyWkn4OjyoTsdxk3wutNIkB4Efia5wgGltR0buHIKK4q+F6bjD+wlEokfWN1UVtJse+euvzLdJur8ndh2pIuUrKJOJatCDxH3X95kliN288y897E17bsreIQhUzolmHUC+tKAZcD6jn0sR2fA3wgQbX0PPPI7n1gAmL4WhMGKQi5gnylf35wUFzS1TK7KcEn0jUYyq7TUqfDy6BLgCdCHbWIyd8bqbsZwqdduFnr8FdD7p7ziL23WFVVfr9cT0VY+Efj+/YsJ98bDZpWjrc+9vn06Lg99wn+jG5SFNO6pWAJmc7I4vo7NGASAaNiVr5Xhp3XkX5HDCSXNCamzv8W2wX0ldDtpZk/DCFdfq/d6Ba6XQ27r05d0Uk1AHCFOetMPa5YjCZSl9CUFTArLN+f8wBFD5WmILCXyhFxjSz4OAXep5rg/aSfrwmysj7u0eW+Q8PGaJO+0EhIbIVjMi65leilyp7OYbmy2LFnHdBPG2wOmBxlvPOUit0uWd67mFwN+b4MeMNEBvfdShzG8rl/lm9iPM2a83pkg4oszsLgK0g+1Rxv1SH0sr+AILKI8bFQlF9lMTK07UVqEREO8jjnptkFw2j8RdY+WUesfYaO3pUq7T49nyELaYdAHxduN099nlx2gGZa58oH9XduCv6IRso+UJWLQDKyQPdRw0whv7DBxFr8RzJqeEtj/T3oj7md0Wl88U2crkVyRh+B9GWL4JdGX9rpA28S2nr89tMW7UiFCtlvw3WToULu6pDE/W167hIYz6y26atOD6I1MuaA2fhZrWd5wqt6D0wdd6Oca19UL5OTlfoK0pDwqtBjILZ8qUWHarpWGk7EC8Q6ukdvoUzGS3lc3p6TDJrwoBZ+ruga4DXdYR36e28LtP5lHloF9o0TC3Zr/bA0FClhwtD7dN1G+am6y6XgIPLnP8/D6Mr38kdWj2/7qv+ie3PhAR2o+A43P3Xtmav9sDd/fxWKsvsRBSq3c8jdu36D3RtWm4tvKG5yvmm/gJOuNswDD/SoEvCir3sYnWRJ3ioHHhnhdK7FEQT80sbXOy/KA9sxg3kqpXOMlXOOfnBK7bbBZiN6koPfQYtEL21MA7k7//krc6aAkGWObrsmGjoNh//4C4u89JJs= X-Microsoft-Antispam-Message-Info: EWs4fMR++Jc3wnHRm34+aanBM3Lp8HHk37xNJKEpDoOn2ZwdYAMvHrpautacC2ROwcqOD2OX9J/K57w3HbZ8I/n0Fju1qV1FjOYpIIAtvDWjlPpt2lMsBI8zAdq0MKAYwXzPS417xpP+BFTV0EX6m4OQ3s2KCXYhoMRLKredWITi027S0stuoq6rA4xgEsP4 X-Microsoft-Exchange-Diagnostics: 1; DM5PR0701MB3670; 6:zCdt8bsGlZtbsKMhbG3s5e6HzLBj+h0Y3LnoUR8WTNi32XepBpLZwcS6Rq5wShDi9+NQbt8kt5m4UHsella90D6utn9F8tzWEuYJJJw27GAKunfFYGFDa4lPUa7xUqnMyEpGjv6/HVTT3QToZiRFZvQxT0Rtm9NQ+7xJxMop3Wyfi1u+agKRKeDp4L3VRBnjzGYwGk3VThP50vyDwV9tikEko1ieMLzbK0NGUI4bzRAB1/QXajbdTJs77/eEDqSGYz1qRSJCfSoayGCcmfMrbanGNYlYs8FoLhrtYRRuaZTYTDhLqbdkjWAToKzPSlO/efcYZRP816vX4sos9QV6zwRNGhoTcAWAKkSfU0gKIumYx0meujaRakOnNCdha7Yx9WJXKq3wMpReFETVLWuaAQhDJ/oq8X+BTnks2C0AnUxD348wFW9M46ZRmKARWt6J5gGDejfFLaPU47/dOzZeJA==; 5:lfGOGsM0Qwc7faH7h+5cXW+6J5O5HTikaEICaIXAQwJpxy47baPgLtl78d0HdsrRcTnLxaurHQ84g6y6ttlAIpf4Qd9plKmn/JZUpKFbONoYDjLOPYFJ7A8ty4tXn9Qlkj9FXZmYkbB5xNjsfHfShhsgy6Y3YJ3S0fkKzbaHwDc=; 24:IG2/TAhbO5NzJ+vmgJJnXl0cTJD2Pnoqh08NBgW/fc13glx3znVVXbXmFXBC2Dn8UL0uuYgbibFQ4dS+pDEClTsUcr0td8u/YiDtvMzVaog= SpamDiagnosticOutput: 1:99 SpamDiagnosticMetadata: NSPM X-Microsoft-Exchange-Diagnostics: 1; DM5PR0701MB3670; 7:OTvHcJe05mFnDsa8SRCLNaui+MjwpKGDvIMnlm5X33WCdCXcwY16xsB1InHozIcg/RlS7MJOTlc5CYrsmqhAYQaxXB15hpCqUwfNp4YBbsWWX0Q8VG6cWNE4Sbg/v2c9nU5oEjvH1cE8wvN/QVeSYe51oUsJ8ngiB4JOpmwALJwfKI4xlXv0HctDZJ/8IW5/NZ2wgEhU6CCrv+SNJ3pnZneUNEYpiTbhbOEn/V3+iJRTSvfHR51L58zA3Hj1O4UM X-OriginatorOrg: cavium.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 01 Apr 2018 05:47:58.1068 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: 6ff08a95-a067-48d9-a599-08d597941fcd X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 711e4ccf-2e9b-4bcf-a551-4094005b6194 X-MS-Exchange-Transport-CrossTenantHeadersStamped: DM5PR0701MB3670 Subject: [dpdk-dev] [PATCH 12/14] net/qede/base: fix to support OVLAN mode 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" This fix allows driver to program NIC configuration to support OVLAN mode in multi-function scenario Signed-off-by: Rasesh Mody --- drivers/net/qede/base/ecore.h | 6 ++++++ drivers/net/qede/base/ecore_dcbx.c | 5 +++++ drivers/net/qede/base/ecore_dcbx_api.h | 1 + drivers/net/qede/base/ecore_dev.c | 10 ++++++++-- drivers/net/qede/base/ecore_sp_commands.c | 29 ++++++++++++++++++++--------- 5 files changed, 40 insertions(+), 11 deletions(-) diff --git a/drivers/net/qede/base/ecore.h b/drivers/net/qede/base/ecore.h index 7c642af..c8e6311 100644 --- a/drivers/net/qede/base/ecore.h +++ b/drivers/net/qede/base/ecore.h @@ -536,6 +536,12 @@ enum ecore_mf_mode_bit { ECORE_MF_UFP_SPECIFIC, ECORE_MF_DISABLE_ARFS, + + /* Use vlan for steering */ + ECORE_MF_8021Q_TAGGING, + + /* Use stag for steering */ + ECORE_MF_8021AD_TAGGING, }; enum ecore_ufp_mode { diff --git a/drivers/net/qede/base/ecore_dcbx.c b/drivers/net/qede/base/ecore_dcbx.c index fe9d5c0..93262ee 100644 --- a/drivers/net/qede/base/ecore_dcbx.c +++ b/drivers/net/qede/base/ecore_dcbx.c @@ -149,6 +149,10 @@ u8 ecore_dcbx_get_dscp_value(struct ecore_hwfn *p_hwfn, u8 pri) } p_data->arr[type].update = UPDATE_DCB_DSCP; + /* Do not add valn tag 0 when DCB is enabled and port is in UFP mode */ + if (OSAL_TEST_BIT(ECORE_MF_UFP_SPECIFIC, &p_hwfn->p_dev->mf_bits)) + p_data->arr[type].dont_add_vlan0 = true; + /* QM reconf data */ if (p_hwfn->hw_info.personality == personality) p_hwfn->hw_info.offload_tc = tc; @@ -935,6 +939,7 @@ static void ecore_dcbx_update_protocol_data(struct protocol_dcb_data *p_data, p_data->dcb_tc = p_src->arr[type].tc; p_data->dscp_enable_flag = p_src->arr[type].dscp_enable; p_data->dscp_val = p_src->arr[type].dscp_val; + p_data->dcb_dont_add_vlan0 = p_src->arr[type].dont_add_vlan0; } /* Set pf update ramrod command params */ diff --git a/drivers/net/qede/base/ecore_dcbx_api.h b/drivers/net/qede/base/ecore_dcbx_api.h index 9ff4df4..4df99ae 100644 --- a/drivers/net/qede/base/ecore_dcbx_api.h +++ b/drivers/net/qede/base/ecore_dcbx_api.h @@ -29,6 +29,7 @@ struct ecore_dcbx_app_data { u8 tc; /* Traffic Class */ bool dscp_enable; /* DSCP enabled */ u8 dscp_val; /* DSCP value */ + bool dont_add_vlan0; /* Do not insert a vlan tag with id 0 */ }; #ifndef __EXTRACT__LINUX__ diff --git a/drivers/net/qede/base/ecore_dev.c b/drivers/net/qede/base/ecore_dev.c index a85d26d..112f854 100644 --- a/drivers/net/qede/base/ecore_dev.c +++ b/drivers/net/qede/base/ecore_dev.c @@ -3588,9 +3588,14 @@ static enum _ecore_status_t ecore_hw_get_resc(struct ecore_hwfn *p_hwfn, break; case NVM_CFG1_GLOB_MF_MODE_UFP: p_hwfn->p_dev->mf_bits = 1 << ECORE_MF_OVLAN_CLSS | - 1 << ECORE_MF_UFP_SPECIFIC; + 1 << ECORE_MF_UFP_SPECIFIC | + 1 << ECORE_MF_8021Q_TAGGING; + break; + case NVM_CFG1_GLOB_MF_MODE_BD: + p_hwfn->p_dev->mf_bits = 1 << ECORE_MF_OVLAN_CLSS | + 1 << ECORE_MF_LLH_PROTO_CLSS | + 1 << ECORE_MF_8021AD_TAGGING; break; - case NVM_CFG1_GLOB_MF_MODE_NPAR1_0: p_hwfn->p_dev->mf_bits = 1 << ECORE_MF_LLH_MAC_CLSS | 1 << ECORE_MF_LLH_PROTO_CLSS | @@ -3619,6 +3624,7 @@ static enum _ecore_status_t ecore_hw_get_resc(struct ecore_hwfn *p_hwfn, */ switch (mf_mode) { case NVM_CFG1_GLOB_MF_MODE_MF_ALLOWED: + case NVM_CFG1_GLOB_MF_MODE_BD: p_hwfn->p_dev->mf_mode = ECORE_MF_OVLAN; break; case NVM_CFG1_GLOB_MF_MODE_NPAR1_0: diff --git a/drivers/net/qede/base/ecore_sp_commands.c b/drivers/net/qede/base/ecore_sp_commands.c index 7598e7a..83705b8 100644 --- a/drivers/net/qede/base/ecore_sp_commands.c +++ b/drivers/net/qede/base/ecore_sp_commands.c @@ -295,6 +295,7 @@ static void ecore_set_hw_tunn_mode_port(struct ecore_hwfn *p_hwfn, } #define ETH_P_8021Q 0x8100 +#define ETH_P_8021AD 0x88A8 /* 802.1ad Service VLAN */ enum _ecore_status_t ecore_sp_pf_start(struct ecore_hwfn *p_hwfn, struct ecore_ptt *p_ptt, @@ -308,7 +309,7 @@ enum _ecore_status_t ecore_sp_pf_start(struct ecore_hwfn *p_hwfn, struct ecore_sp_init_data init_data; enum _ecore_status_t rc = ECORE_NOTIMPL; u8 page_cnt; - int i; + u8 i; /* update initial eq producer */ ecore_eq_prod_update(p_hwfn, @@ -343,18 +344,27 @@ enum _ecore_status_t ecore_sp_pf_start(struct ecore_hwfn *p_hwfn, p_ramrod->outer_tag_config.outer_tag.tci = OSAL_CPU_TO_LE16(p_hwfn->hw_info.ovlan); + if (OSAL_TEST_BIT(ECORE_MF_8021Q_TAGGING, &p_hwfn->p_dev->mf_bits)) { + p_ramrod->outer_tag_config.outer_tag.tpid = ETH_P_8021Q; + } else if (OSAL_TEST_BIT(ECORE_MF_8021AD_TAGGING, + &p_hwfn->p_dev->mf_bits)) { + p_ramrod->outer_tag_config.outer_tag.tpid = ETH_P_8021AD; + p_ramrod->outer_tag_config.enable_stag_pri_change = 1; + } + + p_ramrod->outer_tag_config.pri_map_valid = 1; + for (i = 0; i < ECORE_MAX_PFC_PRIORITIES; i++) + p_ramrod->outer_tag_config.inner_to_outer_pri_map[i] = i; + /* enable_stag_pri_change should be set if port is in BD mode or, + * UFP with Host Control mode or, UFP with DCB over base interface. + */ if (OSAL_TEST_BIT(ECORE_MF_UFP_SPECIFIC, &p_hwfn->p_dev->mf_bits)) { - p_ramrod->outer_tag_config.outer_tag.tpid = - OSAL_CPU_TO_LE16(ETH_P_8021Q); - if (p_hwfn->ufp_info.pri_type == ECORE_UFP_PRI_OS) + if ((p_hwfn->ufp_info.pri_type == ECORE_UFP_PRI_OS) || + (p_hwfn->p_dcbx_info->results.dcbx_enabled)) p_ramrod->outer_tag_config.enable_stag_pri_change = 1; else p_ramrod->outer_tag_config.enable_stag_pri_change = 0; - p_ramrod->outer_tag_config.pri_map_valid = 1; - for (i = 0; i < 8; i++) - p_ramrod->outer_tag_config.inner_to_outer_pri_map[i] = - (u8)i; } /* Place EQ address in RAMROD */ @@ -451,7 +461,8 @@ enum _ecore_status_t ecore_sp_pf_update_ufp(struct ecore_hwfn *p_hwfn) return rc; p_ent->ramrod.pf_update.update_enable_stag_pri_change = true; - if (p_hwfn->ufp_info.pri_type == ECORE_UFP_PRI_OS) + if ((p_hwfn->ufp_info.pri_type == ECORE_UFP_PRI_OS) || + (p_hwfn->p_dcbx_info->results.dcbx_enabled)) p_ent->ramrod.pf_update.enable_stag_pri_change = 1; else p_ent->ramrod.pf_update.enable_stag_pri_change = 0;