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 D74BB4650E for ; Sat, 5 Apr 2025 09:40:11 +0200 (CEST) Received: from mails.dpdk.org (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id CE5A6400EF; Sat, 5 Apr 2025 09:40:11 +0200 (CEST) Received: from NAM10-MW2-obe.outbound.protection.outlook.com (mail-mw2nam10on2071.outbound.protection.outlook.com [40.107.94.71]) by mails.dpdk.org (Postfix) with ESMTP id 96123400EF for ; Sat, 5 Apr 2025 09:40:10 +0200 (CEST) ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=n7Y0Rq6rUyP2ZUhGje+wLDdrGrwdwlWLbliVFzH/0TwqKk+cobdmn3soQPmR1Q+jXEq8ihAj6vYRNYdb9MPDiJt5ueFmODYwqxEd8ujuoZydM/7AiuNdpupcrBJPhImUdSF8QFhqYd9AoQf/8yuSgD4bavZAAwa0u8LAsiyusXhtt/HoP/RJzqvwpSXNgefb/00Xdzy/Qgna+PuLkDUF65UWhDiFiUkkIG+rLTRanq7hwbyi6JnnmzQcYKQz80mW/lGZfJ6jTLG3t2tAUTCTnjseUTxZIx73MX6YHH4a85hOZf30/vWWWOnka3FKcqbYhXqYM+zQkK1zRuEWZGwDDA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector10001; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=d4TRHp/vXc4jYi+1uf3LvQc5eb4wpNCt47Jg+ovxkZ8=; b=wa28d/5TN4bYTRaRHh1vhAHW2IG2scieR56pvqitKq87Ki/49gPMr8CKR72rHfTvNowPTNE8Z9BbgmXIhBLJKXL1m1M4PrHE64UxyAGO1GcWHP4BXh63+nvtFkw7fwCPnIE9zRwOxDzDFsiQc6zZaUaEBPCutSmHh19G8ZKICQuWBCA234rTRlJFc6Y+4x3aR+cse2uV/gZuN4YFv1HezmWWRUx+eE2LaleP49GfAoOELIsRs/1KgeTYYKjuQXZU19NaXt940Os8GwShy+JWhUMVxV4xTlHRaZsDQ3eqJ3eCg/NDcmn4gDoieohItORkFBAMQMOVc/c5CK5paKzrLA== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=nvidia.com; dmarc=pass action=none header.from=nvidia.com; dkim=pass header.d=nvidia.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=Nvidia.com; s=selector2; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=d4TRHp/vXc4jYi+1uf3LvQc5eb4wpNCt47Jg+ovxkZ8=; b=TB3Id1PPW2b7kvuihkN6a3xAp/FkBhELTCOXU7U+FIO2/eWv2MeIqXkkvMvM2Z7zNNW+vLezoYIZIVKnVbimnSoS+WNfRNUFpK7qtqYg2jQYo1vlmkKHwwF8Xoy8tp3m5R0vtt82m3a+vcQUN57BRAHHSfT03zoDfcMAngqqcOUcAyMI8dMlSZok7wzyJVJmfheOVu56R841NHrek6ZIVyMaj8itcgtJNhvMm+wQnEzUL20Ka04B4qFWaubvwwx2yCxbukNlxnDGZrhgLgE7ml6YdukD3qOwfCiKYKEmjJpBf9hG6SL6q66kfyoQioEsaTql7BkZAViWhvo+bjEKLw== Received: from CH3PR12MB8658.namprd12.prod.outlook.com (2603:10b6:610:175::8) by PH7PR12MB9174.namprd12.prod.outlook.com (2603:10b6:510:2ed::9) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8534.44; Sat, 5 Apr 2025 07:40:08 +0000 Received: from CH3PR12MB8658.namprd12.prod.outlook.com ([fe80::d5cc:cc84:5e00:2f42]) by CH3PR12MB8658.namprd12.prod.outlook.com ([fe80::d5cc:cc84:5e00:2f42%4]) with mapi id 15.20.8534.048; Sat, 5 Apr 2025 07:40:08 +0000 From: Xueming Li To: Chaoyong He , "stable@dpdk.org" CC: "oss-drivers@corigine.com" , Long Wu Subject: Re: [PATCH 23.11] net/nfp: fix VF link speed problem Thread-Topic: [PATCH 23.11] net/nfp: fix VF link speed problem Thread-Index: AQHbhpJsRQqSGdc8B0CmAzXR8+QD7rOU7noi Date: Sat, 5 Apr 2025 07:40:07 +0000 Message-ID: References: <20250224080142.436542-1-chaoyong.he@corigine.com> In-Reply-To: <20250224080142.436542-1-chaoyong.he@corigine.com> Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: msip_labels: authentication-results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=nvidia.com; x-ms-publictraffictype: Email x-ms-traffictypediagnostic: CH3PR12MB8658:EE_|PH7PR12MB9174:EE_ x-ms-office365-filtering-correlation-id: 8f6f7da2-3af5-44ce-efbe-08dd741516b0 x-ms-exchange-senderadcheck: 1 x-ms-exchange-antispam-relay: 0 x-microsoft-antispam: BCL:0; ARA:13230040|1800799024|376014|366016|38070700018|7053199007|8096899003; x-microsoft-antispam-message-info: =?us-ascii?Q?Bv90YB4JtL8+eQI9mIKZQ8FxUyGIkcDpE6H1aG1U/shmlfPfaaigv+5igSSL?= =?us-ascii?Q?pUTNikcHtf8wGSaGW2lzcL6xKNq00QK2OC2NvsO+KjweUMtNo3tIWjafkihC?= =?us-ascii?Q?MhcFEj8c7k7MEKdgBv+mSGlWByGZ6ML8p8PZmFJkTL0amOZdcefMB4wRqqCM?= =?us-ascii?Q?9+k5BVMj+TSe4AXD66rPsHhWLGyckyyFAvAV1tqeY9zqFEm19iFMzC/M5YgP?= =?us-ascii?Q?IaMXv8kJD2TgBvcZLdeCND2+2MNREyhwnb8/JU9VwHo6eyt3GQok0a9RUN1l?= =?us-ascii?Q?HgMwilNXGSpKpPc7uCIU5GAa88n/yKhUJlUIEAiyb+Q4zalxcPxhfCxw56rZ?= =?us-ascii?Q?Dymb380uPHaygk8I/TqzCL9VIrM+oxlqMbzfFC01PHJfUllYJ84cBzVayiKv?= =?us-ascii?Q?JJjOlAbdZRrgM/3chLBfvJ6l3v3FI6AqirQ9p23l0o0RIbEdBDoWNv1NnOzf?= =?us-ascii?Q?+pDOHFyvQcQFVB5ifq+pJfiD5sdPb9HcotKHuJU4Oa6ck7+dl0OtdeynAAeU?= =?us-ascii?Q?03YN6/dKhe0XxF6hXIcV8Vzhxp6+jxAWw/mDzvcf0TrxQWy0lWVlFxWtd6Wv?= =?us-ascii?Q?eNuwuoy2flr2UDpZaeq4emlz/zxM20lbcKO2l94RfYzYKd/CwxqTcbLq5SuG?= =?us-ascii?Q?11H31o2NW2fSxXnFdJKqioudfg3I1JSp4tuWEDgIK+yCnquxt8J3IAnE0KzJ?= =?us-ascii?Q?dRmZ3p8jlIzcub6xvWw1HCstbIVao3NnLuPRFlcDjqxyTdirTKKwrNtz+1gF?= =?us-ascii?Q?0uCyr4sstdafEG/UcvRBRHUfX3quYu+jbWY8U1S/6hvRhy5REOYAW/cnv/n/?= =?us-ascii?Q?jkgr65jzrMitfXg66X2nvHR8g6YGQqPwm/KPMO8Y+D5gEzUR29VwcN1qRHEo?= =?us-ascii?Q?5hLxmKGfouz/rdwAlRKv9klagck5FE/nWWEdfFATP+8/wS3h2v5gk1QVtDQh?= =?us-ascii?Q?+r5ipn3ax/bqbzT0OJ2S0VF1+O2eF9KGlhDvF//niPEY8p8KkrcZpMpkM93G?= =?us-ascii?Q?srAxIe+OzHN0IPm5SMuV55dMjIpV3kmQ3aPpSfbsJSXsxoMkAzepdePA5Xm5?= =?us-ascii?Q?875V0jKwXmmxi0Z5B74dCWzGk6VIxchpBV6bQSx7Gc/3iRQSBQlGM+cMeJPA?= =?us-ascii?Q?UpTrwrP2FymGXyeLsdpDnkyZ3qwP3j0wNefPEHhPOqHoFInwhihoEWBeQ8Sg?= =?us-ascii?Q?dWuZWyHg4ZTlgOlFtKnIZ38A5Wa6bg+xvl4qy++AYhNn3C6r1G6cQGoAIqsU?= =?us-ascii?Q?oqIOlVGzwVf/wcbt3qjAMeWX6BIHQISP6h2ExT+J1JiGn/naIvn2qHk/xbHH?= =?us-ascii?Q?/w6UB5ZPlXh036p8c0WSLt1Wl3FE54nNeyLcLrwtQmD9TnnDpt2dH0IUXR+7?= =?us-ascii?Q?KLVNSWfxHXO/lmmHjov38JYWoCwbRei8SZVcvqkH+N+g6uQbrfud46aJGXcy?= =?us-ascii?Q?YRUQoMEPbdH4FV1Lr3UY/rZ49AOq4Ob3UCywQhsyHjPHSRT+uS7bZw=3D=3D?= x-forefront-antispam-report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:CH3PR12MB8658.namprd12.prod.outlook.com; PTR:; CAT:NONE; SFS:(13230040)(1800799024)(376014)(366016)(38070700018)(7053199007)(8096899003); DIR:OUT; SFP:1101; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?us-ascii?Q?c4hyqAKBk9SK0AwIfr9UbupuaCKNLmN8E4PZjqtNzFNk8VfzJERLzbmkKi9T?= =?us-ascii?Q?PD2Dag1JCKL7dV/1GtJr65/usXtLTvi5SUKByv9iy3s9skuqYRu9oCj5vYr5?= =?us-ascii?Q?LBSQH1Al3HrqEUjj+IEGh5UxkpctzG4PzvAIJl1Pw+AuqE8y1Ms21euiwfT6?= =?us-ascii?Q?U7pIo2/O10svKSFLsVCUo1a7UM2WedZtfK1zThQpm4uEP8sFNLwE90hIuFXO?= =?us-ascii?Q?oyamIDlf17ySmDHBUOzJozs1DCdbMa8iwLlVBH+9uA/Zs61CAYE0aoq2nLlk?= =?us-ascii?Q?X8pzdY9d7lUzFXcpFVFyx/UFoVK4eUmDzy7dX2O4Tbxv2Tgv0lGoO1IeaCQD?= =?us-ascii?Q?1IKd0QP/pk+DuZeWQT4IVvy51tbr0hxirRyg7R3q2MH3FWvKoUj8m2PfnvN7?= =?us-ascii?Q?Hsvuvd6N57o6M+f+lSz8A8vzZizP7j/hq2K/IImU6EDkKlH2dZgJn9pqXUAE?= =?us-ascii?Q?MyJKq9VHSL0ToXVCqTZmCzBRGDObKzMyTW1UX0btG7GSWL1C+z6fsQGsIj2x?= =?us-ascii?Q?lRSy7gKV3TsNVDQG2FbsIhMhxcwVxmrp4Oqsfk5Ivju75WeZJGe/ApNIHfvH?= =?us-ascii?Q?IBARyUsITsY8QidPcHMkaL7ACmkmOklTTovCpyzDLJfVd6umEzP6AWIFJVaB?= =?us-ascii?Q?W4/MqjqJi82F6pKsqeQjLZvmvhiXQ6Z8HEtQNWpzT+b8b1KU0C0kHQqIVkBa?= =?us-ascii?Q?SeYluStq+ChfkmrBiOyxUmhlzISoWRGLwCnrNuBABQL6+Z+TcI68adkeLXmi?= =?us-ascii?Q?anfWQGLYaxNt64uY1Q8EbDv2u0LN+aKV2Y0AUeqi8++9Jg3xb+5ypG1A22KK?= =?us-ascii?Q?FW3VauamRJGwuchqGk9nFjaIf+Zw2KPZf8mXnZyb+s8VHl2NPo5VLx2uEd8/?= =?us-ascii?Q?ibasE4GPeVwLr6epK3Fhkhy2qH5U2P77RqfKkp+ehodMV5VLO4qsuI2ZaW2V?= =?us-ascii?Q?SSZN/RXj9ogbwf1EQsR5UvODfNm/Tnddf2mNuzAT0GHt6mqSgBqfQHy02U/s?= =?us-ascii?Q?CLRYlRCdNDQvHOZPv6joG6eKmSp5kXWylhXHlvUi8EQ9+mvt+/LmyYdCJEUz?= =?us-ascii?Q?olHVzt356kXOM/ybkaLLs52kV92Zt+fQSz47Qm9R2XwIi+MsweNx+LqVPRnH?= =?us-ascii?Q?RTyL87dBKiNqc0IlsdJoCINrHGpivfmtEW95woM1LxGLDJRf9xpR2TJYm+3n?= =?us-ascii?Q?OkvxbHm8UZ6tPs5d9aef0zBsamv51wMmyIwS534QB5Ix8u1oFnTTwgnpABMF?= =?us-ascii?Q?vEDhrBpwvVTkPTlHBL1XL7FBeiiIoizbcq0Tu1qqBjEGQDWSRxkWwu7sbCuz?= =?us-ascii?Q?cXG9HxGURYTAxkfS0JdhA3/uGZ4pCkcNAxcQx6r9WLezLc+wcKd3H3PsEOjg?= =?us-ascii?Q?9QDBqUqDiw6HA44pVfnLYyWwtx7etdWqxtO5gQjpPMW5BeVtvQLByO4CEWCt?= =?us-ascii?Q?0VmqlL9NqtF8QyuTcJTgZUaQYc9nad2a9MNE9jtNhGC/cGF7phSTWrjmsapG?= =?us-ascii?Q?i4R+Qoqv+YjE7WFPj51VbiB0rcWrjk6j45t6mmM0I9d7M6vnN4M4PBq6z1X2?= =?us-ascii?Q?z/5XHaWpvae6gHcgjGXpsrC+LPomCyBDTv+KLx6t?= Content-Type: multipart/alternative; boundary="_000_CH3PR12MB86585025DFF2AD74FEDA0EB2A1A82CH3PR12MB8658namp_" MIME-Version: 1.0 X-OriginatorOrg: Nvidia.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-AuthSource: CH3PR12MB8658.namprd12.prod.outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: 8f6f7da2-3af5-44ce-efbe-08dd741516b0 X-MS-Exchange-CrossTenant-originalarrivaltime: 05 Apr 2025 07:40:07.9941 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: 43083d15-7273-40c1-b7db-39efd9ccc17a X-MS-Exchange-CrossTenant-mailboxtype: HOSTED X-MS-Exchange-CrossTenant-userprincipalname: 1Z2vGmkWsMXzRurNJL9ePFd3sOsfQE558gzS9gsiQwALjTlqFurGsjKCzvgKVSsF0CmNTM1/Zj2PqKfTDwDhlA== X-MS-Exchange-Transport-CrossTenantHeadersStamped: PH7PR12MB9174 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 --_000_CH3PR12MB86585025DFF2AD74FEDA0EB2A1A82CH3PR12MB8658namp_ Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: quoted-printable Thanks for your help, patch queued to 23.11.4 LTS release staging Regards, Xueming ________________________________ From: Chaoyong He Sent: Monday, February 24, 2025 4:01 PM To: stable@dpdk.org Cc: oss-drivers@corigine.com ; Long Wu ; Chaoyong He Subject: [PATCH 23.11] net/nfp: fix VF link speed problem From: Long Wu [ upstream commit c43d2aab426bdc6e22142b4c5667d6d1634248de ] The previous logic does not update the 'rte_eth_device' link status when the port link status changed, which cause the firmware won't be notified by the PMD. Furthermore, the physical representor port should also notify firmware its current speed with multi-pf firmware. Fix these problems by modify the related logic, also add needed helper function at the same time. Fixes: eae7dadbe987 ("net/nfp: update link status reporting") Signed-off-by: Long Wu Reviewed-by: Chaoyong He --- drivers/net/nfp/flower/nfp_flower_ctrl.c | 14 ++++++++++++++ drivers/net/nfp/flower/nfp_flower_representor.c | 2 +- drivers/net/nfp/flower/nfp_flower_representor.h | 2 ++ 3 files changed, 17 insertions(+), 1 deletion(-) diff --git a/drivers/net/nfp/flower/nfp_flower_ctrl.c b/drivers/net/nfp/flo= wer/nfp_flower_ctrl.c index 102daa3d70..574e4fa056 100644 --- a/drivers/net/nfp/flower/nfp_flower_ctrl.c +++ b/drivers/net/nfp/flower/nfp_flower_ctrl.c @@ -419,6 +419,8 @@ nfp_flower_cmsg_port_mod_rx(struct nfp_app_fw_flower *a= pp_fw_flower, struct rte_mbuf *pkt_burst) { uint32_t port; + uint16_t link_status; + struct rte_eth_dev *eth_dev; struct nfp_flower_representor *repr; struct nfp_flower_cmsg_port_mod *msg; @@ -447,11 +449,23 @@ nfp_flower_cmsg_port_mod_rx(struct nfp_app_fw_flower = *app_fw_flower, } repr->link.link_duplex =3D RTE_ETH_LINK_FULL_DUPLEX; + + link_status =3D repr->link.link_status; if ((msg->info & NFP_FLOWER_CMSG_PORT_MOD_INFO_LINK) !=3D 0) repr->link.link_status =3D RTE_ETH_LINK_UP; else repr->link.link_status =3D RTE_ETH_LINK_DOWN; + if (link_status !=3D repr->link.link_status) { + eth_dev =3D rte_eth_dev_get_by_name(repr->name); + if (eth_dev =3D=3D NULL) { + PMD_DRV_LOG(ERR, "Can not get ethernet device by na= me %s.", repr->name); + return -EINVAL; + } + + nfp_flower_repr_link_update(eth_dev, 0); + } + return 0; } diff --git a/drivers/net/nfp/flower/nfp_flower_representor.c b/drivers/net/= nfp/flower/nfp_flower_representor.c index ada28d07c6..a86b6bb580 100644 --- a/drivers/net/nfp/flower/nfp_flower_representor.c +++ b/drivers/net/nfp/flower/nfp_flower_representor.c @@ -18,7 +18,7 @@ enum nfp_repr_type { NFP_REPR_TYPE_MAX, /*<< Number of representor types */ }; -static int +int nfp_flower_repr_link_update(struct rte_eth_dev *dev, __rte_unused int wait_to_complete) { diff --git a/drivers/net/nfp/flower/nfp_flower_representor.h b/drivers/net/= nfp/flower/nfp_flower_representor.h index 8053617562..ea912ddcd4 100644 --- a/drivers/net/nfp/flower/nfp_flower_representor.h +++ b/drivers/net/nfp/flower/nfp_flower_representor.h @@ -24,5 +24,7 @@ struct nfp_flower_representor { }; int nfp_flower_repr_create(struct nfp_app_fw_flower *app_fw_flower); +int nfp_flower_repr_link_update(struct rte_eth_dev *dev, + __rte_unused int wait_to_complete); #endif /* __NFP_FLOWER_REPRESENTOR_H__ */ -- 2.43.5 --_000_CH3PR12MB86585025DFF2AD74FEDA0EB2A1A82CH3PR12MB8658namp_ Content-Type: text/html; charset="us-ascii" Content-Transfer-Encoding: quoted-printable
Thanks for your help, patch queued to 23.11.4 LTS release staging

Regards,
Xueming

From: Chaoyong He <chaoy= ong.he@corigine.com>
Sent: Monday, February 24, 2025 4:01 PM
To: stable@dpdk.org <stable@dpdk.org>
Cc: oss-drivers@corigine.com <oss-drivers@corigine.com>; Long = Wu <long.wu@corigine.com>; Chaoyong He <chaoyong.he@corigine.com&g= t;
Subject: [PATCH 23.11] net/nfp: fix VF link speed problem
 
From: Long Wu <long.wu@corigine.com>

[ upstream commit c43d2aab426bdc6e22142b4c5667d6d1634248de ]

The previous logic does not update the 'rte_eth_device' link status
when the port link status changed, which cause the firmware won't be
notified by the PMD.
Furthermore, the physical representor port should also notify firmware
its current speed with multi-pf firmware.

Fix these problems by modify the related logic, also add needed helper
function at the same time.

Fixes: eae7dadbe987 ("net/nfp: update link status reporting")

Signed-off-by: Long Wu <long.wu@corigine.com>
Reviewed-by: Chaoyong He <chaoyong.he@corigine.com>
---
 drivers/net/nfp/flower/nfp_flower_ctrl.c     = ;   | 14 ++++++++++++++
 drivers/net/nfp/flower/nfp_flower_representor.c |  2 +-
 drivers/net/nfp/flower/nfp_flower_representor.h |  2 ++
 3 files changed, 17 insertions(+), 1 deletion(-)

diff --git a/drivers/net/nfp/flower/nfp_flower_ctrl.c b/drivers/net/nfp/flo= wer/nfp_flower_ctrl.c
index 102daa3d70..574e4fa056 100644
--- a/drivers/net/nfp/flower/nfp_flower_ctrl.c
+++ b/drivers/net/nfp/flower/nfp_flower_ctrl.c
@@ -419,6 +419,8 @@ nfp_flower_cmsg_port_mod_rx(struct nfp_app_fw_flower *a= pp_fw_flower,
            &nb= sp;    struct rte_mbuf *pkt_burst)
 {
         uint32_t port;
+       uint16_t link_status;
+       struct rte_eth_dev *eth_dev;
         struct nfp_flower_represen= tor *repr;
         struct nfp_flower_cmsg_por= t_mod *msg;
 
@@ -447,11 +449,23 @@ nfp_flower_cmsg_port_mod_rx(struct nfp_app_fw_flower = *app_fw_flower,
         }
 
         repr->link.link_duplex = =3D RTE_ETH_LINK_FULL_DUPLEX;
+
+       link_status =3D repr->link.link_st= atus;
         if ((msg->info & NF= P_FLOWER_CMSG_PORT_MOD_INFO_LINK) !=3D 0)
            &nb= sp;    repr->link.link_status =3D RTE_ETH_LINK_UP;
         else
            &nb= sp;    repr->link.link_status =3D RTE_ETH_LINK_DOWN;
 
+       if (link_status !=3D repr->link.li= nk_status) {
+            &n= bsp;  eth_dev =3D rte_eth_dev_get_by_name(repr->name);
+            &n= bsp;  if (eth_dev =3D=3D NULL) {
+            &n= bsp;          PMD_DRV_LOG(ERR,= "Can not get ethernet device by name %s.", repr->name);
+            &n= bsp;          return -EINVAL;<= br> +            &n= bsp;  }
+
+            &n= bsp;  nfp_flower_repr_link_update(eth_dev, 0);
+       }
+
         return 0;
 }
 
diff --git a/drivers/net/nfp/flower/nfp_flower_representor.c b/drivers/net/= nfp/flower/nfp_flower_representor.c
index ada28d07c6..a86b6bb580 100644
--- a/drivers/net/nfp/flower/nfp_flower_representor.c
+++ b/drivers/net/nfp/flower/nfp_flower_representor.c
@@ -18,7 +18,7 @@ enum nfp_repr_type {
         NFP_REPR_TYPE_MAX, &n= bsp;        /*<< Number of represe= ntor types */
 };
 
-static int
+int
 nfp_flower_repr_link_update(struct rte_eth_dev *dev,
            &nb= sp;    __rte_unused int wait_to_complete)
 {
diff --git a/drivers/net/nfp/flower/nfp_flower_representor.h b/drivers/net/= nfp/flower/nfp_flower_representor.h
index 8053617562..ea912ddcd4 100644
--- a/drivers/net/nfp/flower/nfp_flower_representor.h
+++ b/drivers/net/nfp/flower/nfp_flower_representor.h
@@ -24,5 +24,7 @@ struct nfp_flower_representor {
 };
 
 int nfp_flower_repr_create(struct nfp_app_fw_flower *app_fw_flower);<= br> +int nfp_flower_repr_link_update(struct rte_eth_dev *dev,
+            &n= bsp;  __rte_unused int wait_to_complete);
 
 #endif /* __NFP_FLOWER_REPRESENTOR_H__ */
--
2.43.5

--_000_CH3PR12MB86585025DFF2AD74FEDA0EB2A1A82CH3PR12MB8658namp_--