Patch Detail
get:
Show a patch.
patch:
Update a patch.
put:
Update a patch.
GET /api/patches/75393/?format=api
http://patchwork.dpdk.org/api/patches/75393/?format=api", "web_url": "http://patchwork.dpdk.org/project/dpdk/patch/20200811085246.28735-8-i.dyukov@samsung.com/", "project": { "id": 1, "url": "http://patchwork.dpdk.org/api/projects/1/?format=api", "name": "DPDK", "link_name": "dpdk", "list_id": "dev.dpdk.org", "list_email": "dev@dpdk.org", "web_url": "http://core.dpdk.org", "scm_url": "git://dpdk.org/dpdk", "webscm_url": "http://git.dpdk.org/dpdk", "list_archive_url": "https://inbox.dpdk.org/dev", "list_archive_url_format": "https://inbox.dpdk.org/dev/{}", "commit_url_format": "" }, "msgid": "<20200811085246.28735-8-i.dyukov@samsung.com>", "list_archive_url": "https://inbox.dpdk.org/dev/20200811085246.28735-8-i.dyukov@samsung.com", "date": "2020-08-11T08:52:26", "name": "[v9,07/24] examples: new link status print format", "commit_ref": null, "pull_url": null, "state": "superseded", "archived": true, "hash": "45e1af8d0f317c1ff94e2692d827027e46b3bdf1", "submitter": { "id": 783, "url": "http://patchwork.dpdk.org/api/people/783/?format=api", "name": "Ivan Dyukov", "email": "i.dyukov@samsung.com" }, "delegate": { "id": 319, "url": "http://patchwork.dpdk.org/api/users/319/?format=api", "username": "fyigit", "first_name": "Ferruh", "last_name": "Yigit", "email": "ferruh.yigit@amd.com" }, "mbox": "http://patchwork.dpdk.org/project/dpdk/patch/20200811085246.28735-8-i.dyukov@samsung.com/mbox/", "series": [ { "id": 11591, "url": "http://patchwork.dpdk.org/api/series/11591/?format=api", "web_url": "http://patchwork.dpdk.org/project/dpdk/list/?series=11591", "date": "2020-08-11T08:52:19", "name": "ethdev: allow unknown link speed", "version": 9, "mbox": "http://patchwork.dpdk.org/series/11591/mbox/" } ], "comments": "http://patchwork.dpdk.org/api/patches/75393/comments/", "check": "success", "checks": "http://patchwork.dpdk.org/api/patches/75393/checks/", "tags": {}, "related": [], "headers": { "Return-Path": "<dev-bounces@dpdk.org>", "X-Original-To": "patchwork@inbox.dpdk.org", "Delivered-To": "patchwork@inbox.dpdk.org", "Received": [ "from dpdk.org (dpdk.org [92.243.14.124])\n\tby inbox.dpdk.org (Postfix) with ESMTP id C2AD3A04AF;\n\tTue, 11 Aug 2020 10:54:59 +0200 (CEST)", "from [92.243.14.124] (localhost [127.0.0.1])\n\tby dpdk.org (Postfix) with ESMTP id 0D0A41C113;\n\tTue, 11 Aug 2020 10:53:17 +0200 (CEST)", "from mailout1.w1.samsung.com (mailout1.w1.samsung.com\n [210.118.77.11]) by dpdk.org (Postfix) with ESMTP id E6A381C0DA\n for <dev@dpdk.org>; Tue, 11 Aug 2020 10:53:15 +0200 (CEST)", "from eucas1p1.samsung.com (unknown [182.198.249.206])\n by mailout1.w1.samsung.com (KnoxPortal) with ESMTP id\n 20200811085315euoutp015c4277bde14b2a2f605164f3c417bae2~qKrnixvZG0826508265euoutp01o;\n Tue, 11 Aug 2020 08:53:15 +0000 (GMT)", "from eusmges2new.samsung.com (unknown [203.254.199.244]) by\n eucas1p1.samsung.com (KnoxPortal) with ESMTP id\n 20200811085315eucas1p1fb5b7cd34dcce0b78be2e7edfe8d49b4~qKrnA3qEX2534225342eucas1p1A;\n Tue, 11 Aug 2020 08:53:15 +0000 (GMT)", "from eucas1p1.samsung.com ( [182.198.249.206]) by\n eusmges2new.samsung.com (EUCPMTA) with SMTP id 2B.1C.05997.B7C523F5; Tue, 11\n Aug 2020 09:53:15 +0100 (BST)", "from eusmtrp1.samsung.com (unknown [182.198.249.138]) by\n eucas1p2.samsung.com (KnoxPortal) with ESMTPA id\n 20200811085314eucas1p267b60944d8b8b480521723275cd99415~qKrmfLl-S0122701227eucas1p2v;\n Tue, 11 Aug 2020 08:53:14 +0000 (GMT)", "from eusmgms2.samsung.com (unknown [182.198.249.180]) by\n eusmtrp1.samsung.com (KnoxPortal) with ESMTP id\n 20200811085314eusmtrp1c157a4bab8c023773050c2b7c22d0076~qKrmePZUl1606216062eusmtrp1R;\n Tue, 11 Aug 2020 08:53:14 +0000 (GMT)", "from eusmtip1.samsung.com ( [203.254.199.221]) by\n eusmgms2.samsung.com (EUCPMTA) with SMTP id AA.4D.06017.A7C523F5; Tue, 11\n Aug 2020 09:53:14 +0100 (BST)", "from idyukov.rnd.samsung.ru (unknown [106.109.129.29]) by\n eusmtip1.samsung.com (KnoxPortal) with ESMTPA id\n 20200811085312eusmtip1ab70307f21661feaafc51c2d9a1d28c8~qKrkpCqfg1725317253eusmtip1i;\n Tue, 11 Aug 2020 08:53:12 +0000 (GMT)" ], "DKIM-Filter": "OpenDKIM Filter v2.11.0 mailout1.w1.samsung.com\n 20200811085315euoutp015c4277bde14b2a2f605164f3c417bae2~qKrnixvZG0826508265euoutp01o", "DKIM-Signature": "v=1; a=rsa-sha256; c=relaxed/relaxed; d=samsung.com;\n s=mail20170921; t=1597135995;\n bh=fgiYd6i2vA5tgF+67PLgyOKYf0isxQoJ4Cnk9IPoyJU=;\n h=From:To:Subject:Date:In-Reply-To:Reply-To:References:From;\n b=XpX0kr27uh49x9/7sgOr09QHNpLaTzZ8CizyT9AOgpEqnX0k/NLnYZIaVDmoSE9eX\n s/fpjEy7/59o4Vt6twpfFb2I1z+JD6JUM6kXriU8xnlSlQPuVOPScNurW2cxFyan2M\n 46NgWKxO9KpWXDSgTXT71v7k3QJsDlNnMlLwPUpM=", "X-AuditID": "cbfec7f4-677ff7000000176d-ab-5f325c7bfdce", "From": "Ivan Dyukov <i.dyukov@samsung.com>", "To": "dev@dpdk.org, i.dyukov@samsung.com, v.kuramshin@samsung.com,\n thomas@monjalon.net, david.marchand@redhat.com, ferruh.yigit@intel.com,\n arybchenko@solarflare.com, wei.zhao1@intel.com, jia.guo@intel.com,\n beilei.xing@intel.com, qiming.yang@intel.com, wenzhuo.lu@intel.com,\n mb@smartsharesystems.com, stephen@networkplumber.org,\n nicolas.chautru@intel.com, bruce.richardson@intel.com,\n konstantin.ananyev@intel.com, cristian.dumitrescu@intel.com,\n radu.nicolau@intel.com, akhil.goyal@nxp.com, declan.doherty@intel.com,\n skori@marvell.com, pbhagavatula@marvell.com, jerinj@marvell.com,\n kirankumark@marvell.com, david.hunt@intel.com, anatoly.burakov@intel.com,\n xiaoyun.li@intel.com, jingjing.wu@intel.com, john.mcnamara@intel.com,\n jasvinder.singh@intel.com, byron.marohn@intel.com, yipeng1.wang@intel.com", "Date": "Tue, 11 Aug 2020 11:52:26 +0300", "Message-Id": "<20200811085246.28735-8-i.dyukov@samsung.com>", "X-Mailer": "git-send-email 2.17.1", "In-Reply-To": "<20200811085246.28735-1-i.dyukov@samsung.com>", "X-Brightmail-Tracker": [ "\n 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\n fBsnV6koKV7PLyPNkv4f32WPugkDAAA=" ], "X-CMS-MailID": "20200811085314eucas1p267b60944d8b8b480521723275cd99415", "X-Msg-Generator": "CA", "Content-Type": "text/plain; charset=\"utf-8\"", "X-RootMTR": "20200811085314eucas1p267b60944d8b8b480521723275cd99415", "X-EPHeader": "CA", "CMS-TYPE": "201P", "X-CMS-RootMailID": "20200811085314eucas1p267b60944d8b8b480521723275cd99415", "References": "<20200427095737.11082-1-i.dyukov@samsung.com>\n <20200811085246.28735-1-i.dyukov@samsung.com>\n <CGME20200811085314eucas1p267b60944d8b8b480521723275cd99415@eucas1p2.samsung.com>", "Subject": "[dpdk-dev] [PATCH v9 07/24] examples: new link status 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 <dev.dpdk.org>", "List-Unsubscribe": "<https://mails.dpdk.org/options/dev>,\n <mailto:dev-request@dpdk.org?subject=unsubscribe>", "List-Archive": "<http://mails.dpdk.org/archives/dev/>", "List-Post": "<mailto:dev@dpdk.org>", "List-Help": "<mailto:dev-request@dpdk.org?subject=help>", "List-Subscribe": "<https://mails.dpdk.org/listinfo/dev>,\n <mailto:dev-request@dpdk.org?subject=subscribe>", "Errors-To": "dev-bounces@dpdk.org", "Sender": "\"dev\" <dev-bounces@dpdk.org>" }, "content": "Add usage of rte_eth_link_to_str function to example\napplications:\n\t* ipv4_multicast\n\t* l2fwd-jobstats\n\t* l2fwd-keepalive\n\t* l3fwd\n\t* link_status_interrupt\n\nSigned-off-by: Ivan Dyukov <i.dyukov@samsung.com>\n---\n examples/ipv4_multicast/main.c | 14 ++++++------\n examples/l2fwd-jobstats/main.c | 13 +++++------\n examples/l2fwd-keepalive/main.c | 13 +++++------\n examples/l3fwd/main.c | 13 +++++------\n examples/link_status_interrupt/main.c | 31 +++++++++++----------------\n 5 files changed, 34 insertions(+), 50 deletions(-)", "diff": "diff --git a/examples/ipv4_multicast/main.c b/examples/ipv4_multicast/main.c\nindex 7e255c35a..92bc13047 100644\n--- a/examples/ipv4_multicast/main.c\n+++ b/examples/ipv4_multicast/main.c\n@@ -572,6 +572,7 @@ check_all_ports_link_status(uint32_t port_mask)\n \tuint8_t count, all_ports_up, print_flag = 0;\n \tstruct rte_eth_link link;\n \tint ret;\n+\tchar link_status_text[ETH_LINK_MAX_STR_LEN];\n \n \tprintf(\"\\nChecking link status\");\n \tfflush(stdout);\n@@ -591,14 +592,11 @@ check_all_ports_link_status(uint32_t port_mask)\n \t\t\t}\n \t\t\t/* print link status if flag set */\n \t\t\tif (print_flag == 1) {\n-\t\t\t\tif (link.link_status)\n-\t\t\t\t\tprintf(\n-\t\t\t\t\t\"Port%d Link Up. Speed %u Mbps - %s\\n\",\n-\t\t\t\t\tportid, link.link_speed,\n-\t\t\t\t(link.link_duplex == ETH_LINK_FULL_DUPLEX) ?\n-\t\t\t\t\t(\"full-duplex\") : (\"half-duplex\"));\n-\t\t\t\telse\n-\t\t\t\t\tprintf(\"Port %d Link Down\\n\", portid);\n+\t\t\t\trte_eth_link_to_str(link_status_text,\n+\t\t\t\t\tsizeof(link_status_text), NULL,\n+\t\t\t\t\t&link);\n+\t\t\t\tprintf(\"Port %d %s\\n\", portid,\n+\t\t\t\t link_status_text);\n \t\t\t\tcontinue;\n \t\t\t}\n \t\t\t/* clear all_ports_up flag if any link down */\ndiff --git a/examples/l2fwd-jobstats/main.c b/examples/l2fwd-jobstats/main.c\nindex 47a3b0976..62ff2d9d5 100644\n--- a/examples/l2fwd-jobstats/main.c\n+++ b/examples/l2fwd-jobstats/main.c\n@@ -689,6 +689,7 @@ check_all_ports_link_status(uint32_t port_mask)\n \tuint8_t count, all_ports_up, print_flag = 0;\n \tstruct rte_eth_link link;\n \tint ret;\n+\tchar link_status_text[ETH_LINK_MAX_STR_LEN];\n \n \tprintf(\"\\nChecking link status\");\n \tfflush(stdout);\n@@ -708,14 +709,10 @@ check_all_ports_link_status(uint32_t port_mask)\n \t\t\t}\n \t\t\t/* print link status if flag set */\n \t\t\tif (print_flag == 1) {\n-\t\t\t\tif (link.link_status)\n-\t\t\t\t\tprintf(\n-\t\t\t\t\t\"Port%d Link Up. Speed %u Mbps - %s\\n\",\n-\t\t\t\t\t\tportid, link.link_speed,\n-\t\t\t\t(link.link_duplex == ETH_LINK_FULL_DUPLEX) ?\n-\t\t\t\t\t(\"full-duplex\") : (\"half-duplex\"));\n-\t\t\t\telse\n-\t\t\t\t\tprintf(\"Port %d Link Down\\n\", portid);\n+\t\t\t\trte_eth_link_to_str(link_status_text,\n+\t\t\t\t\tsizeof(link_status_text), NULL, &link);\n+\t\t\t\tprintf(\"Port %d %s\\n\", portid,\n+\t\t\t\t link_status_text);\n \t\t\t\tcontinue;\n \t\t\t}\n \t\t\t/* clear all_ports_up flag if any link down */\ndiff --git a/examples/l2fwd-keepalive/main.c b/examples/l2fwd-keepalive/main.c\nindex b2742633b..cf4db2820 100644\n--- a/examples/l2fwd-keepalive/main.c\n+++ b/examples/l2fwd-keepalive/main.c\n@@ -453,6 +453,7 @@ check_all_ports_link_status(uint32_t port_mask)\n \tuint8_t count, all_ports_up, print_flag = 0;\n \tstruct rte_eth_link link;\n \tint ret;\n+\tchar link_status_text[ETH_LINK_MAX_STR_LEN];\n \n \tprintf(\"\\nChecking link status\");\n \tfflush(stdout);\n@@ -472,14 +473,10 @@ check_all_ports_link_status(uint32_t port_mask)\n \t\t\t}\n \t\t\t/* print link status if flag set */\n \t\t\tif (print_flag == 1) {\n-\t\t\t\tif (link.link_status)\n-\t\t\t\t\tprintf(\n-\t\t\t\t\t\"Port%d Link Up. Speed %u Mbps - %s\\n\",\n-\t\t\t\t\t\tportid, link.link_speed,\n-\t\t\t\t(link.link_duplex == ETH_LINK_FULL_DUPLEX) ?\n-\t\t\t\t\t(\"full-duplex\") : (\"half-duplex\"));\n-\t\t\t\telse\n-\t\t\t\t\tprintf(\"Port %d Link Down\\n\", portid);\n+\t\t\t\trte_eth_link_to_str(link_status_text,\n+\t\t\t\t\tsizeof(link_status_text), NULL, &link);\n+\t\t\t\tprintf(\"Port %d %s\\n\", portid,\n+\t\t\t\t link_status_text);\n \t\t\t\tcontinue;\n \t\t\t}\n \t\t\t/* clear all_ports_up flag if any link down */\ndiff --git a/examples/l3fwd/main.c b/examples/l3fwd/main.c\nindex 24ede4290..0e3b75c97 100644\n--- a/examples/l3fwd/main.c\n+++ b/examples/l3fwd/main.c\n@@ -810,6 +810,7 @@ check_all_ports_link_status(uint32_t port_mask)\n \tuint8_t count, all_ports_up, print_flag = 0;\n \tstruct rte_eth_link link;\n \tint ret;\n+\tchar link_status_text[ETH_LINK_MAX_STR_LEN];\n \n \tprintf(\"\\nChecking link status\");\n \tfflush(stdout);\n@@ -833,14 +834,10 @@ check_all_ports_link_status(uint32_t port_mask)\n \t\t\t}\n \t\t\t/* print link status if flag set */\n \t\t\tif (print_flag == 1) {\n-\t\t\t\tif (link.link_status)\n-\t\t\t\t\tprintf(\n-\t\t\t\t\t\"Port%d Link Up. Speed %u Mbps -%s\\n\",\n-\t\t\t\t\t\tportid, link.link_speed,\n-\t\t\t\t(link.link_duplex == ETH_LINK_FULL_DUPLEX) ?\n-\t\t\t\t\t(\"full-duplex\") : (\"half-duplex\"));\n-\t\t\t\telse\n-\t\t\t\t\tprintf(\"Port %d Link Down\\n\", portid);\n+\t\t\t\trte_eth_link_to_str(link_status_text,\n+\t\t\t\t\tsizeof(link_status_text), NULL, &link);\n+\t\t\t\tprintf(\"Port %d %s\\n\", portid,\n+\t\t\t\t link_status_text);\n \t\t\t\tcontinue;\n \t\t\t}\n \t\t\t/* clear all_ports_up flag if any link down */\ndiff --git a/examples/link_status_interrupt/main.c b/examples/link_status_interrupt/main.c\nindex 9bbcadfcf..3dcef4921 100644\n--- a/examples/link_status_interrupt/main.c\n+++ b/examples/link_status_interrupt/main.c\n@@ -118,6 +118,7 @@ print_stats(void)\n \tconst char clr[] = { 27, '[', '2', 'J', '\\0' };\n \tconst char topLeft[] = { 27, '[', '1', ';', '1', 'H','\\0' };\n \tint link_get_err;\n+\tchar link_speed_text[16];\n \n \t\t/* Clear screen and move to top left */\n \tprintf(\"%s%s\", clr, topLeft);\n@@ -131,9 +132,10 @@ print_stats(void)\n \n \t\tmemset(&link, 0, sizeof(link));\n \t\tlink_get_err = rte_eth_link_get_nowait(portid, &link);\n+\t\trte_eth_link_to_str(link_speed_text, 16, \"%M\", &link);\n \t\tprintf(\"\\nStatistics for port %u ------------------------------\"\n \t\t\t \"\\nLink status: %25s\"\n-\t\t\t \"\\nLink speed: %26u\"\n+\t\t\t \"\\nLink speed: %26s\"\n \t\t\t \"\\nLink duplex: %25s\"\n \t\t\t \"\\nPackets sent: %24\"PRIu64\n \t\t\t \"\\nPackets received: %20\"PRIu64\n@@ -141,8 +143,7 @@ print_stats(void)\n \t\t\t portid,\n \t\t\t link_get_err < 0 ? \"Link get failed\" :\n \t\t\t (link.link_status ? \"Link up\" : \"Link down\"),\n-\t\t\t link_get_err < 0 ? 0 :\n-\t\t\t\t\t(unsigned int)link.link_speed,\n+\t\t\t link_get_err < 0 ? \"0\" : link_speed_text,\n \t\t\t link_get_err < 0 ? \"Link get failed\" :\n \t\t\t (link.link_duplex == ETH_LINK_FULL_DUPLEX ? \\\n \t\t\t\t\t\"full-duplex\" : \"half-duplex\"),\n@@ -445,6 +446,7 @@ lsi_event_callback(uint16_t port_id, enum rte_eth_event_type type, void *param,\n {\n \tstruct rte_eth_link link;\n \tint ret;\n+\tchar link_status_text[ETH_LINK_MAX_STR_LEN];\n \n \tRTE_SET_USED(param);\n \tRTE_SET_USED(ret_param);\n@@ -457,13 +459,9 @@ lsi_event_callback(uint16_t port_id, enum rte_eth_event_type type, void *param,\n \t\t port_id, rte_strerror(-ret));\n \t\treturn ret;\n \t}\n-\tif (link.link_status) {\n-\t\tprintf(\"Port %d Link Up - speed %u Mbps - %s\\n\\n\",\n-\t\t\t\tport_id, (unsigned)link.link_speed,\n-\t\t\t(link.link_duplex == ETH_LINK_FULL_DUPLEX) ?\n-\t\t\t\t(\"full-duplex\") : (\"half-duplex\"));\n-\t} else\n-\t\tprintf(\"Port %d Link Down\\n\\n\", port_id);\n+\trte_eth_link_to_str(link_status_text, sizeof(link_status_text),\n+\t\t\t NULL, &link);\n+\tprintf(\"Port %d %s\\n\\n\", port_id, link_status_text);\n \n \treturn 0;\n }\n@@ -478,6 +476,7 @@ check_all_ports_link_status(uint16_t port_num, uint32_t port_mask)\n \tuint16_t portid;\n \tstruct rte_eth_link link;\n \tint ret;\n+\tchar link_status_text[ETH_LINK_MAX_STR_LEN];\n \n \tprintf(\"\\nChecking link status\");\n \tfflush(stdout);\n@@ -497,14 +496,10 @@ check_all_ports_link_status(uint16_t port_num, uint32_t port_mask)\n \t\t\t}\n \t\t\t/* print link status if flag set */\n \t\t\tif (print_flag == 1) {\n-\t\t\t\tif (link.link_status)\n-\t\t\t\t\tprintf(\n-\t\t\t\t\t\"Port%d Link Up. Speed %u Mbps - %s\\n\",\n-\t\t\t\t\t\tportid, link.link_speed,\n-\t\t\t\t(link.link_duplex == ETH_LINK_FULL_DUPLEX) ?\n-\t\t\t\t\t(\"full-duplex\") : (\"half-duplex\"));\n-\t\t\t\telse\n-\t\t\t\t\tprintf(\"Port %d Link Down\\n\", portid);\n+\t\t\t\trte_eth_link_to_str(link_status_text,\n+\t\t\t\t\tsizeof(link_status_text), NULL, &link);\n+\t\t\t\tprintf(\"Port %d %s\", portid,\n+\t\t\t\t link_status_text);\n \t\t\t\tcontinue;\n \t\t\t}\n \t\t\t/* clear all_ports_up flag if any link down */\n", "prefixes": [ "v9", "07/24" ] }{ "id": 75393, "url": "