From patchwork Mon Jun 15 09:01:49 2020 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: Ivan Dyukov X-Patchwork-Id: 71596 X-Patchwork-Delegate: ferruh.yigit@amd.com Return-Path: X-Original-To: patchwork@inbox.dpdk.org Delivered-To: patchwork@inbox.dpdk.org Received: from dpdk.org (dpdk.org [92.243.14.124]) by inbox.dpdk.org (Postfix) with ESMTP id BB967A0093; Mon, 15 Jun 2020 11:02:17 +0200 (CEST) Received: from [92.243.14.124] (localhost [127.0.0.1]) by dpdk.org (Postfix) with ESMTP id A5C5B4CA6; Mon, 15 Jun 2020 11:02:12 +0200 (CEST) Received: from mailout2.w1.samsung.com (mailout2.w1.samsung.com [210.118.77.12]) by dpdk.org (Postfix) with ESMTP id 9B80C4C90 for ; Mon, 15 Jun 2020 11:02:10 +0200 (CEST) Received: from eucas1p1.samsung.com (unknown [182.198.249.206]) by mailout2.w1.samsung.com (KnoxPortal) with ESMTP id 20200615090210euoutp0209321b5a7bb6c4a657f1faa63684b0b8~YrCH0sDg73275132751euoutp02w for ; Mon, 15 Jun 2020 09:02:10 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 mailout2.w1.samsung.com 20200615090210euoutp0209321b5a7bb6c4a657f1faa63684b0b8~YrCH0sDg73275132751euoutp02w DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=samsung.com; s=mail20170921; t=1592211730; bh=qh9JCtxcjKOea/2bzK40RVNX0VCSjD1DsMJBarBtp44=; h=From:To:Subject:Date:In-Reply-To:Reply-To:References:From; b=ZUfJ8KiyZyIjzcmbMDoan/lMNpAlDt6zsaEm3Xy+HPyFziBxxprXv4SA7aCI6+5ll vXQynTpKe4ba6u4ZwHLc7TqLKAOViJyWPfbsOpBeAVz0UO/L8lGPEu9pJaM93ltf6T Z/048Z4RnfZr0hlvoZKyLhKoZoqQog5wPIkAy0Nk= Received: from eusmges3new.samsung.com (unknown [203.254.199.245]) by eucas1p2.samsung.com (KnoxPortal) with ESMTP id 20200615090209eucas1p24cbb082467ba1a41b663c5cefd8a669e~YrCHmbng91969219692eucas1p2K; Mon, 15 Jun 2020 09:02:09 +0000 (GMT) Received: from eucas1p1.samsung.com ( [182.198.249.206]) by eusmges3new.samsung.com (EUCPMTA) with SMTP id DE.D0.60698.11937EE5; Mon, 15 Jun 2020 10:02:09 +0100 (BST) Received: from eusmtrp1.samsung.com (unknown [182.198.249.138]) by eucas1p1.samsung.com (KnoxPortal) with ESMTPA id 20200615090209eucas1p15c676b9ad46b95ce91d63f4fad92dab8~YrCHRzx7p1085310853eucas1p1f; Mon, 15 Jun 2020 09:02:09 +0000 (GMT) Received: from eusmgms1.samsung.com (unknown [182.198.249.179]) by eusmtrp1.samsung.com (KnoxPortal) with ESMTP id 20200615090209eusmtrp1e9156bc202493b6babad7fef4b10ac8e~YrCHRK6s31019610196eusmtrp1D; Mon, 15 Jun 2020 09:02:09 +0000 (GMT) X-AuditID: cbfec7f5-a0fff7000001ed1a-6c-5ee73911a624 Received: from eusmtip1.samsung.com ( [203.254.199.221]) by eusmgms1.samsung.com (EUCPMTA) with SMTP id C7.1A.08375.11937EE5; Mon, 15 Jun 2020 10:02:09 +0100 (BST) Received: from idyukov.rnd.samsung.ru (unknown [106.109.129.29]) by eusmtip1.samsung.com (KnoxPortal) with ESMTPA id 20200615090208eusmtip1f66ac127a03eb03f5fc73597b8e701e6~YrCGkAwYt0231502315eusmtip1T; Mon, 15 Jun 2020 09:02:08 +0000 (GMT) From: Ivan Dyukov To: dev@dpdk.org, i.dyukov@samsung.com, v.kuramshin@samsung.com, thomas@monjalon.net, david.marchand@redhat.com, ferruh.yigit@intel.com, arybchenko@solarflare.com, wei.zhao1@intel.com, jia.guo@intel.com, beilei.xing@intel.com, qiming.yang@intel.com, wenzhuo.lu@intel.com Date: Mon, 15 Jun 2020 12:01:49 +0300 Message-Id: <20200615090158.18912-2-i.dyukov@samsung.com> X-Mailer: git-send-email 2.17.1 In-Reply-To: <20200615090158.18912-1-i.dyukov@samsung.com> MIME-Version: 1.0 X-Brightmail-Tracker: H4sIAAAAAAAAA01SaUwTYRTMt9vuLrU1y4L6gkZjE40XeGDiggfeqf9M0JgYraywFpQrraDg Dy5RLEpU6kFBbUABxajBKl4QqAnXahWUSwVqQC4jkkpVVIyUD6P/JjPzZt5LHkNyj+U+TET0 QVEfLUSqKYXsfvWI3dczoFe7JDN3Ge8wtVN85tBRgi8rNlL8oLOM4N+VSzRvbkyl+d5fAyRv evgA8U5HrYyX2u7S/E1XA8nfezaK1io1PyzX5JqCJ/2EprrtPK35XNFEabKsN5CmpPs7tZXa qVgVJkZGxIv6xWtCFOH1nZXy2B443Hu3XZ6MXF5G5MEAuxyK00cpI1IwHFuMoOvpMOkWOHYY wfsnwVj4guB1ylX0d8La6JJjoQhB6aluGZ5wIbiVEuTGFDsPpIzLhNvkzZoISDmWMx7rxfLQ 33xmLIlhZOwceOkU3LSKDYCss51yXDALSu5Ujts92EBoqLpI4/yZ0HJlmMB+T6jLwb3kmD/t Xi7p7gK2mQZ7908SB20E6VQxgbEXDNRYaYxngJR9UobxEfhW2kLj4QwEHfnpE6YgsH600+5F SXY+3H60GNPrIKUqjXDTwE6G1k+eeIfJcPb+BRLTKsg4xmG3GirrGidogNGfSkxrwHG9jj6N Zpv/O8b83zHmf7UWRN5A08Q4Q5RONPhHi4f8DEKUIS5a5xcaE1WKxl5K+l3jeoAqfu21IZZB aqXq9I4eLScX4g0JUTYEDKn2Vq1/Lmk5VZiQkCjqY/bo4yJFgw1NZ2TqaSr//P7dHKsTDooH RDFW1P9VCcbDJxkZp04xt3VeWhhrDXmTFVjN9Smb7tgmuVITypwq36X1jkR2aPuLM1+dqNXT snl6Wrq0v0K7bVRb2FVT8o77Wm4LXZltGsybm7SrL3KT/dxI0odXvosCLSeTT+Tt+q7bnWrZ tyXudpEqZ4U5pPl3ffmGkZfqjtrVA5kUVVhwM/jt8UlqmSFcWLqA1BuEP/EHV5pOAwAA X-Brightmail-Tracker: H4sIAAAAAAAAA+NgFjrAIsWRmVeSWpSXmKPExsVy+t/xu7qCls/jDM6tlbN4MOUum0X3hxYm i+0rutgs3n3azmRxZ+9pdotZl5rYLZ7/ecVsMWXnDkaLTw9OsFicvrmZ3WLN14vMFlvP/GV0 4PH4tWApq8fiPS+ZPI7dnMbu8X7fVTaPvi2rGD1WP/nBFsAWpWdTlF9akqqQkV9cYqsUbWhh pGdoaaFnZGKpZ2hsHmtlZKqkb2eTkpqTWZZapG+XoJdx6v4B1oJnEhXPN99lbWD8KtzFyMkh IWAiseXSV9YuRi4OIYGljBLvps9m62LkAEpISLx+wgxRIyzx51oXG4gtJPCZUWJmnyyIzSag IXG6Yx4TSK+IwBImib2rzjGCJIQFLCReXpvICDKHRUBV4sKnRJAwr4ClRN+k+6wQM+UlVm84 ADafU8BK4uLBGewQ8zMlXs2/wwphy0lcn/+FCaJXUOLkzCcsICOZBdQl1s8TAgkzA41p3jqb eQKj4CwkVbMQqmYhqVrAyLyKUSS1tDg3PbfYUK84Mbe4NC9dLzk/dxMjMPa2Hfu5eQfjpY3B hxgFOBiVeHgtQp/FCbEmlhVX5h5ilOBgVhLhdTp7Ok6INyWxsiq1KD++qDQntfgQoynQlxOZ pUST84FpIa8k3tDU0NzC0tDc2NzYzEJJnLdD4GCMkEB6YklqdmpqQWoRTB8TB6dUAyOzg8wT No6II792q1y6uJwnc89VPbngb5oKIQ96F8lcT42e0Wgb7xepI3jtC6dh5g3V63lLq1cpGi5c FhG1VmH3I3Oe9jXPtV+nfDE0Md29L99r3uQzfJfab/5e6GrF3vldqKGtS+LADeNTbN/TXxQd XFF8c71nvvzO78bX/t5I+L555uQUizYlluKMREMt5qLiRAAclR240wIAAA== X-CMS-MailID: 20200615090209eucas1p15c676b9ad46b95ce91d63f4fad92dab8 X-Msg-Generator: CA X-RootMTR: 20200615090209eucas1p15c676b9ad46b95ce91d63f4fad92dab8 X-EPHeader: CA CMS-TYPE: 201P X-CMS-RootMailID: 20200615090209eucas1p15c676b9ad46b95ce91d63f4fad92dab8 References: <20200427095737.11082-1-i.dyukov@samsung.com> <20200615090158.18912-1-i.dyukov@samsung.com> Subject: [dpdk-dev] [PATCH v3 1/7] ethdev: allow unknown link speed X-BeenThere: dev@dpdk.org X-Mailman-Version: 2.1.15 Precedence: list Reply-To: i.dyukov@samsung.com List-Id: DPDK patches and discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dev-bounces@dpdk.org Sender: "dev" From: Thomas Monjalon When querying the link information, the link status is a mandatory major information. Other boolean values are supposed to be accurate: - duplex mode (half/full) - negotiation (auto/fixed) This API update is making explicit that the link speed information is optional. The value ETH_SPEED_NUM_NONE (0) was already part of the API. The value ETH_SPEED_NUM_UNKNOWN (infinite) is added to cover two different cases: - speed is not known by the driver - device is virtual Suggested-by: Morten Brørup Suggested-by: Benoit Ganne Signed-off-by: Thomas Monjalon Reviewed-by: Ferruh Yigit --- lib/librte_ethdev/rte_ethdev.h | 20 ++++++++++---------- 1 file changed, 10 insertions(+), 10 deletions(-) diff --git a/lib/librte_ethdev/rte_ethdev.h b/lib/librte_ethdev/rte_ethdev.h index a49242bcd..2090af501 100644 --- a/lib/librte_ethdev/rte_ethdev.h +++ b/lib/librte_ethdev/rte_ethdev.h @@ -303,6 +303,7 @@ struct rte_eth_stats { #define ETH_SPEED_NUM_56G 56000 /**< 56 Gbps */ #define ETH_SPEED_NUM_100G 100000 /**< 100 Gbps */ #define ETH_SPEED_NUM_200G 200000 /**< 200 Gbps */ +#define ETH_SPEED_NUM_UNKNOWN UINT32_MAX /**< Unknown */ /** * A structure used to retrieve link-level information of an Ethernet port. @@ -2262,15 +2263,16 @@ int rte_eth_allmulticast_disable(uint16_t port_id); int rte_eth_allmulticast_get(uint16_t port_id); /** - * Retrieve the status (ON/OFF), the speed (in Mbps) and the mode (HALF-DUPLEX - * or FULL-DUPLEX) of the physical link of an Ethernet device. It might need - * to wait up to 9 seconds in it. + * Retrieve the link status (up/down), the duplex mode (half/full), + * the negotiation (auto/fixed), and if available, the speed (Mbps). + * + * It might need to wait up to 9 seconds. + * @see rte_eth_link_get_nowait. * * @param port_id * The port identifier of the Ethernet device. * @param link - * A pointer to an *rte_eth_link* structure to be filled with - * the status, the speed and the mode of the Ethernet device link. + * Link information written back. * @return * - (0) if successful. * - (-ENOTSUP) if the function is not supported in PMD driver. @@ -2279,15 +2281,13 @@ int rte_eth_allmulticast_get(uint16_t port_id); int rte_eth_link_get(uint16_t port_id, struct rte_eth_link *link); /** - * Retrieve the status (ON/OFF), the speed (in Mbps) and the mode (HALF-DUPLEX - * or FULL-DUPLEX) of the physical link of an Ethernet device. It is a no-wait - * version of rte_eth_link_get(). + * Retrieve the link status (up/down), the duplex mode (half/full), + * the negotiation (auto/fixed), and if available, the speed (Mbps). * * @param port_id * The port identifier of the Ethernet device. * @param link - * A pointer to an *rte_eth_link* structure to be filled with - * the status, the speed and the mode of the Ethernet device link. + * Link information written back. * @return * - (0) if successful. * - (-ENOTSUP) if the function is not supported in PMD driver. From patchwork Mon Jun 15 09:01:50 2020 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Ivan Dyukov X-Patchwork-Id: 71597 X-Patchwork-Delegate: ferruh.yigit@amd.com Return-Path: X-Original-To: patchwork@inbox.dpdk.org Delivered-To: patchwork@inbox.dpdk.org Received: from dpdk.org (dpdk.org [92.243.14.124]) by inbox.dpdk.org (Postfix) with ESMTP id 061B4A0093; Mon, 15 Jun 2020 11:02:29 +0200 (CEST) Received: from [92.243.14.124] (localhost [127.0.0.1]) by dpdk.org (Postfix) with ESMTP id 197535681; Mon, 15 Jun 2020 11:02:14 +0200 (CEST) Received: from mailout1.w1.samsung.com (mailout1.w1.samsung.com [210.118.77.11]) by dpdk.org (Postfix) with ESMTP id 8E8944C90 for ; Mon, 15 Jun 2020 11:02:12 +0200 (CEST) Received: from eucas1p2.samsung.com (unknown [182.198.249.207]) by mailout1.w1.samsung.com (KnoxPortal) with ESMTP id 20200615090212euoutp0128ca70ed475298d9d97ea0648e89941f~YrCJ7bCCg2219822198euoutp017 for ; Mon, 15 Jun 2020 09:02:12 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 mailout1.w1.samsung.com 20200615090212euoutp0128ca70ed475298d9d97ea0648e89941f~YrCJ7bCCg2219822198euoutp017 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=samsung.com; s=mail20170921; t=1592211732; bh=OljwWih5OTHZTwp2/hu3sxZtTvfXEk8Y4NL40w+Uj38=; h=From:To:Subject:Date:In-Reply-To:Reply-To:References:From; b=foE+CSWTIE/q22Tf5zXD12lQVdXXHsFgZd9+ADAKHVNk77u8iZd/T8eGPSVF861ix mLuHwcK4mBcGEh3iRFAEe4Xls1kwpgI9gDCc7xGQA3jrbzFdFweHhnGs80/gL1p1nH ImE6QxfweJWeX0J+tnXaAizgiRhgVipE+MN40NA0= Received: from eusmges3new.samsung.com (unknown [203.254.199.245]) by eucas1p2.samsung.com (KnoxPortal) with ESMTP id 20200615090212eucas1p2b430e3ec29c8eb36868333cc6ee0b5d8~YrCJvq22o2891328913eucas1p2y; Mon, 15 Jun 2020 09:02:12 +0000 (GMT) Received: from eucas1p1.samsung.com ( [182.198.249.206]) by eusmges3new.samsung.com (EUCPMTA) with SMTP id 71.E0.60698.41937EE5; Mon, 15 Jun 2020 10:02:12 +0100 (BST) Received: from eusmtrp1.samsung.com (unknown [182.198.249.138]) by eucas1p2.samsung.com (KnoxPortal) with ESMTPA id 20200615090211eucas1p2f9951f582b14d602cbf4d51e228b12a0~YrCJRon4A3240932409eucas1p2C; Mon, 15 Jun 2020 09:02:11 +0000 (GMT) Received: from eusmgms1.samsung.com (unknown [182.198.249.179]) by eusmtrp1.samsung.com (KnoxPortal) with ESMTP id 20200615090211eusmtrp1b992c276468094686a4211d8c4d0fee0~YrCJQ0bQ51017810178eusmtrp1S; Mon, 15 Jun 2020 09:02:11 +0000 (GMT) X-AuditID: cbfec7f5-a29ff7000001ed1a-77-5ee739142bd8 Received: from eusmtip1.samsung.com ( [203.254.199.221]) by eusmgms1.samsung.com (EUCPMTA) with SMTP id CB.1A.08375.31937EE5; Mon, 15 Jun 2020 10:02:11 +0100 (BST) Received: from idyukov.rnd.samsung.ru (unknown [106.109.129.29]) by eusmtip1.samsung.com (KnoxPortal) with ESMTPA id 20200615090210eusmtip10b5e0865cd120b5f2442d506727e9bfa~YrCIe-sRV0240602406eusmtip1Z; Mon, 15 Jun 2020 09:02:10 +0000 (GMT) From: Ivan Dyukov To: dev@dpdk.org, i.dyukov@samsung.com, v.kuramshin@samsung.com, thomas@monjalon.net, david.marchand@redhat.com, ferruh.yigit@intel.com, arybchenko@solarflare.com, wei.zhao1@intel.com, jia.guo@intel.com, beilei.xing@intel.com, qiming.yang@intel.com, wenzhuo.lu@intel.com Date: Mon, 15 Jun 2020 12:01:50 +0300 Message-Id: <20200615090158.18912-3-i.dyukov@samsung.com> X-Mailer: git-send-email 2.17.1 In-Reply-To: <20200615090158.18912-1-i.dyukov@samsung.com> X-Brightmail-Tracker: H4sIAAAAAAAAA0WSfyyUcRzH932eu+ceN2ePY/MZLdttLZnQKA+rxGrdX/FHTauFk2cYd6d7 UPRHMuwmk3STH6105ce4CbkjQ7o/0A6hdCzMr/xcMT8KYTnPWf+9Pu8f38/22ZfExaV8ZzJO kcSoFLIECSHkGTq3+k46+s+Fe2+Pk/SEZoygH61kYnRTVQ5B/1ptwujRNpOALhnMENBzO4s4 rXnfjOjViW4ebRp5J6B1GwM4re/ZRRdspdtl5Xzp69YFTNo5UiiQLrcPEdK8xmokrZnZJEKJ G8Kz0UxCXAqj8jofKYxt3jRhidtZ6F6vPigdZcTlIBsSKF/QfN0lcpCQFFNVCL53Z/K4YR3B 8MoC4oY1BJ/7V/HDyrfnszhnVCIo0u9ZUxsIRis0mCVFUG5gUr/ALIYjpcHgYXbxQd2BugRf fpcfhHjUMZgdSicsLKL8YdKst65whZq6jgO2oQJg4GORwMJi6iiYX64fPAqUVgDzpfXWwkVQ 98zzOXaAxa5GAcdHwPQ0l8fxffjTYBZwZTWCcW2WNRQIjUt9+0ySOHUC3rZ4cXIQVBp0mEUG yg6Gf9pbZHwfCwzPcE4WgTpbzKUl0PFp0CoD7P615WQpzOuarMdqQ/B4fAPLR64l/3eVIVSN nJhkVh7DsD4K5q4nK5OzyYoYz9tKeQPa/zKmva6NZtS+E2VEFIkktqL8sNlwMV+WwqbKjQhI XOIoCu41hYtF0bLUNEaljFAlJzCsEbmQPImTyEe7cEtMxciSmHiGSWRUhy5G2jinI2ODtrUw 8nTo6JCbsrK8M/5MssE1b6DAz7BGvjru6m2fF+E3HRJW/2avbTrN84p2ItPDp6L2Q4178ANz vGOa81jAVnRUztS5ie2rxQZd2l5A/M4dh+brCnmY980lXeCUkvdjue2yb8iaR/Zki7q2buXJ TKtLYX9GWG4PG24g7a5JeGys7JQ7rmJl/wBs+fJiLgMAAA== X-Brightmail-Tracker: H4sIAAAAAAAAA+NgFvrDLMWRmVeSWpSXmKPExsVy+t/xu7rCls/jDM4eVrV4MOUum0X3hxYm i+0rutgs3n3azmRxZ+9pdotZl5rYLZ7/ecVsMWXnDkaLTw9OsFicvrmZ3WLN14vMFlvP/GV0 4PH4tWApq8fiPS+ZPI7dnMbu8X7fVTaPvi2rGD1WP/nBFsAWpWdTlF9akqqQkV9cYqsUbWhh pGdoaaFnZGKpZ2hsHmtlZKqkb2eTkpqTWZZapG+XoJex48dppoJfrYwVZ7c6NjA2ZXYxcnJI CJhIXJvzjLmLkYtDSGApo8Sjie+BHA6ghITE6yfMEDXCEn+udbFB1HxmlHj34z87SIJNQEPi dMc8JpCEiMASJom9q84xgiSEBVwlLn9bygRiswioSjy72sAGYvMKWEo8vL4Vaqq8xOoNB8Bs TgEriYsHZ4ANFRLIlHg1/w4rhC0ncX3+F6YJjHwLGBlWMYqklhbnpucWG+oVJ+YWl+al6yXn 525iBIb8tmM/N+9gvLQx+BCjAAejEg+vReizOCHWxLLiytxDjBIczEoivE5nT8cJ8aYkVlal FuXHF5XmpBYfYjQFOnAis5Rocj4wHvNK4g1NDc0tLA3Njc2NzSyUxHk7BA7GCAmkJ5akZqem FqQWwfQxcXBKNTAGeTyZulBEcf+ksPUFh60/6lxzDvZIubnteLPmUfE1AnWr5A1jUr3M7/jt cue2WCzuEPbwxDPP1f5v9ExSPlz7k7Q/2qJW4Yif/iuPljVP3nhmzAtN8Tq52JBFu3rV59Ta vnXr5/IdvRa8M/XN4WtK3yaYJ7ybc69465bk/Utn/06IUtHau/a9EktxRqKhFnNRcSIARpRB OI8CAAA= X-CMS-MailID: 20200615090211eucas1p2f9951f582b14d602cbf4d51e228b12a0 X-Msg-Generator: CA X-RootMTR: 20200615090211eucas1p2f9951f582b14d602cbf4d51e228b12a0 X-EPHeader: CA CMS-TYPE: 201P X-CMS-RootMailID: 20200615090211eucas1p2f9951f582b14d602cbf4d51e228b12a0 References: <20200427095737.11082-1-i.dyukov@samsung.com> <20200615090158.18912-1-i.dyukov@samsung.com> Subject: [dpdk-dev] [PATCH v3 2/7] ethdev: add a link status text representation X-BeenThere: dev@dpdk.org X-Mailman-Version: 2.1.15 Precedence: list Reply-To: i.dyukov@samsung.com 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 commit add function which treat link status structure and format it to text representation. Signed-off-by: Ivan Dyukov --- MAINTAINERS | 1 + app/test/Makefile | 3 + app/test/meson.build | 2 + app/test/test_ethdev_link.c | 253 +++++++++++++++++++++++++++++++++ lib/librte_ethdev/rte_ethdev.c | 163 +++++++++++++++++++++ lib/librte_ethdev/rte_ethdev.h | 52 +++++++ 6 files changed, 474 insertions(+) create mode 100644 app/test/test_ethdev_link.c diff --git a/MAINTAINERS b/MAINTAINERS index 6a14622a0..94c5cd58e 100644 --- a/MAINTAINERS +++ b/MAINTAINERS @@ -378,6 +378,7 @@ T: git://dpdk.org/next/dpdk-next-net F: lib/librte_ethdev/ F: devtools/test-null.sh F: doc/guides/prog_guide/switch_representation.rst +F: app/test/test_ethdev* Flow API M: Ori Kam diff --git a/app/test/Makefile b/app/test/Makefile index 5b119aa61..14552073d 100644 --- a/app/test/Makefile +++ b/app/test/Makefile @@ -249,6 +249,9 @@ SRCS-$(CONFIG_RTE_LIBRTE_SECURITY) += test_security.c SRCS-$(CONFIG_RTE_LIBRTE_IPSEC) += test_ipsec.c test_ipsec_perf.c SRCS-$(CONFIG_RTE_LIBRTE_IPSEC) += test_ipsec_sad.c + +SRCS-$(CONFIG_RTE_LIBRTE_ETHER) += test_ethdev_link.c + ifeq ($(CONFIG_RTE_LIBRTE_IPSEC),y) LDLIBS += -lrte_ipsec endif diff --git a/app/test/meson.build b/app/test/meson.build index 1715ddbcb..c5b742c15 100644 --- a/app/test/meson.build +++ b/app/test/meson.build @@ -38,6 +38,7 @@ test_sources = files('commands.c', 'test_efd.c', 'test_efd_perf.c', 'test_errno.c', + 'test_ethdev_link.c', 'test_event_crypto_adapter.c', 'test_event_eth_rx_adapter.c', 'test_event_ring.c', @@ -196,6 +197,7 @@ fast_tests = [ ['eal_flags_misc_autotest', false], ['eal_fs_autotest', true], ['errno_autotest', true], + ['ethdev_link_status' true], ['event_ring_autotest', true], ['fib_autotest', true], ['fib6_autotest', true], diff --git a/app/test/test_ethdev_link.c b/app/test/test_ethdev_link.c new file mode 100644 index 000000000..9d04dfb81 --- /dev/null +++ b/app/test/test_ethdev_link.c @@ -0,0 +1,253 @@ +/* SPDX-License-Identifier: BSD-3-Clause + * Copyright (c) 2020 Samsung Electronics Co., Ltd All Rights Reserved + */ + +#include +#include + +#include +#include "test.h" + + +static int32_t +test_link_status_up_default(void) +{ + int ret = 0; + struct rte_eth_link link_status = { + .link_speed = ETH_SPEED_NUM_2_5G, + .link_status = ETH_LINK_UP, + .link_autoneg = ETH_LINK_AUTONEG, + .link_duplex = ETH_LINK_FULL_DUPLEX + }; + char text[128]; + ret = rte_eth_link_format(text, 128, NULL, &link_status); + RTE_TEST_ASSERT(ret > 0, "Failed to format default string\n"); + TEST_ASSERT_BUFFERS_ARE_EQUAL("Link up at 2.5 Gbit/s FDX Autoneg", + text, strlen(text), "Invalid default link status string"); + + link_status.link_duplex = ETH_LINK_HALF_DUPLEX; + link_status.link_autoneg = ETH_LINK_FIXED; + link_status.link_speed = ETH_SPEED_NUM_10M, + ret = rte_eth_link_format(text, 128, NULL, &link_status); + RTE_TEST_ASSERT(ret > 0, "Failed to format default string\n"); + TEST_ASSERT_BUFFERS_ARE_EQUAL("Link up at 10 Mbit/s HDX Fixed", + text, strlen(text), "Invalid default link status " + "string with HDX"); + + link_status.link_speed = ETH_SPEED_NUM_UNKNOWN, + ret = rte_eth_link_format(text, 128, NULL, &link_status); + RTE_TEST_ASSERT(ret > 0, "Failed to format default string\n"); + TEST_ASSERT_BUFFERS_ARE_EQUAL("Link up at Unknown speed HDX Fixed", + text, strlen(text), "Invalid default link status " + "string with HDX"); + return TEST_SUCCESS; +} + +static int32_t +test_link_status_down_default(void) +{ + int ret = 0; + struct rte_eth_link link_status = { + .link_speed = ETH_SPEED_NUM_2_5G, + .link_status = ETH_LINK_DOWN, + .link_autoneg = ETH_LINK_AUTONEG, + .link_duplex = ETH_LINK_FULL_DUPLEX + }; + char text[128]; + ret = rte_eth_link_format(text, 128, NULL, &link_status); + RTE_TEST_ASSERT(ret > 0, "Failed to format default string\n"); + TEST_ASSERT_BUFFERS_ARE_EQUAL("Link down", + text, strlen(text), "Invalid default link status string"); + + return TEST_SUCCESS; +} + +static int32_t +test_link_status_string_overflow(void) +{ + int ret = 0; + struct rte_eth_link link_status = { + .link_speed = ETH_SPEED_NUM_2_5G, + .link_status = ETH_LINK_UP, + .link_autoneg = ETH_LINK_AUTONEG, + .link_duplex = ETH_LINK_FULL_DUPLEX + }; + char text[128]; + int i = 0; + for (i = 0; i < 128; i++) + text[i] = 'Y'; + + + ret = rte_eth_link_format(NULL, 2, "status %S, %G Gbits/s", + &link_status); + RTE_TEST_ASSERT(ret < 0, "Format string should fail, but it's ok\n"); + + ret = rte_eth_link_format(text, 2, "status %S, %G Gbits/s", + &link_status); + RTE_TEST_ASSERT(ret < 0, "Format string should fail, but it's ok\n"); + RTE_TEST_ASSERT(text[2] == 'Y', "String1 overflow\n"); + + ret = rte_eth_link_format(text, 8, NULL, + &link_status); + RTE_TEST_ASSERT(ret < 0, "Default format string should fail," + " but it's ok\n"); + RTE_TEST_ASSERT(text[8] == 'Y', "String1 overflow\n"); + + ret = rte_eth_link_format(text, 10, NULL, + &link_status); + RTE_TEST_ASSERT(ret < 0, "Default format string should fail," + " but it's ok\n"); + RTE_TEST_ASSERT(text[10] == 'Y', "String1 overflow\n"); + + ret = rte_eth_link_format(text, 2, "%S", + &link_status); + RTE_TEST_ASSERT(ret < 0, "Status string should fail, but it's ok\n"); + + return TEST_SUCCESS; +} + +static int32_t +test_link_status_format(void) +{ + int ret = 0; + struct rte_eth_link link_status = { + .link_speed = ETH_SPEED_NUM_40G, + .link_status = ETH_LINK_UP, + .link_autoneg = ETH_LINK_AUTONEG, + .link_duplex = ETH_LINK_FULL_DUPLEX + }; + char text[128]; + int i = 0; + for (i = 0; i < 128; i++) + text[i] = 'Y'; + ret = rte_eth_link_format(text, 128, "status = %S, duplex = %D\n", + &link_status); + RTE_TEST_ASSERT(ret > 0, "Failed to format string\n"); + TEST_ASSERT_BUFFERS_ARE_EQUAL("status = Up, duplex = FDX\n", + text, strlen(text), "Invalid status string1."); + + ret = rte_eth_link_format(text, 128, + "%A", + &link_status); + RTE_TEST_ASSERT(ret > 0, "Failed to format string\n"); + TEST_ASSERT_BUFFERS_ARE_EQUAL("Autoneg", + text, strlen(text), "Invalid status string2."); + + ret = rte_eth_link_format(text, 128, + "%G", + &link_status); + RTE_TEST_ASSERT(ret > 0, "Failed to format string\n"); + TEST_ASSERT_BUFFERS_ARE_EQUAL("40.0", + text, strlen(text), "Invalid status string3."); + return TEST_SUCCESS; +} + +static int32_t +test_link_status_return_value(void) +{ + int ret = 0; + struct rte_eth_link link_status = { + .link_speed = ETH_SPEED_NUM_40G, + .link_status = ETH_LINK_UP, + .link_autoneg = ETH_LINK_AUTONEG, + .link_duplex = ETH_LINK_FULL_DUPLEX + }; + char text[128]; + int i = 0; + for (i = 0; i < 128; i++) + text[i] = 'Y'; + ret = rte_eth_link_format(text, 128, "status = %S, ", + &link_status); + ret += rte_eth_link_format(text + ret, 128 - ret, + "%A", + &link_status); + ret += rte_eth_link_format(text + ret, 128 - ret, + ", duplex = %D\n", + &link_status); + ret += rte_eth_link_format(text + ret, 128 - ret, + "%M Mbits/s\n", + &link_status); + RTE_TEST_ASSERT(ret > 0, "Failed to format string\n"); + TEST_ASSERT_BUFFERS_ARE_EQUAL("status = Up, Autoneg, duplex = FDX\n" + "40000 Mbits/s\n", + text, strlen(text), "Invalid status string"); + + return TEST_SUCCESS; +} + +static int32_t +test_link_status_invalid_fmt(void) +{ + int ret = 0; + struct rte_eth_link link_status = { + .link_speed = ETH_SPEED_NUM_40G, + .link_status = ETH_LINK_UP, + .link_autoneg = ETH_LINK_AUTONEG, + .link_duplex = ETH_LINK_FULL_DUPLEX + }; + char text[128]; + ret = rte_eth_link_format(text, 128, "status = %", + &link_status); + RTE_TEST_ASSERT(ret < 0, "Status string1 should fail, but it's ok\n"); + ret = rte_eth_link_format(text, 128, + ", duplex = %d\n", + &link_status); + RTE_TEST_ASSERT(ret < 0, "Status string2 should fail, but it's ok\n"); + ret = rte_eth_link_format(text, 128, + "% Mbits/s\n", + &link_status); + RTE_TEST_ASSERT(ret < 0, "Status string3 should fail, but it's ok\n"); + + return TEST_SUCCESS; +} + +static int32_t +test_link_status_format_edges(void) +{ + int ret = 0; + struct rte_eth_link link_status = { + .link_speed = ETH_SPEED_NUM_UNKNOWN, + .link_status = ETH_LINK_DOWN, + .link_autoneg = ETH_LINK_AUTONEG, + .link_duplex = ETH_LINK_HALF_DUPLEX + }; + char text[128]; + ret = rte_eth_link_format(text, 4, "%S", &link_status); + RTE_TEST_ASSERT(ret < 0, "It should fail. No space for " + "zero terminator\n"); + ret = rte_eth_link_format(text, 6, "123%D", &link_status); + RTE_TEST_ASSERT(ret < 0, "It should fail. No space for " + "zero terminator\n"); + ret = rte_eth_link_format(text, 7, "%A", &link_status); + RTE_TEST_ASSERT(ret < 0, "It should fail. No space for " + "zero terminator\n"); + ret = rte_eth_link_format(text, 8, "%A", &link_status); + RTE_TEST_ASSERT(ret > 0, "It should ok, but it fails\n"); + return TEST_SUCCESS; +} +static struct unit_test_suite link_status_testsuite = { + .suite_name = "link status formating", + .setup = NULL, + .teardown = NULL, + .unit_test_cases = { + TEST_CASE(test_link_status_up_default), + TEST_CASE(test_link_status_down_default), + TEST_CASE(test_link_status_string_overflow), + TEST_CASE(test_link_status_format), + TEST_CASE(test_link_status_format_edges), + TEST_CASE(test_link_status_invalid_fmt), + TEST_CASE(test_link_status_return_value), + TEST_CASES_END() /**< NULL terminate unit test array */ + } +}; + +static int +test_link_status(void) +{ + rte_log_set_global_level(RTE_LOG_DEBUG); + rte_log_set_level(RTE_LOGTYPE_EAL, RTE_LOG_DEBUG); + + return unit_test_suite_runner(&link_status_testsuite); +} + +REGISTER_TEST_COMMAND(ethdev_link_status, test_link_status); diff --git a/lib/librte_ethdev/rte_ethdev.c b/lib/librte_ethdev/rte_ethdev.c index 8e10a6fc3..108be1902 100644 --- a/lib/librte_ethdev/rte_ethdev.c +++ b/lib/librte_ethdev/rte_ethdev.c @@ -2385,6 +2385,169 @@ rte_eth_link_get_nowait(uint16_t port_id, struct rte_eth_link *eth_link) return 0; } +int +rte_eth_link_printf(const char *const fmt, + struct rte_eth_link *link) +{ + char text[200]; + int ret; + ret = rte_eth_link_format(text, 200, fmt, link); + printf("%s", text); + return ret; +} + +int +rte_eth_link_format(char *str, int32_t len, const char *const fmt, + struct rte_eth_link *link) +{ + int offset = 0; + int32_t clen = len; + const char *fmt_cur = fmt; + double gbits = (double)link->link_speed / 1000.; + /* TBD: make it international? */ + static const char LINK_DOWN_STR[] = "Link down"; + static const char LINK_UP_STR[] = "Link up at "; + static const char UNKNOWN_SPEED_STR[] = "Unknown speed"; + static const char MBITS_STR[] = "Mbit/s"; + static const char GBITS_STR[] = "Gbit/s"; + static const char AUTONEG_STR[] = "Autoneg"; + static const char FIXED_STR[] = "Fixed"; + static const char FDX_STR[] = "FDX"; + static const char HDX_STR[] = "HDX"; + static const char UNKNOWN_STR[] = "Unknown"; + static const char UP_STR[] = "Up"; + static const char DOWN_STR[] = "Down"; + if (str == NULL || len == 0) + return -1; + /* default format string, if no fmt is specified */ + if (fmt == NULL) { + if (link->link_status == ETH_LINK_DOWN) + return snprintf(str, (size_t)clen, "%s", LINK_DOWN_STR); + + offset = snprintf(str, (size_t)clen, "%s", LINK_UP_STR); + if (offset < 0 || (clen - offset) <= 0) + return -1; + clen -= offset; + str += offset; + if (link->link_speed == ETH_SPEED_NUM_UNKNOWN) { + offset = snprintf(str, clen, "%s", + UNKNOWN_SPEED_STR); + if (offset < 0 || (clen - offset) <= 0) + return -1; + clen -= offset; + str += offset; + } else { + if (link->link_speed < ETH_SPEED_NUM_1G) { + offset = snprintf(str, clen, + "%u %s", + link->link_speed, + MBITS_STR); + if (offset < 0 || (clen - offset) <= 0) + return -1; + clen -= offset; + str += offset; + + } else { + offset = snprintf(str, clen, + "%.1f %s", + gbits, + GBITS_STR); + if (offset < 0 || (clen - offset) <= 0) + return -1; + clen -= offset; + str += offset; + } + } + offset = snprintf(str, clen, " %s", link->link_duplex ? + FDX_STR : HDX_STR); + if (offset < 0 || (clen - offset) <= 0) + return -1; + clen -= offset; + str += offset; + offset = snprintf(str, clen, " %s", link->link_autoneg ? + AUTONEG_STR : FIXED_STR); + if (offset < 0 || (clen - offset) <= 0) + return -1; + clen -= offset; + str += offset; + /* Formated status */ + } else { + char c = *fmt_cur; + while (c) { + if (clen <= 0) + return -1; + if (c == '%') { + c = *++fmt_cur; + switch (c) { + /* Speed in Mbits/s */ + case 'M': + if (link->link_speed == + ETH_SPEED_NUM_UNKNOWN) + offset = snprintf(str, + clen, "%s", + UNKNOWN_STR); + else + offset = snprintf(str, + clen, "%u", + link->link_speed); + break; + /* Speed in Gbits/s */ + case 'G': + if (link->link_speed == + ETH_SPEED_NUM_UNKNOWN) + offset = snprintf(str, + clen, "%s", + UNKNOWN_STR); + else { + offset = snprintf(str, + clen, "%.1f", + gbits); + } + break; + /* Link status */ + case 'S': + offset = snprintf(str, clen, + "%s", + link->link_status ? + UP_STR : DOWN_STR); + break; + /* Link autoneg */ + case 'A': + offset = snprintf(str, clen, + "%s", + link->link_autoneg ? + AUTONEG_STR : + FIXED_STR); + break; + /* Link duplex */ + case 'D': + offset = snprintf(str, clen, + "%s", + link->link_duplex ? + FDX_STR : HDX_STR); + break; + /* Error cases */ + default: + return -1; + + } + if (offset < 0 || (clen - offset) <= 0) + return -1; + clen -= offset; + str += offset; + } else { + *str++ = c; + clen--; + } + c = *++fmt_cur; + } + } + /* teminate string */ + clen = len - clen; + *str = 0; + return clen; +} + int rte_eth_stats_get(uint16_t port_id, struct rte_eth_stats *stats) { diff --git a/lib/librte_ethdev/rte_ethdev.h b/lib/librte_ethdev/rte_ethdev.h index 2090af501..83291e656 100644 --- a/lib/librte_ethdev/rte_ethdev.h +++ b/lib/librte_ethdev/rte_ethdev.h @@ -2295,6 +2295,58 @@ int rte_eth_link_get(uint16_t port_id, struct rte_eth_link *link); */ int rte_eth_link_get_nowait(uint16_t port_id, struct rte_eth_link *link); + +/** + * print formated link status to stdout. This function threats all + * special values like ETH_SPEED_NUM_UNKNOWN, ETH_LINK_DOWN etc. and convert + * them to textual representation. + * + * @param fmt + * Format string which allow to format link status. If NULL is provided + * , default formating will be applied. + * Following specifiers are available: + * - '%M' link speed in Mbits/s + * - '%G' link speed in Gbits/s + * - '%S' link status. e.g. Up or Down + * - '%A' link autonegotiation state + * - '%D' link duplex state + * @param link + * Link status provided by rte_eth_link_get function + * @return + * - Number of bytes written to stdout. In case of error, -1 is returned. + * + */ +int rte_eth_link_printf(const char *const fmt, + struct rte_eth_link *link); + +/** + * Format link status to textual representation. This function threats all + * special values like ETH_SPEED_NUM_UNKNOWN, ETH_LINK_DOWN etc. and convert + * them to textual representation. + * + * @param str + * A pointer to a string to be filled with textual representation of + * device status. + * @param len + * Length of available memory at 'str' string. + * @param fmt + * Format string which allow to format link status. If NULL is provided + * , default formating will be applied. + * Following specifiers are available: + * - '%M' link speed in Mbits/s + * - '%G' link speed in Gbits/s + * - '%S' link status. e.g. Up or Down + * - '%A' link autonegotiation state + * - '%D' link duplex state + * @param link + * Link status provided by rte_eth_link_get function + * @return + * - Number of bytes written to str array. In case of error, -1 is returned. + * + */ +int rte_eth_link_format(char *str, int32_t len, const char *const fmt, + struct rte_eth_link *eth_link); + /** * Retrieve the general I/O statistics of an Ethernet device. * From patchwork Mon Jun 15 09:01:51 2020 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Ivan Dyukov X-Patchwork-Id: 71598 X-Patchwork-Delegate: ferruh.yigit@amd.com Return-Path: X-Original-To: patchwork@inbox.dpdk.org Delivered-To: patchwork@inbox.dpdk.org Received: from dpdk.org (dpdk.org [92.243.14.124]) by inbox.dpdk.org (Postfix) with ESMTP id 6A1C9A0093; Mon, 15 Jun 2020 11:02:43 +0200 (CEST) Received: from [92.243.14.124] (localhost [127.0.0.1]) by dpdk.org (Postfix) with ESMTP id 68955AAB7; Mon, 15 Jun 2020 11:02:16 +0200 (CEST) Received: from mailout2.w1.samsung.com (mailout2.w1.samsung.com [210.118.77.12]) by dpdk.org (Postfix) with ESMTP id 24E225B3A for ; Mon, 15 Jun 2020 11:02:14 +0200 (CEST) Received: from eucas1p1.samsung.com (unknown [182.198.249.206]) by mailout2.w1.samsung.com (KnoxPortal) with ESMTP id 20200615090213euoutp026b59e1d6f54238c041f457a0d72bb444~YrCLYS9ca3227332273euoutp02b for ; Mon, 15 Jun 2020 09:02:13 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 mailout2.w1.samsung.com 20200615090213euoutp026b59e1d6f54238c041f457a0d72bb444~YrCLYS9ca3227332273euoutp02b DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=samsung.com; s=mail20170921; t=1592211733; bh=oFT9jgZ3r9AckjfyWwBFLX0QNBigfrKWe4c5z6a7wCU=; h=From:To:Subject:Date:In-Reply-To:Reply-To:References:From; b=s7oJ6ne69comHUWkytB9+tI29ahItu0ZdjayPvbU+AGRYtX6rIV1vEdxwMo+2ztP5 5PnMFVnlgnpW6xcEp0dFWhZC6jA30a//Mk9e3CLc2nvzKnMsyz1SlE3P+iOC9gGJsy f/CC8Mogml9ENg5I9t5bFzEDu85OF8SdhNtz683Q= Received: from eusmges1new.samsung.com (unknown [203.254.199.242]) by eucas1p2.samsung.com (KnoxPortal) with ESMTP id 20200615090213eucas1p202a66756f631346df6df1cff3a41a687~YrCLE_L0u0261002610eucas1p2s; Mon, 15 Jun 2020 09:02:13 +0000 (GMT) Received: from eucas1p2.samsung.com ( [182.198.249.207]) by eusmges1new.samsung.com (EUCPMTA) with SMTP id BE.FE.61286.51937EE5; Mon, 15 Jun 2020 10:02:13 +0100 (BST) Received: from eusmtrp1.samsung.com (unknown [182.198.249.138]) by eucas1p1.samsung.com (KnoxPortal) with ESMTPA id 20200615090213eucas1p15932ac08c443956186734940fcd03e28~YrCKx47Km1085310853eucas1p1j; Mon, 15 Jun 2020 09:02:13 +0000 (GMT) Received: from eusmgms2.samsung.com (unknown [182.198.249.180]) by eusmtrp1.samsung.com (KnoxPortal) with ESMTP id 20200615090213eusmtrp169bd8ec901b52c11a60d4d01fe9b3bb8~YrCKxKUxG1019610196eusmtrp1M; Mon, 15 Jun 2020 09:02:13 +0000 (GMT) X-AuditID: cbfec7f2-ef1ff7000001ef66-a1-5ee73915d773 Received: from eusmtip1.samsung.com ( [203.254.199.221]) by eusmgms2.samsung.com (EUCPMTA) with SMTP id 00.D3.07950.51937EE5; Mon, 15 Jun 2020 10:02:13 +0100 (BST) Received: from idyukov.rnd.samsung.ru (unknown [106.109.129.29]) by eusmtip1.samsung.com (KnoxPortal) with ESMTPA id 20200615090212eusmtip10c0e6d23f66f79e17d2b7876690bc5a8~YrCKDIhsQ2966229662eusmtip11; Mon, 15 Jun 2020 09:02:12 +0000 (GMT) From: Ivan Dyukov To: dev@dpdk.org, i.dyukov@samsung.com, v.kuramshin@samsung.com, thomas@monjalon.net, david.marchand@redhat.com, ferruh.yigit@intel.com, arybchenko@solarflare.com, wei.zhao1@intel.com, jia.guo@intel.com, beilei.xing@intel.com, qiming.yang@intel.com, wenzhuo.lu@intel.com Date: Mon, 15 Jun 2020 12:01:51 +0300 Message-Id: <20200615090158.18912-4-i.dyukov@samsung.com> X-Mailer: git-send-email 2.17.1 In-Reply-To: <20200615090158.18912-1-i.dyukov@samsung.com> X-Brightmail-Tracker: H4sIAAAAAAAAA0VSfSyUcRz3u+e5ex5yPI7mOxW6spUNWdkejUL9ca21rK1sRK48w3LoDoX+ QE4iZUhok9eRl5H31BWXt3apedthkV7moq7My4ROOQ/rv8/38/L7fPfdj8QE+VwrMjQ8ipGG i8OEPCO8pWflvcNOV03AId2nffRUzgSPTp9L5tCtlWk8+ud8K4f+oFARdMFgEkFr/sxidM6z NkTPT/XhtGqskaBrlgYwuvmtDnkYi1aLyrmi0hczHFHPWC4h+vVyhCe611SFRNVff/O8eb5G bkFMWGgMI3U6FmgUkle8gkcuOdxQDymIBPR5fxoyJIE6AqnPm1EaMiIFVCWCobo7XHZYRKB9 oMPYYQHBq+4+tB0pGyjD9VhAVSB4vRrNmpYQDPfOcvQCjzoAqtRCjl6woHI4kJiSj+kFc8oN 1Mnlmxin7ODRpHzDRJJ8yhW6fjixBTZQXd+xaTGkjsJAZx7BllmD+vHi5ptAFRLQpa3gsIGT 0K/WbGFzmO1tIli8G1TZd3EWx8Nyg5pgw6kIJkvkW6bj0PT9HaFfAqMOQl371hKeMFyUwdXT QJnAqNZMT2MbMKvlIcbSfEhNEbBuIXS8GdyiAXRrxiwtgs6GDII9jwLBt4kcbiayKfjfVYRQ FbJkomWSYEbmHM5cd5SJJbLo8GDHKxGSBrTxYVTrvfNtaGnwshJRJBIa8zN9pgMEXHGMLFai REBiQgu+V78qQMAPEsfGMdKIS9LoMEamRLtIXGjJP1wy4y+ggsVRzFWGiWSk2yqHNLRKQBGj cfHzIy7u2U/3VpyTDOlG98gD+eOl9d65nsvgY+A7bt9VnKK7OHvBoNms7BRm2+X/kb8W55dY cL72i+bE2emVgWWtSfq1ucp2ZSjXJctWaJUWFMXzS0rqd7vv0ey1/uT2Drzm5sJ0d6Sp0q7R eixQ3tZ0+q/pLbn7iGKss/aMEJeFiJ3tMalM/A/RcDb3LAMAAA== X-Brightmail-Tracker: H4sIAAAAAAAAA+NgFvrFLMWRmVeSWpSXmKPExsVy+t/xu7qils/jDA584LN4MOUum0X3hxYm i+0rutgs3n3azmRxZ+9pdotZl5rYLZ7/ecVsMWXnDkaLTw9OsFicvrmZ3WLN14vMFlvP/GV0 4PH4tWApq8fiPS+ZPI7dnMbu8X7fVTaPvi2rGD1WP/nBFsAWpWdTlF9akqqQkV9cYqsUbWhh pGdoaaFnZGKpZ2hsHmtlZKqkb2eTkpqTWZZapG+XoJcxY+FPloKvuhXXL+9lb2B8pNLFyMkh IWAiseTiEhYQW0hgKaPEmabaLkYOoLiExOsnzBAlwhJ/rnWxdTFyAZV8ZpQ4feUAI0iCTUBD 4nTHPCaQhIjAEiaJvavOgSWEBWwkrrcsBetmEVCVmH2vlQlkKK+ApcSRN/oQQ+UlVm84AFbC KWAlcfHgDHaIGzIlXs2/wwphy0lcn/+FaQIj3wJGhlWMIqmlxbnpucVGesWJucWleel6yfm5 mxiB4b7t2M8tOxi73gUfYhTgYFTi4bUIfRYnxJpYVlyZe4hRgoNZSYTX6ezpOCHelMTKqtSi /Pii0pzU4kOMpkD3TWSWEk3OB8ZiXkm8oamhuYWlobmxubGZhZI4b4fAwRghgfTEktTs1NSC 1CKYPiYOTqkGxnpjW/5TChMkGY2MttwVVmGYknIxeCZHnPqNUN25fdvP/pj1UeJ3e+ezwKoj pqWsJW8f/p7n+zJ4zp+Vxr9j02dMdHhoWG6a4MrveyJuZ1f0Lv71X089vJz8pIRl6fwKsw3/ e763bOTOfPXx9DGRsFXNf0VT+yU91E7qcjjeN9op/JX30NO/C5RYijMSDbWYi4oTAQZd+6KN AgAA X-CMS-MailID: 20200615090213eucas1p15932ac08c443956186734940fcd03e28 X-Msg-Generator: CA X-RootMTR: 20200615090213eucas1p15932ac08c443956186734940fcd03e28 X-EPHeader: CA CMS-TYPE: 201P X-CMS-RootMailID: 20200615090213eucas1p15932ac08c443956186734940fcd03e28 References: <20200427095737.11082-1-i.dyukov@samsung.com> <20200615090158.18912-1-i.dyukov@samsung.com> Subject: [dpdk-dev] [PATCH v3 3/7] app: UNKNOWN link speed print format X-BeenThere: dev@dpdk.org X-Mailman-Version: 2.1.15 Precedence: list Reply-To: i.dyukov@samsung.com List-Id: DPDK patches and discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dev-bounces@dpdk.org Sender: "dev" Add usage of rte_eth_link_format function to example applications Signed-off-by: Ivan Dyukov --- app/proc-info/main.c | 9 +++------ app/test-pipeline/init.c | 10 ++++------ app/test-pmd/config.c | 19 +++++++++++-------- app/test-pmd/testpmd.c | 9 +-------- app/test/test_pmd_perf.c | 17 +++++++---------- 5 files changed, 26 insertions(+), 38 deletions(-) diff --git a/app/proc-info/main.c b/app/proc-info/main.c index abeca4aab..4a4c572c3 100644 --- a/app/proc-info/main.c +++ b/app/proc-info/main.c @@ -685,12 +685,9 @@ show_port(void) printf("Link get failed (port %u): %s\n", i, rte_strerror(-ret)); } else { - printf("\t -- link speed %d duplex %d," - " auto neg %d status %d\n", - link.link_speed, - link.link_duplex, - link.link_autoneg, - link.link_status); + rte_eth_link_printf("\t -- link speed: %M, duplex: %D," + " auto neg: %A, status: %S\n", + &link); } printf("\t -- promiscuous (%d)\n", rte_eth_promiscuous_get(i)); diff --git a/app/test-pipeline/init.c b/app/test-pipeline/init.c index 67d54ae05..9d5d209ea 100644 --- a/app/test-pipeline/init.c +++ b/app/test-pipeline/init.c @@ -155,7 +155,7 @@ static void app_ports_check_link(void) { uint32_t all_ports_up, i; - + char status_text[50]; all_ports_up = 1; for (i = 0; i < app.n_ports; i++) { @@ -173,12 +173,10 @@ app_ports_check_link(void) all_ports_up = 0; continue; } - - RTE_LOG(INFO, USER1, "Port %u (%u Gbps) %s\n", + rte_eth_link_format(status_text, 50, "(%G Gbps) %S", &link); + RTE_LOG(INFO, USER1, "Port %u %s\n", port, - link.link_speed / 1000, - link.link_status ? "UP" : "DOWN"); - + status_text); if (link.link_status == ETH_LINK_DOWN) all_ports_up = 0; } diff --git a/app/test-pmd/config.c b/app/test-pmd/config.c index 5381207cc..77fa9a0e9 100644 --- a/app/test-pmd/config.c +++ b/app/test-pmd/config.c @@ -600,10 +600,9 @@ port_infos_display(portid_t port_id) } else printf("\nmemory allocation on the socket: %u",port->socket_id); - printf("\nLink status: %s\n", (link.link_status) ? ("up") : ("down")); - printf("Link speed: %u Mbps\n", (unsigned) link.link_speed); - printf("Link duplex: %s\n", (link.link_duplex == ETH_LINK_FULL_DUPLEX) ? - ("full-duplex") : ("half-duplex")); + rte_eth_link_printf("\nLink status: %S\n" + "Link speed: %M Mbps\n" + "Link duplex: %D\n", &link); if (!rte_eth_dev_get_mtu(port_id, &mtu)) printf("MTU: %u\n", mtu); @@ -726,6 +725,8 @@ port_summary_display(portid_t port_id) struct rte_eth_link link; struct rte_eth_dev_info dev_info; char name[RTE_ETH_NAME_MAX_LEN]; + char status_text[6]; + char speed_text[12]; int ret; if (port_id_is_invalid(port_id, ENABLED_WARN)) { @@ -746,12 +747,14 @@ port_summary_display(portid_t port_id) if (ret != 0) return; - printf("%-4d %02X:%02X:%02X:%02X:%02X:%02X %-12s %-14s %-8s %uMbps\n", + rte_eth_link_format(status_text, 6, "%S", &link); + rte_eth_link_format(speed_text, 12, "%M", &link); + printf("%-4d %02X:%02X:%02X:%02X:%02X:%02X %-12s %-14s %-8s %sMbps\n", port_id, mac_addr.addr_bytes[0], mac_addr.addr_bytes[1], mac_addr.addr_bytes[2], mac_addr.addr_bytes[3], mac_addr.addr_bytes[4], mac_addr.addr_bytes[5], name, - dev_info.driver_name, (link.link_status) ? ("up") : ("down"), - (unsigned int) link.link_speed); + dev_info.driver_name, status_text, + speed_text); } void @@ -3897,7 +3900,7 @@ set_queue_rate_limit(portid_t port_id, uint16_t queue_idx, uint16_t rate) ret = eth_link_get_nowait_print_err(port_id, &link); if (ret < 0) return 1; - if (rate > link.link_speed) { + if (link.link_speed != UINT32_MAX && rate > link.link_speed) { printf("Invalid rate value:%u bigger than link speed: %u\n", rate, link.link_speed); return 1; diff --git a/app/test-pmd/testpmd.c b/app/test-pmd/testpmd.c index 9cbe6e9f6..621a1055c 100644 --- a/app/test-pmd/testpmd.c +++ b/app/test-pmd/testpmd.c @@ -3007,14 +3007,7 @@ check_all_ports_link_status(uint32_t port_mask) } /* print link status if flag set */ if (print_flag == 1) { - if (link.link_status) - printf( - "Port%d Link Up. speed %u Mbps- %s\n", - portid, link.link_speed, - (link.link_duplex == ETH_LINK_FULL_DUPLEX) ? - ("full-duplex") : ("half-duplex")); - else - printf("Port %d Link Down\n", portid); + rte_eth_link_printf(NULL, &link); continue; } /* clear all_ports_up flag if any link down */ diff --git a/app/test/test_pmd_perf.c b/app/test/test_pmd_perf.c index 352cd4715..8ce464b56 100644 --- a/app/test/test_pmd_perf.c +++ b/app/test/test_pmd_perf.c @@ -126,6 +126,7 @@ check_all_ports_link_status(uint16_t port_num, uint32_t port_mask) uint8_t count, all_ports_up, print_flag = 0; struct rte_eth_link link; int ret; + char link_status[50]; printf("Checking link statuses...\n"); fflush(stdout); @@ -146,16 +147,12 @@ check_all_ports_link_status(uint16_t port_num, uint32_t port_mask) /* print link status if flag set */ if (print_flag == 1) { - if (link.link_status) { - printf( - "Port%d Link Up. Speed %u Mbps - %s\n", - portid, link.link_speed, - (link.link_duplex == ETH_LINK_FULL_DUPLEX) ? - ("full-duplex") : ("half-duplex")); - if (link_mbps == 0) - link_mbps = link.link_speed; - } else - printf("Port %d Link Down\n", portid); + if (link.link_status && link_mbps == 0) + link_mbps = link.link_speed; + + rte_eth_link_format(link_status, 50, NULL, + &link); + printf("Port %d %s\n", portid, link_status); continue; } /* clear all_ports_up flag if any link down */ From patchwork Mon Jun 15 09:01:52 2020 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Ivan Dyukov X-Patchwork-Id: 71599 X-Patchwork-Delegate: ferruh.yigit@amd.com Return-Path: X-Original-To: patchwork@inbox.dpdk.org Delivered-To: patchwork@inbox.dpdk.org Received: from dpdk.org (dpdk.org [92.243.14.124]) by inbox.dpdk.org (Postfix) with ESMTP id 18002A0093; Mon, 15 Jun 2020 11:02:55 +0200 (CEST) Received: from [92.243.14.124] (localhost [127.0.0.1]) by dpdk.org (Postfix) with ESMTP id 88D3B100C; Mon, 15 Jun 2020 11:02:17 +0200 (CEST) Received: from mailout2.w1.samsung.com (mailout2.w1.samsung.com [210.118.77.12]) by dpdk.org (Postfix) with ESMTP id 165D35F69 for ; Mon, 15 Jun 2020 11:02:16 +0200 (CEST) Received: from eucas1p1.samsung.com (unknown [182.198.249.206]) by mailout2.w1.samsung.com (KnoxPortal) with ESMTP id 20200615090215euoutp0233bb465d7927c69ed9ba770c38ef67a0~YrCM6dpTE3224032240euoutp02e for ; Mon, 15 Jun 2020 09:02:15 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 mailout2.w1.samsung.com 20200615090215euoutp0233bb465d7927c69ed9ba770c38ef67a0~YrCM6dpTE3224032240euoutp02e DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=samsung.com; s=mail20170921; t=1592211735; bh=A6zgX5YAfMFydedCCJ/j1XKLfexQTiX5nuYt4o3aWGo=; h=From:To:Subject:Date:In-Reply-To:Reply-To:References:From; b=IMhe/qbQGkxtsHuGrnQrQ32EnI7/3PJwDCEOamSp9XDbvu8319VqUYcy2BZqdwJ0G O5S4e0zMEFUDoMLnp7vvY4ZQ0qOMugcXFMCdGwbV+/QXlrm3mzObFKRDn9w4NtzIzg MLhVKPVhvN8XFoNazbVJPJkUDkRehvJpRnjCK8Mo= Received: from eusmges1new.samsung.com (unknown [203.254.199.242]) by eucas1p1.samsung.com (KnoxPortal) with ESMTP id 20200615090215eucas1p13049cdbc360c516825e528268d72e14b~YrCMqa4Zn0033700337eucas1p1D; Mon, 15 Jun 2020 09:02:15 +0000 (GMT) Received: from eucas1p1.samsung.com ( [182.198.249.206]) by eusmges1new.samsung.com (EUCPMTA) with SMTP id F0.0F.61286.71937EE5; Mon, 15 Jun 2020 10:02:15 +0100 (BST) Received: from eusmtrp1.samsung.com (unknown [182.198.249.138]) by eucas1p2.samsung.com (KnoxPortal) with ESMTPA id 20200615090214eucas1p21d345bc83cb8b8403c54958b0e7f6462~YrCMXdVif0461704617eucas1p2_; Mon, 15 Jun 2020 09:02:14 +0000 (GMT) Received: from eusmgms2.samsung.com (unknown [182.198.249.180]) by eusmtrp1.samsung.com (KnoxPortal) with ESMTP id 20200615090214eusmtrp14f2424bf7f1e5037ad302033423aa739~YrCMWkPnD1019610196eusmtrp1P; Mon, 15 Jun 2020 09:02:14 +0000 (GMT) X-AuditID: cbfec7f2-f0bff7000001ef66-aa-5ee73917c7d1 Received: from eusmtip1.samsung.com ( [203.254.199.221]) by eusmgms2.samsung.com (EUCPMTA) with SMTP id A2.D3.07950.61937EE5; Mon, 15 Jun 2020 10:02:14 +0100 (BST) Received: from idyukov.rnd.samsung.ru (unknown [106.109.129.29]) by eusmtip1.samsung.com (KnoxPortal) with ESMTPA id 20200615090214eusmtip1741cfbeafd99a5ae15f0554eca14c18f~YrCLlrdG50240902409eusmtip1L; Mon, 15 Jun 2020 09:02:14 +0000 (GMT) From: Ivan Dyukov To: dev@dpdk.org, i.dyukov@samsung.com, v.kuramshin@samsung.com, thomas@monjalon.net, david.marchand@redhat.com, ferruh.yigit@intel.com, arybchenko@solarflare.com, wei.zhao1@intel.com, jia.guo@intel.com, beilei.xing@intel.com, qiming.yang@intel.com, wenzhuo.lu@intel.com Date: Mon, 15 Jun 2020 12:01:52 +0300 Message-Id: <20200615090158.18912-5-i.dyukov@samsung.com> X-Mailer: git-send-email 2.17.1 In-Reply-To: <20200615090158.18912-1-i.dyukov@samsung.com> X-Brightmail-Tracker: H4sIAAAAAAAAA+NgFprOKsWRmVeSWpSXmKPExsWy7djPc7rils/jDA4c5rV4MOUum0X3hxYm i+0rutgs3n3azmRxZ+9pdotZl5rYLZ7/ecVsMWXnDkaLTw9OsFicvrmZ3WLN14vMFlvP/GV0 4PH4tWApq8fiPS+ZPI7dnMbu8X7fVTaPvi2rGD1WP/nBFsAWxWWTkpqTWZZapG+XwJXx880d loJ33BVdK+obGF9xdDFycEgImEgcWybSxcjFISSwglFi5pelTBDOF0aJ1r2HWSGcz4wS6w80 s3QxcoJ1vPx0EqpqOaPEgR+PwBJCAl8ZJW78cQKx2QQ0JE53zAMrEhGYwiTR2DaTGSQhLOAo 8X3JVyYQm0VAVWJZxwmwOK+ApcS90zvYIDbIS6zecAAszilgJXHx4Ax2iAVyEtfnfwEbKiEw j13iwvEGRogGF4nzp+ZAnScs8er4FnYIW0bi9OQeqHi1xPdN19khmjsYJe4taoUqspfY8voc Oyg0mAU0Jdbv0ocEjKPEzX/WECafxI23giDFzEDmpG3TmSHCvBIdbUIQM5QkDpy8BBWWkPj7 mwci7CHRseoqNAz3Mkq0/fvOPoFRfhbCqgWMjKsYxVNLi3PTU4sN81LL9YoTc4tL89L1kvNz NzECk8vpf8c/7WD8einpEKMAB6MSD++E8GdxQqyJZcWVuYcYJTiYlUR4nc6ejhPiTUmsrEot yo8vKs1JLT7EKM3BoiTOa7zoZayQQHpiSWp2ampBahFMlomDU6qBcVn7sbXxZ/KnZO5Z4diX 4bzU13gnK1uk/iqrZN6KY+rpM+uZLqYJTOdPurrzytI5Gx9lMnu/4N39fE+Ors+5pITgtRUT Nko3SvbLcR6asaHa4viUK/Grv66fzP/+/TLn96LPH0VfkasUXMT96XT/qgb37rv3+V35VH8H aZmZSB9ZdfN8kNqT00osxRmJhlrMRcWJAECeLUYqAwAA X-Brightmail-Tracker: H4sIAAAAAAAAA+NgFvrFLMWRmVeSWpSXmKPExsVy+t/xu7pils/jDFr3m1k8mHKXzaL7QwuT xfYVXWwW7z5tZ7K4s/c0u8WsS03sFs//vGK2mLJzB6PFpwcnWCxO39zMbrHm60Vmi61n/jI6 8Hj8WrCU1WPxnpdMHsduTmP3eL/vKptH35ZVjB6rn/xgC2CL0rMpyi8tSVXIyC8usVWKNrQw 0jO0tNAzMrHUMzQ2j7UyMlXSt7NJSc3JLEst0rdL0Mv4+eYOS8E77oquFfUNjK84uhg5OSQE TCRefjrJBGILCSxllJg4ObqLkQMoLiHx+gkzRImwxJ9rXWxdjFxAJZ8ZJSZ9ecEIkmAT0JA4 3TGPCSQhIrCESWLvqnNgCWEBR4nvS76CDWURUJVY1nECbBKvgKXEvdM72CCmykus3nAALM4p YCVx8eAMdogjMiVezb/DCmHLSVyf/4VpAiPfAkaGVYwiqaXFuem5xUZ6xYm5xaV56XrJ+bmb GIHhvu3Yzy07GLveBR9iFOBgVOLhtQh9FifEmlhWXJl7iFGCg1lJhNfp7Ok4Id6UxMqq1KL8 +KLSnNTiQ4ymQAdOZJYSTc4HxmJeSbyhqaG5haWhubG5sZmFkjhvh8DBGCGB9MSS1OzU1ILU Ipg+Jg5OqQZGjhUHO9be/rZ9qcJihbOPTy/U314/J08tVkH638qNbPY3Qn8JfOA5mxtTxtdq JluaJfCuzel4xYkU7eo25of93ZcLBabdnq61cvsx+ZqXPx+L79muCIz8zgSOjz86wybtNIhh mxDqP+Vwd8G+nHsXpMW3Pb/nJLXJ/Y9z/WyX1udp/7SC/SSVWIozEg21mIuKEwFGZsy8jQIA AA== X-CMS-MailID: 20200615090214eucas1p21d345bc83cb8b8403c54958b0e7f6462 X-Msg-Generator: CA X-RootMTR: 20200615090214eucas1p21d345bc83cb8b8403c54958b0e7f6462 X-EPHeader: CA CMS-TYPE: 201P X-CMS-RootMailID: 20200615090214eucas1p21d345bc83cb8b8403c54958b0e7f6462 References: <20200427095737.11082-1-i.dyukov@samsung.com> <20200615090158.18912-1-i.dyukov@samsung.com> Subject: [dpdk-dev] [PATCH v3 4/7] doc: update sample app with unknown speed X-BeenThere: dev@dpdk.org X-Mailman-Version: 2.1.15 Precedence: list Reply-To: i.dyukov@samsung.com List-Id: DPDK patches and discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dev-bounces@dpdk.org Sender: "dev" Add usage of rte_eth_link_format function to example applications Signed-off-by: Ivan Dyukov --- doc/guides/sample_app_ug/link_status_intr.rst | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/doc/guides/sample_app_ug/link_status_intr.rst b/doc/guides/sample_app_ug/link_status_intr.rst index 04c40f285..d1ac35be8 100644 --- a/doc/guides/sample_app_ug/link_status_intr.rst +++ b/doc/guides/sample_app_ug/link_status_intr.rst @@ -158,6 +158,7 @@ An example callback function that has been written as indicated below. { struct rte_eth_link link; int ret; + char text[200]; RTE_SET_USED(param); @@ -169,11 +170,10 @@ An example callback function that has been written as indicated below. if (ret < 0) { printf("Failed to get port %d link status: %s\n\n", port_id, rte_strerror(-ret)); - } else if (link.link_status) { - printf("Port %d Link Up - speed %u Mbps - %s\n\n", port_id, (unsigned)link.link_speed, - (link.link_duplex == ETH_LINK_FULL_DUPLEX) ? ("full-duplex") : ("half-duplex")); - } else - printf("Port %d Link Down\n\n", port_id); + } else { + rte_eth_link_format(text, 200, NULL, &link); + printf("Port %d %s\n\n", port_id, text); + } } This function is called when a link status interrupt is present for the right port. From patchwork Mon Jun 15 09:01:53 2020 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Ivan Dyukov X-Patchwork-Id: 71600 X-Patchwork-Delegate: ferruh.yigit@amd.com Return-Path: X-Original-To: patchwork@inbox.dpdk.org Delivered-To: patchwork@inbox.dpdk.org Received: from dpdk.org (dpdk.org [92.243.14.124]) by inbox.dpdk.org (Postfix) with ESMTP id 61560A0093; Mon, 15 Jun 2020 11:03:09 +0200 (CEST) Received: from [92.243.14.124] (localhost [127.0.0.1]) by dpdk.org (Postfix) with ESMTP id 4C0A81BC25; Mon, 15 Jun 2020 11:02:19 +0200 (CEST) Received: from mailout1.w1.samsung.com (mailout1.w1.samsung.com [210.118.77.11]) by dpdk.org (Postfix) with ESMTP id C460F1B5E1 for ; Mon, 15 Jun 2020 11:02:17 +0200 (CEST) Received: from eucas1p1.samsung.com (unknown [182.198.249.206]) by mailout1.w1.samsung.com (KnoxPortal) with ESMTP id 20200615090217euoutp01f1b6fe37dbff6337302e86b47dd0f4f8~YrCOgYNBh2224122241euoutp015 for ; Mon, 15 Jun 2020 09:02:17 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 mailout1.w1.samsung.com 20200615090217euoutp01f1b6fe37dbff6337302e86b47dd0f4f8~YrCOgYNBh2224122241euoutp015 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=samsung.com; s=mail20170921; t=1592211737; bh=xT5j1nj1DdFTRPLN/UuV43EkTsRJYECBQbvaE2okZEk=; h=From:To:Subject:Date:In-Reply-To:Reply-To:References:From; b=iYTW6mFXp07/iGfEFrp52PTl/NFJrKw6EGRe929fm4ty6LD6SruVQulbpJkES2XCB bzQicfc8ZpER1lzFNVFC6BeGvct3QRi+jFd4yUeKvRqpEK0ea/tWGLth3UxAb4mDzq jXiFY2JHM1IuLLm+vIkmutc51zq5mtZHvBXLszMU= Received: from eusmges3new.samsung.com (unknown [203.254.199.245]) by eucas1p1.samsung.com (KnoxPortal) with ESMTP id 20200615090216eucas1p1f0dfbf662da31132576a6f30e9d82fc4~YrCON6k-y3274932749eucas1p1A; Mon, 15 Jun 2020 09:02:16 +0000 (GMT) Received: from eucas1p2.samsung.com ( [182.198.249.207]) by eusmges3new.samsung.com (EUCPMTA) with SMTP id 35.E0.60698.81937EE5; Mon, 15 Jun 2020 10:02:16 +0100 (BST) Received: from eusmtrp1.samsung.com (unknown [182.198.249.138]) by eucas1p2.samsung.com (KnoxPortal) with ESMTPA id 20200615090216eucas1p2bb5a2c7d6e0baff96990aeba2623bb3d~YrCN4HMlR0261002610eucas1p2y; Mon, 15 Jun 2020 09:02:16 +0000 (GMT) Received: from eusmgms2.samsung.com (unknown [182.198.249.180]) by eusmtrp1.samsung.com (KnoxPortal) with ESMTP id 20200615090216eusmtrp16ad542176b24841eb38be6abb633adde~YrCN3f3Mq1019610196eusmtrp1T; Mon, 15 Jun 2020 09:02:16 +0000 (GMT) X-AuditID: cbfec7f5-a29ff7000001ed1a-87-5ee7391860ec Received: from eusmtip1.samsung.com ( [203.254.199.221]) by eusmgms2.samsung.com (EUCPMTA) with SMTP id 47.D3.07950.81937EE5; Mon, 15 Jun 2020 10:02:16 +0100 (BST) Received: from idyukov.rnd.samsung.ru (unknown [106.109.129.29]) by eusmtip1.samsung.com (KnoxPortal) with ESMTPA id 20200615090215eusmtip12718fe41e31564cacdfb135c546b15a0~YrCNHG2rm2966229662eusmtip13; Mon, 15 Jun 2020 09:02:15 +0000 (GMT) From: Ivan Dyukov To: dev@dpdk.org, i.dyukov@samsung.com, v.kuramshin@samsung.com, thomas@monjalon.net, david.marchand@redhat.com, ferruh.yigit@intel.com, arybchenko@solarflare.com, wei.zhao1@intel.com, jia.guo@intel.com, beilei.xing@intel.com, qiming.yang@intel.com, wenzhuo.lu@intel.com Date: Mon, 15 Jun 2020 12:01:53 +0300 Message-Id: <20200615090158.18912-6-i.dyukov@samsung.com> X-Mailer: git-send-email 2.17.1 In-Reply-To: <20200615090158.18912-1-i.dyukov@samsung.com> X-Brightmail-Tracker: H4sIAAAAAAAAA0VSfSyUcRzf756753kcZ4+j+Q7LXNNoC6XysBLN2v1Ry1plZakrzzDu6M67 /qAw0UzcyFvsLAnzdt7OnNCGdt7OJtkwtUa0Ii9FTuU8Z/33+X5efp/vfvuSmLCYZ0dGyGIZ uUwSJcL53PaB7bHj4L0Y4jHecJqeV87idM5qOofuqMnG6e9rHRx6Rqsj6JKJRwS9aFjGaKWm E9Fr80NcWjetJuj6TT1Gtw3vIj8L8e/KlzxxVfcSRzwwXUiIV3omcXFuay0S133ewgPxW/yz oUxURDwjd/e9yw9/lq3HYsqJxPLmxFSUi2cjMxKoU7D1fg5lIz4ppGoQTOTrTcMGggKlxjSs I8hoe8w9iKQ2a/fjQuoVguJSjDVtIjCo0zlGAadcQJf1gmMUbCglB9IyizGjYE35w64qjWfE XMoZ3gznIiMWUN7wZKYUsQ2OUNfUu+83o3xA3/ecYNsOw1TFxv6jQBUR0Ne0jLGBAPix0shj sTUsD7YSLHYAXcFT09op8KtlimDDWQjmVBkm03lo/Tq6h0kSo1yhscudpf2hoqGKY6SBsoQP 36yMNLYH89uLMJYWQFamkHWLoPfdhIkG2N2xYGkxDDcM4ez/aBF0lWXx8pBjyf+uSoRqkS0T p5CGMQpPGZPgppBIFXGyMLf70dIWtHcwuj+Dm52ox3CvH1EkElkI8oIWQoQ8SbwiSdqPgMRE NoILI7oQoSBUkpTMyKPvyOOiGEU/sie5IluBp2rptpAKk8QykQwTw8gPVA5pZrd3BpZlYQuu wdUa8/rZ5I5IacH1G7rRy6/dq3PsvdaFTR7mBnpr9eHNv9FSImhkYzp19lCw1qpO/TP6apPN x/FAtdanOHB7zr/T5YHmS7PTSX5/t2+C03LZmdj1yp0KFX1RXX3krXPhuaPB15RXJv30moAU Lw04iMfHpCr+Jf/ATyKuIlxy4hgmV0j+AfQX5NQsAwAA X-Brightmail-Tracker: H4sIAAAAAAAAA+NgFvrFLMWRmVeSWpSXmKPExsVy+t/xu7oSls/jDP43Kls8mHKXzaL7QwuT xfYVXWwW7z5tZ7K4s/c0u8WsS03sFs//vGK2mLJzB6PFpwcnWCxO39zMbrHm60Vmi61n/jI6 8Hj8WrCU1WPxnpdMHsduTmP3eL/vKptH35ZVjB6rn/xgC2CL0rMpyi8tSVXIyC8usVWKNrQw 0jO0tNAzMrHUMzQ2j7UyMlXSt7NJSc3JLEst0rdL0MuY2HWRuWAue8XcjRUNjH1sXYycHBIC JhING/cC2VwcQgJLGSXmHH8I5HAAJSQkXj9hhqgRlvhzrQusXkjgM6PEu01xIDabgIbE6Y55 TCC9IgJLmCT2rjrHCJIQFnCU+LuokRXEZhFQldh/pg8szitgKdF5ZzYjxFB5idUbDoAt4BSw krh4cAY7xIJMiVfz77BC2HIS1+d/YZrAyLeAkWEVo0hqaXFuem6xkV5xYm5xaV66XnJ+7iZG YLhvO/Zzyw7GrnfBhxgFOBiVeHgtQp/FCbEmlhVX5h5ilOBgVhLhdTp7Ok6INyWxsiq1KD++ qDQntfgQoynQgROZpUST84GxmFcSb2hqaG5haWhubG5sZqEkztshcDBGSCA9sSQ1OzW1ILUI po+Jg1OqgbGsSP7fPnWN0p/9emv8bHg2XM04L6v+tq1tUstslp+uypuFP0ZEnj4sxGC5cT9j pMDuYJlLjauu3HGYdJXLacZ5ISvDiTLm6Rn1NdHXyjMzYrf2tPCYKhctfOqgKmzOc4l3j0fA 0wC3u4w/WFVF3v5fxLqB/9zUjyolvatjmSwCF0yZLy03SYmlOCPRUIu5qDgRAJd7os6NAgAA X-CMS-MailID: 20200615090216eucas1p2bb5a2c7d6e0baff96990aeba2623bb3d X-Msg-Generator: CA X-RootMTR: 20200615090216eucas1p2bb5a2c7d6e0baff96990aeba2623bb3d X-EPHeader: CA CMS-TYPE: 201P X-CMS-RootMailID: 20200615090216eucas1p2bb5a2c7d6e0baff96990aeba2623bb3d References: <20200427095737.11082-1-i.dyukov@samsung.com> <20200615090158.18912-1-i.dyukov@samsung.com> Subject: [dpdk-dev] [PATCH v3 5/7] net/ixgbe: return unknown speed in status X-BeenThere: dev@dpdk.org X-Mailman-Version: 2.1.15 Precedence: list Reply-To: i.dyukov@samsung.com List-Id: DPDK patches and discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dev-bounces@dpdk.org Sender: "dev" rte_ethdev has declared new NUM_UNKNOWN speed which could be used in case when no speed information is available Signed-off-by: Ivan Dyukov Reviewed-by: Wei Zhao --- drivers/net/ixgbe/ixgbe_ethdev.c | 6 +----- 1 file changed, 1 insertion(+), 5 deletions(-) diff --git a/drivers/net/ixgbe/ixgbe_ethdev.c b/drivers/net/ixgbe/ixgbe_ethdev.c index a4e5c539d..5b9b13058 100644 --- a/drivers/net/ixgbe/ixgbe_ethdev.c +++ b/drivers/net/ixgbe/ixgbe_ethdev.c @@ -4311,11 +4311,7 @@ ixgbe_dev_link_update_share(struct rte_eth_dev *dev, switch (link_speed) { default: case IXGBE_LINK_SPEED_UNKNOWN: - if (hw->device_id == IXGBE_DEV_ID_X550EM_A_1G_T || - hw->device_id == IXGBE_DEV_ID_X550EM_A_1G_T_L) - link.link_speed = ETH_SPEED_NUM_10M; - else - link.link_speed = ETH_SPEED_NUM_100M; + link.link_speed = ETH_SPEED_NUM_UNKNOWN; break; case IXGBE_LINK_SPEED_100_FULL: From patchwork Mon Jun 15 09:01:54 2020 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Ivan Dyukov X-Patchwork-Id: 71601 X-Patchwork-Delegate: ferruh.yigit@amd.com Return-Path: X-Original-To: patchwork@inbox.dpdk.org Delivered-To: patchwork@inbox.dpdk.org Received: from dpdk.org (dpdk.org [92.243.14.124]) by inbox.dpdk.org (Postfix) with ESMTP id 5ACE1A0093; Mon, 15 Jun 2020 11:03:19 +0200 (CEST) Received: from [92.243.14.124] (localhost [127.0.0.1]) by dpdk.org (Postfix) with ESMTP id 87C0F54AE; Mon, 15 Jun 2020 11:02:21 +0200 (CEST) Received: from mailout2.w1.samsung.com (mailout2.w1.samsung.com [210.118.77.12]) by dpdk.org (Postfix) with ESMTP id 2F0131B9BF for ; Mon, 15 Jun 2020 11:02:19 +0200 (CEST) Received: from eucas1p1.samsung.com (unknown [182.198.249.206]) by mailout2.w1.samsung.com (KnoxPortal) with ESMTP id 20200615090218euoutp02744cb4b9e87796ca4ee484d66bba7666~YrCQFlIOI3274832748euoutp02C for ; Mon, 15 Jun 2020 09:02:18 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 mailout2.w1.samsung.com 20200615090218euoutp02744cb4b9e87796ca4ee484d66bba7666~YrCQFlIOI3274832748euoutp02C DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=samsung.com; s=mail20170921; t=1592211739; bh=RnlYD+Sn70PZMzCtJxYR4w9oEJDvYzwy6GYddb6sZF8=; h=From:To:Subject:Date:In-Reply-To:Reply-To:References:From; b=NGDEx3bPfg4Ndz2Glmo0ANG8Wb45afqTAzEiW+JxjytV/bAM/4yIhFnodq3exDho9 jZK7WQR9mkfEV5VDUDYCmzGILei8Von2HhGu5BM2uzO/Jkq5UWXROjr4qX/teVS1uv Scm0sCmxIubes66+GtmQlc71yUo2Sa7Zml8fL2mI= Received: from eusmges3new.samsung.com (unknown [203.254.199.245]) by eucas1p1.samsung.com (KnoxPortal) with ESMTP id 20200615090218eucas1p1f52f2d8d7aa6f80957bb2842af89ac9e~YrCPzVs5K1961519615eucas1p16; Mon, 15 Jun 2020 09:02:18 +0000 (GMT) Received: from eucas1p2.samsung.com ( [182.198.249.207]) by eusmges3new.samsung.com (EUCPMTA) with SMTP id C7.E0.60698.A1937EE5; Mon, 15 Jun 2020 10:02:18 +0100 (BST) Received: from eusmtrp2.samsung.com (unknown [182.198.249.139]) by eucas1p1.samsung.com (KnoxPortal) with ESMTPA id 20200615090218eucas1p10282f1948a11d170ca0cec20ed3c7ad9~YrCPYJgE10030200302eucas1p1s; Mon, 15 Jun 2020 09:02:18 +0000 (GMT) Received: from eusmgms2.samsung.com (unknown [182.198.249.180]) by eusmtrp2.samsung.com (KnoxPortal) with ESMTP id 20200615090218eusmtrp2f41e9023cde63a140068eff72a781124~YrCPXWluC0283002830eusmtrp2g; Mon, 15 Jun 2020 09:02:18 +0000 (GMT) X-AuditID: cbfec7f5-a0fff7000001ed1a-92-5ee7391aeaca Received: from eusmtip1.samsung.com ( [203.254.199.221]) by eusmgms2.samsung.com (EUCPMTA) with SMTP id B9.D3.07950.A1937EE5; Mon, 15 Jun 2020 10:02:18 +0100 (BST) Received: from idyukov.rnd.samsung.ru (unknown [106.109.129.29]) by eusmtip1.samsung.com (KnoxPortal) with ESMTPA id 20200615090217eusmtip1fb89e5a0e73184eb4e72e4fa95d33032~YrCOlmEp73117731177eusmtip1B; Mon, 15 Jun 2020 09:02:17 +0000 (GMT) From: Ivan Dyukov To: dev@dpdk.org, i.dyukov@samsung.com, v.kuramshin@samsung.com, thomas@monjalon.net, david.marchand@redhat.com, ferruh.yigit@intel.com, arybchenko@solarflare.com, wei.zhao1@intel.com, jia.guo@intel.com, beilei.xing@intel.com, qiming.yang@intel.com, wenzhuo.lu@intel.com Date: Mon, 15 Jun 2020 12:01:54 +0300 Message-Id: <20200615090158.18912-7-i.dyukov@samsung.com> X-Mailer: git-send-email 2.17.1 In-Reply-To: <20200615090158.18912-1-i.dyukov@samsung.com> X-Brightmail-Tracker: H4sIAAAAAAAAA+NgFprOKsWRmVeSWpSXmKPExsWy7djP87pSls/jDP48UrN4MOUum0X3hxYm i+0rutgs3n3azmRxZ+9pdotZl5rYLZ7/ecVsMWXnDkaLTw9OsFicvrmZ3WLN14vMFlvP/GV0 4PH4tWApq8fiPS+ZPI7dnMbu8X7fVTaPvi2rGD1WP/nBFsAWxWWTkpqTWZZapG+XwJXxaLFR wQq+irtfOpkbGH9xdzFyckgImEg86FvB1sXIxSEksIJRYu/F9ywQzhdGiY6+R+wgVUICnxkl +i8Fw3R0X13ODBFfzijx5K43RMNXRolzc1aCNbAJaEic7pjHBJIQEZjCJNHYNhOsQ1jAQWLx n9tgRSwCqhJvus+ygNi8ApYSF5sXMUFskJdYveEAWD2ngJXExYMzoK6Qk7g+/wvYUAmBRewS l/rWs0E0uEgcblrIDmELS7w6vgXKlpH4v3M+1NBqie+brrNDNHcwStxb1ApVZC+x5fU5IJuD g1lAU2L9Ln2IsKPE5GUgb3IA2XwSN94KgoSZgcxJ26ZDhXklOtqEIKqVJA6cvAQVlpD4+5sH wvSQuNVRAQmevYwSzav+s01glJ+FsGoBI+MqRvHU0uLc9NRi47zUcr3ixNzi0rx0veT83E2M wORy+t/xrzsY9/1JOsQowMGoxMM7IfxZnBBrYllxZe4hRgkOZiURXqezp+OEeFMSK6tSi/Lj i0pzUosPMUpzsCiJ8xovehkrJJCeWJKanZpakFoEk2Xi4JRqYHTLKdEsumsi/GKyv8C/5ZLO DFb+R3cduizi3Dv3cvqy+5dWqOv/4vhhEF028d3poEsVu7huvGianbY0yGzCR6XrmhWLGnN3 fnpgOpv7qBTLT8ENdeWaL764L66e8Tj1xsUzkycwxz/kP6pSx/d98aXdlV8THbMTXU+FuEW7 WtXJOYSnZFmd61ViKc5INNRiLipOBAB6eL7jKgMAAA== X-Brightmail-Tracker: H4sIAAAAAAAAA+NgFvrNLMWRmVeSWpSXmKPExsVy+t/xu7pSls/jDF7NYLd4MOUum0X3hxYm i+0rutgs3n3azmRxZ+9pdotZl5rYLZ7/ecVsMWXnDkaLTw9OsFicvrmZ3WLN14vMFlvP/GV0 4PH4tWApq8fiPS+ZPI7dnMbu8X7fVTaPvi2rGD1WP/nBFsAWpWdTlF9akqqQkV9cYqsUbWhh pGdoaaFnZGKpZ2hsHmtlZKqkb2eTkpqTWZZapG+XoJfxaLFRwQq+irtfOpkbGH9xdzFyckgI mEh0X13O3MXIxSEksJRRYsfJN0AOB1BCQuL1E2aIGmGJP9e62CBqPjNK3GxuYARJsAloSJzu mMcEkhARWMIksXfVObCEsICDxOI/t9lBbBYBVYk33WdZQGxeAUuJi82LmCCmykus3nAAbAOn gJXExYMzwOqFBDIlXs2/wwphy0lcn/+FaQIj3wJGhlWMIqmlxbnpucVGesWJucWleel6yfm5 mxiBAb/t2M8tOxi73gUfYhTgYFTi4bUIfRYnxJpYVlyZe4hRgoNZSYTX6ezpOCHelMTKqtSi /Pii0pzU4kOMpkAHTmSWEk3OB0ZjXkm8oamhuYWlobmxubGZhZI4b4fAwRghgfTEktTs1NSC 1CKYPiYOTqkGxs0H2qyvR97ra7/5aLvocV+2S5prpfO7z059fWt6RYv3HZ2uu5k/DlZMTKgo EL5v8laN9+fUw7bX1hybudNynZHsUjGn9Vm7hNl+ruyetGrb7Vr+w3rix4PDww3CiytO3wv8 a6WsxqJVc9DyZpjg0ixhKZf67tNFCrdmch389u3AsfKA1c8/NSixFGckGmoxFxUnAgBbKCaD jgIAAA== X-CMS-MailID: 20200615090218eucas1p10282f1948a11d170ca0cec20ed3c7ad9 X-Msg-Generator: CA X-RootMTR: 20200615090218eucas1p10282f1948a11d170ca0cec20ed3c7ad9 X-EPHeader: CA CMS-TYPE: 201P X-CMS-RootMailID: 20200615090218eucas1p10282f1948a11d170ca0cec20ed3c7ad9 References: <20200427095737.11082-1-i.dyukov@samsung.com> <20200615090158.18912-1-i.dyukov@samsung.com> Subject: [dpdk-dev] [PATCH v3 6/7] net/i40e: return unknown speed in status X-BeenThere: dev@dpdk.org X-Mailman-Version: 2.1.15 Precedence: list Reply-To: i.dyukov@samsung.com List-Id: DPDK patches and discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dev-bounces@dpdk.org Sender: "dev" rte_ethdev has declared new NUM_UNKNOWN speed which could be used in case when no speed information is available and link is up. NUM_NONE should be returned, if link is down. Signed-off-by: Ivan Dyukov --- drivers/net/i40e/i40e_ethdev.c | 5 ++++- drivers/net/i40e/i40e_ethdev_vf.c | 10 +++++----- 2 files changed, 9 insertions(+), 6 deletions(-) diff --git a/drivers/net/i40e/i40e_ethdev.c b/drivers/net/i40e/i40e_ethdev.c index 749d85f54..d09b77674 100644 --- a/drivers/net/i40e/i40e_ethdev.c +++ b/drivers/net/i40e/i40e_ethdev.c @@ -2889,7 +2889,10 @@ update_link_aq(struct i40e_hw *hw, struct rte_eth_link *link, link->link_speed = ETH_SPEED_NUM_40G; break; default: - link->link_speed = ETH_SPEED_NUM_NONE; + if (link->link_status) + link->link_speed = ETH_SPEED_NUM_UNKNOWN; + else + link->link_speed = ETH_SPEED_NUM_NONE; break; } } diff --git a/drivers/net/i40e/i40e_ethdev_vf.c b/drivers/net/i40e/i40e_ethdev_vf.c index bb5d28a44..1da185485 100644 --- a/drivers/net/i40e/i40e_ethdev_vf.c +++ b/drivers/net/i40e/i40e_ethdev_vf.c @@ -2165,15 +2165,15 @@ i40evf_dev_link_update(struct rte_eth_dev *dev, new_link.link_speed = ETH_SPEED_NUM_40G; break; default: - new_link.link_speed = ETH_SPEED_NUM_NONE; + if (vf->link_up) + new_link.link_speed = ETH_SPEED_NUM_UNKNOWN; + else + new_link.link_speed = ETH_SPEED_NUM_NONE; break; } /* full duplex only */ new_link.link_duplex = ETH_LINK_FULL_DUPLEX; - new_link.link_status = vf->link_up && - new_link.link_speed != ETH_SPEED_NUM_NONE - ? ETH_LINK_UP - : ETH_LINK_DOWN; + new_link.link_status = vf->link_up ? ETH_LINK_UP : ETH_LINK_DOWN; new_link.link_autoneg = !(dev->data->dev_conf.link_speeds & ETH_LINK_SPEED_FIXED); From patchwork Mon Jun 15 09:01:55 2020 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Ivan Dyukov X-Patchwork-Id: 71602 X-Patchwork-Delegate: ferruh.yigit@amd.com Return-Path: X-Original-To: patchwork@inbox.dpdk.org Delivered-To: patchwork@inbox.dpdk.org Received: from dpdk.org (dpdk.org [92.243.14.124]) by inbox.dpdk.org (Postfix) with ESMTP id E278BA0093; Mon, 15 Jun 2020 11:03:31 +0200 (CEST) Received: from [92.243.14.124] (localhost [127.0.0.1]) by dpdk.org (Postfix) with ESMTP id 5B67C1BE98; Mon, 15 Jun 2020 11:02:23 +0200 (CEST) Received: from mailout2.w1.samsung.com (mailout2.w1.samsung.com [210.118.77.12]) by dpdk.org (Postfix) with ESMTP id AC7984C9D for ; Mon, 15 Jun 2020 11:02:20 +0200 (CEST) Received: from eucas1p2.samsung.com (unknown [182.198.249.207]) by mailout2.w1.samsung.com (KnoxPortal) with ESMTP id 20200615090220euoutp02e2eb8a5e80189b5467023095b8942b24~YrCReiypr3274832748euoutp02E for ; Mon, 15 Jun 2020 09:02:20 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 mailout2.w1.samsung.com 20200615090220euoutp02e2eb8a5e80189b5467023095b8942b24~YrCReiypr3274832748euoutp02E DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=samsung.com; s=mail20170921; t=1592211740; bh=1IJRNFPapx2JgSG1rviP/sukMFI/zSzOoripxUwPpBs=; h=From:To:Subject:Date:In-Reply-To:Reply-To:References:From; b=mArSxbRrCMyTWAUpplpr0XOtunD6i1gZAgEOQa0xiXFZ2rn7F/gQmXFxrUCJJPmLi ELOVdk1SrSJ7WF7IW/NNfCtREDIje08EOqCyyLPOi2CjQEQfKcMvBTkiFHk8fXeMwh emsxx6HzbR7IWstaM6OOEft+JDTdQc3tPvQWwKZw= Received: from eusmges1new.samsung.com (unknown [203.254.199.242]) by eucas1p2.samsung.com (KnoxPortal) with ESMTP id 20200615090220eucas1p2ba9e748238bf760addfa915642015013~YrCRKvAaH1969219692eucas1p2e; Mon, 15 Jun 2020 09:02:20 +0000 (GMT) Received: from eucas1p2.samsung.com ( [182.198.249.207]) by eusmges1new.samsung.com (EUCPMTA) with SMTP id F6.0F.61286.C1937EE5; Mon, 15 Jun 2020 10:02:20 +0100 (BST) Received: from eusmtrp2.samsung.com (unknown [182.198.249.139]) by eucas1p2.samsung.com (KnoxPortal) with ESMTPA id 20200615090219eucas1p2d6b0f803bec9e0e6570ca4a4806b17bd~YrCQ3jwmF0261002610eucas1p2A; Mon, 15 Jun 2020 09:02:19 +0000 (GMT) Received: from eusmgms2.samsung.com (unknown [182.198.249.180]) by eusmtrp2.samsung.com (KnoxPortal) with ESMTP id 20200615090219eusmtrp21c65a9ec50f106b9b122a16674f0780e~YrCQ2zNa_0247502475eusmtrp2U; Mon, 15 Jun 2020 09:02:19 +0000 (GMT) X-AuditID: cbfec7f2-ef1ff7000001ef66-c1-5ee7391ca3a8 Received: from eusmtip1.samsung.com ( [203.254.199.221]) by eusmgms2.samsung.com (EUCPMTA) with SMTP id 8B.D3.07950.B1937EE5; Mon, 15 Jun 2020 10:02:19 +0100 (BST) Received: from idyukov.rnd.samsung.ru (unknown [106.109.129.29]) by eusmtip1.samsung.com (KnoxPortal) with ESMTPA id 20200615090218eusmtip1768dac799065dacef9b17be82a135f76~YrCQEcMGr0241002410eusmtip1d; Mon, 15 Jun 2020 09:02:18 +0000 (GMT) From: Ivan Dyukov To: dev@dpdk.org, i.dyukov@samsung.com, v.kuramshin@samsung.com, thomas@monjalon.net, david.marchand@redhat.com, ferruh.yigit@intel.com, arybchenko@solarflare.com, wei.zhao1@intel.com, jia.guo@intel.com, beilei.xing@intel.com, qiming.yang@intel.com, wenzhuo.lu@intel.com Date: Mon, 15 Jun 2020 12:01:55 +0300 Message-Id: <20200615090158.18912-8-i.dyukov@samsung.com> X-Mailer: git-send-email 2.17.1 In-Reply-To: <20200615090158.18912-1-i.dyukov@samsung.com> X-Brightmail-Tracker: H4sIAAAAAAAAA+NgFprNKsWRmVeSWpSXmKPExsWy7djP87oyls/jDD69Z7d4MOUum0X3hxYm i+0rutgs3n3azmRxZ+9pdotZl5rYLZ7/ecVsMWXnDkaLTw9OsFicvrmZ3WLN14vMFlvP/GV0 4PH4tWApq8fiPS+ZPI7dnMbu8X7fVTaPvi2rGD1WP/nBFsAWxWWTkpqTWZZapG+XwJVx/sJj toJZ7BU3fkxlamD8z9rFyMkhIWAi8WXvV7YuRi4OIYEVjBL9c5azQDhfGCVOr2thgnA+M0p8 OD8RruVd4yKoquWMEmenT4dyvjJKvLp3gRGkik1AQ+J0xzywdhGBKUwSjW0zmUESwgL2EpM3 /ACzWQRUJSbe7mMBsXkFLCVuPPzIArFCXmL1hgNgNZwCVhIXD85gB7GFBOQkrs//AjZUQmAR u8SmtSvYIRpcJKbc+cgGYQtLvDq+BSouI/F/53wmCLta4vum6+wQzR2MEvcWtUIV2UtseX0O yObgYBbQlFi/Sx8i7Chx490fJpCwhACfxI23giBhZiBz0rbpzBBhXomONiGIaiWJAycvQYUl JP7+5oEIe0icujOLHRI+exkljj2ewTaBUX4Wwq4FjIyrGMVTS4tz01OLDfNSy/WKE3OLS/PS 9ZLzczcxApPM6X/HP+1g/Hop6RCjAAejEg/vhPBncUKsiWXFlbmHGCU4mJVEeJ3Ono4T4k1J rKxKLcqPLyrNSS0+xCjNwaIkzmu86GWskEB6YklqdmpqQWoRTJaJg1OqgdGWfU0Zh7nrMYm6 aC11n4SoSzWPPh8z0vkolW7+eaHKC9uCWu/CpVu+bdJZcaDLzcp6wk/OdcG8and/q2TNr30c 12bxksn+f/yniQsXJtTErjBMMO6/v+bc1tlJW3de8xS1OvMyJlk4Titn6oNAjQnTnBRvet8L 9TNp4J+bpW7FXVHoPX0usxJLcUaioRZzUXEiADzE1SguAwAA X-Brightmail-Tracker: H4sIAAAAAAAAA+NgFvrDLMWRmVeSWpSXmKPExsVy+t/xu7rSls/jDL4/0rV4MOUum0X3hxYm i+0rutgs3n3azmRxZ+9pdotZl5rYLZ7/ecVsMWXnDkaLTw9OsFicvrmZ3WLN14vMFlvP/GV0 4PH4tWApq8fiPS+ZPI7dnMbu8X7fVTaPvi2rGD1WP/nBFsAWpWdTlF9akqqQkV9cYqsUbWhh pGdoaaFnZGKpZ2hsHmtlZKqkb2eTkpqTWZZapG+XoJdx/sJjtoJZ7BU3fkxlamD8z9rFyMkh IWAi8a5xEUsXIxeHkMBSRomb96azdTFyACUkJF4/YYaoEZb4c62LDaLmM6PEp29dYAk2AQ2J 0x3zmEASIgJLmCT2rjrHCJIQFrCXmLzhB1gRi4CqxMTbfSwgNq+ApcSNhx9ZIKbKS6zecACs hlPASuLiwRnsILaQQKbEq/l3WCFsOYnr878wTWDkW8DIsIpRJLW0ODc9t9hIrzgxt7g0L10v OT93EyMw5Lcd+7llB2PXu+BDjAIcjEo8vBahz+KEWBPLiitzDzFKcDArifA6nT0dJ8SbklhZ lVqUH19UmpNafIjRFOjAicxSosn5wHjMK4k3NDU0t7A0NDc2NzazUBLn7RA4GCMkkJ5Ykpqd mlqQWgTTx8TBKdXAWCs6v3r3n/U+ny/tWFAhILmjpTNd08ftUEnJj+wg/prQar3pP/dtka5+ Nu284aIPqTtO13Qxej3RVBH9sZZpRr9J73WGV8svN+Vv3PvpVEnIS4WAubtbr/ypk5GX9WJV Nj1VXyFh3u3VdmxD91rZQ8FM7JyVKRYzXu7W11mQz1O1e9m0pvf7lFiKMxINtZiLihMB5FIL Oo8CAAA= X-CMS-MailID: 20200615090219eucas1p2d6b0f803bec9e0e6570ca4a4806b17bd X-Msg-Generator: CA X-RootMTR: 20200615090219eucas1p2d6b0f803bec9e0e6570ca4a4806b17bd X-EPHeader: CA CMS-TYPE: 201P X-CMS-RootMailID: 20200615090219eucas1p2d6b0f803bec9e0e6570ca4a4806b17bd References: <20200427095737.11082-1-i.dyukov@samsung.com> <20200615090158.18912-1-i.dyukov@samsung.com> Subject: [dpdk-dev] [PATCH v3 7/7] net/ice: return unknown speed in status X-BeenThere: dev@dpdk.org X-Mailman-Version: 2.1.15 Precedence: list Reply-To: i.dyukov@samsung.com List-Id: DPDK patches and discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dev-bounces@dpdk.org Sender: "dev" rte_ethdev has declared new NUM_UNKNOWN speed which could be used in case when no speed information is available and link is up. NUM_NONE should be returned, if link is down. Signed-off-by: Ivan Dyukov Reviewed-by: Ferruh Yigit --- drivers/net/ice/ice_ethdev.c | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/drivers/net/ice/ice_ethdev.c b/drivers/net/ice/ice_ethdev.c index d5110c439..1c0c087ea 100644 --- a/drivers/net/ice/ice_ethdev.c +++ b/drivers/net/ice/ice_ethdev.c @@ -3112,8 +3112,11 @@ ice_link_update(struct rte_eth_dev *dev, int wait_to_complete) link.link_speed = ETH_SPEED_NUM_100G; break; case ICE_AQ_LINK_SPEED_UNKNOWN: - default: PMD_DRV_LOG(ERR, "Unknown link speed"); + link.link_speed = ETH_SPEED_NUM_UNKNOWN; + break; + default: + PMD_DRV_LOG(ERR, "None link speed"); link.link_speed = ETH_SPEED_NUM_NONE; break; }