From patchwork Sat Sep 24 08:13:26 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Dongdong Liu X-Patchwork-Id: 116811 X-Patchwork-Delegate: thomas@monjalon.net Return-Path: X-Original-To: patchwork@inbox.dpdk.org Delivered-To: patchwork@inbox.dpdk.org Received: from mails.dpdk.org (mails.dpdk.org [217.70.189.124]) by inbox.dpdk.org (Postfix) with ESMTP id 8EA21A0542; Sat, 24 Sep 2022 10:15:18 +0200 (CEST) Received: from [217.70.189.124] (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id D47D242BE8; Sat, 24 Sep 2022 10:15:14 +0200 (CEST) Received: from szxga02-in.huawei.com (szxga02-in.huawei.com [45.249.212.188]) by mails.dpdk.org (Postfix) with ESMTP id 56B5942BD0 for ; Sat, 24 Sep 2022 10:15:12 +0200 (CEST) Received: from kwepemi500017.china.huawei.com (unknown [172.30.72.53]) by szxga02-in.huawei.com (SkyGuard) with ESMTP id 4MZMC52jY0zHtjR; Sat, 24 Sep 2022 16:10:25 +0800 (CST) Received: from localhost.localdomain (10.28.79.22) by kwepemi500017.china.huawei.com (7.221.188.110) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2375.31; Sat, 24 Sep 2022 16:15:09 +0800 From: Dongdong Liu To: , , , , CC: "Min Hu (Connor)" , Dongdong Liu , Maryam Tahhan Subject: [PATCH v7 1/7] app/procinfo: add dpdk version dump Date: Sat, 24 Sep 2022 16:13:26 +0800 Message-ID: <20220924081332.21475-2-liudongdong3@huawei.com> X-Mailer: git-send-email 2.22.0 In-Reply-To: <20220924081332.21475-1-liudongdong3@huawei.com> References: <20220722091236.15469-1-liudongdong3@huawei.com> <20220924081332.21475-1-liudongdong3@huawei.com> MIME-Version: 1.0 X-Originating-IP: [10.28.79.22] X-ClientProxiedBy: dggems705-chm.china.huawei.com (10.3.19.182) To kwepemi500017.china.huawei.com (7.221.188.110) X-CFilter-Loop: Reflected X-BeenThere: dev@dpdk.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: DPDK patches and discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dev-bounces@dpdk.org From: "Min Hu (Connor)" Add support for dump dpdk version. The command is like: dpdk-proc-info -a xxxx:xx:xx.x --file-prefix=xxx -- --version Signed-off-by: Min Hu (Connor) Signed-off-by: Dongdong Liu Acked-by: Reshma Pattan --- app/proc-info/main.c | 19 ++++++++++++++++++- 1 file changed, 18 insertions(+), 1 deletion(-) diff --git a/app/proc-info/main.c b/app/proc-info/main.c index 1bfba5f60d..3f6d011049 100644 --- a/app/proc-info/main.c +++ b/app/proc-info/main.c @@ -39,6 +39,7 @@ #include #include #include +#include /* Maximum long option length for option parsing. */ #define MAX_LONG_OPT_SZ 64 @@ -102,6 +103,8 @@ static char *mempool_iter_name; /**< Enable dump regs. */ static uint32_t enable_dump_regs; static char *dump_regs_file_prefix; +/* Enable show DPDK version. */ +static uint32_t enable_shw_version; /**< display usage */ static void @@ -130,6 +133,7 @@ proc_info_usage(const char *prgname) " --show-crypto: to display crypto information\n" " --show-ring[=name]: to display ring information\n" " --show-mempool[=name]: to display mempool information\n" + " --version: to display DPDK version\n" " --iter-mempool=name: iterate mempool elements to display content\n" " --dump-regs=file-prefix: dump registers to file with the file-prefix\n", prgname); @@ -242,6 +246,7 @@ proc_info_parse_args(int argc, char **argv) {"show-mempool", optional_argument, NULL, 0}, {"iter-mempool", required_argument, NULL, 0}, {"dump-regs", required_argument, NULL, 0}, + {"version", 0, NULL, 0}, {NULL, 0, 0, 0} }; @@ -313,7 +318,9 @@ proc_info_parse_args(int argc, char **argv) "dump-regs", MAX_LONG_OPT_SZ)) { enable_dump_regs = 1; dump_regs_file_prefix = optarg; - } + } else if (!strncmp(long_option[option_index].name, + "version", MAX_LONG_OPT_SZ)) + enable_shw_version = 1; break; case 1: /* Print xstat single value given by name*/ @@ -1476,6 +1483,14 @@ dump_regs(char *file_prefix) } } +static void +show_version(void) +{ + snprintf(bdr_str, MAX_STRING_LEN, " show - DPDK version "); + STATS_BDR_STR(10, bdr_str); + printf("DPDK version: %s\n", rte_version()); +} + int main(int argc, char **argv) { @@ -1589,6 +1604,8 @@ main(int argc, char **argv) iter_mempool(mempool_iter_name); if (enable_dump_regs) dump_regs(dump_regs_file_prefix); + if (enable_shw_version) + show_version(); RTE_ETH_FOREACH_DEV(i) rte_eth_dev_close(i); From patchwork Sat Sep 24 08:13:27 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Dongdong Liu X-Patchwork-Id: 116814 X-Patchwork-Delegate: thomas@monjalon.net Return-Path: X-Original-To: patchwork@inbox.dpdk.org Delivered-To: patchwork@inbox.dpdk.org Received: from mails.dpdk.org (mails.dpdk.org [217.70.189.124]) by inbox.dpdk.org (Postfix) with ESMTP id 77B91A0542; Sat, 24 Sep 2022 10:15:33 +0200 (CEST) Received: from [217.70.189.124] (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id 7781442C0B; Sat, 24 Sep 2022 10:15:17 +0200 (CEST) Received: from szxga02-in.huawei.com (szxga02-in.huawei.com [45.249.212.188]) by mails.dpdk.org (Postfix) with ESMTP id 5AE9842BE1 for ; Sat, 24 Sep 2022 10:15:12 +0200 (CEST) Received: from kwepemi500017.china.huawei.com (unknown [172.30.72.57]) by szxga02-in.huawei.com (SkyGuard) with ESMTP id 4MZMC55Cl8zHtjS; Sat, 24 Sep 2022 16:10:25 +0800 (CST) Received: from localhost.localdomain (10.28.79.22) by kwepemi500017.china.huawei.com (7.221.188.110) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2375.31; Sat, 24 Sep 2022 16:15:09 +0800 From: Dongdong Liu To: , , , , CC: Dongdong Liu , Min Hu , Maryam Tahhan Subject: [PATCH v7 2/7] app/procinfo: add firmware version dump Date: Sat, 24 Sep 2022 16:13:27 +0800 Message-ID: <20220924081332.21475-3-liudongdong3@huawei.com> X-Mailer: git-send-email 2.22.0 In-Reply-To: <20220924081332.21475-1-liudongdong3@huawei.com> References: <20220722091236.15469-1-liudongdong3@huawei.com> <20220924081332.21475-1-liudongdong3@huawei.com> MIME-Version: 1.0 X-Originating-IP: [10.28.79.22] X-ClientProxiedBy: dggems705-chm.china.huawei.com (10.3.19.182) To kwepemi500017.china.huawei.com (7.221.188.110) X-CFilter-Loop: Reflected X-BeenThere: dev@dpdk.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: DPDK patches and discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dev-bounces@dpdk.org Add support for dump ethdev firmware version. The command is like: dpdk-proc-info -a xxxx:xx:xx.x --file-prefix=xxx -- --firmware-version Signed-off-by: Min Hu (Connor) Signed-off-by: Dongdong Liu Acked-by: Reshma Pattan --- app/proc-info/main.c | 35 +++++++++++++++++++++++++++++++++++ 1 file changed, 35 insertions(+) diff --git a/app/proc-info/main.c b/app/proc-info/main.c index 3f6d011049..ab4fee1138 100644 --- a/app/proc-info/main.c +++ b/app/proc-info/main.c @@ -45,6 +45,8 @@ #define MAX_LONG_OPT_SZ 64 #define MAX_STRING_LEN 256 +#define ETHDEV_FWVERS_LEN 32 + #define STATS_BDR_FMT "========================================" #define STATS_BDR_STR(w, s) printf("%.*s%s%.*s\n", w, \ STATS_BDR_FMT, s, w, STATS_BDR_FMT) @@ -105,6 +107,8 @@ static uint32_t enable_dump_regs; static char *dump_regs_file_prefix; /* Enable show DPDK version. */ static uint32_t enable_shw_version; +/* Enable show ethdev firmware version. */ +static uint32_t enable_shw_fw_version; /**< display usage */ static void @@ -134,6 +138,7 @@ proc_info_usage(const char *prgname) " --show-ring[=name]: to display ring information\n" " --show-mempool[=name]: to display mempool information\n" " --version: to display DPDK version\n" + " --firmware-version: to display ethdev firmware version\n" " --iter-mempool=name: iterate mempool elements to display content\n" " --dump-regs=file-prefix: dump registers to file with the file-prefix\n", prgname); @@ -247,6 +252,7 @@ proc_info_parse_args(int argc, char **argv) {"iter-mempool", required_argument, NULL, 0}, {"dump-regs", required_argument, NULL, 0}, {"version", 0, NULL, 0}, + {"firmware-version", 0, NULL, 0}, {NULL, 0, 0, 0} }; @@ -321,6 +327,9 @@ proc_info_parse_args(int argc, char **argv) } else if (!strncmp(long_option[option_index].name, "version", MAX_LONG_OPT_SZ)) enable_shw_version = 1; + else if (!strncmp(long_option[option_index].name, + "firmware-version", MAX_LONG_OPT_SZ)) + enable_shw_fw_version = 1; break; case 1: /* Print xstat single value given by name*/ @@ -1491,6 +1500,30 @@ show_version(void) printf("DPDK version: %s\n", rte_version()); } +static void +show_firmware_version(void) +{ + char fw_version[ETHDEV_FWVERS_LEN]; + uint16_t i; + + snprintf(bdr_str, MAX_STRING_LEN, " show - firmware version "); + STATS_BDR_STR(10, bdr_str); + + RTE_ETH_FOREACH_DEV(i) { + /* Skip if port is not in mask */ + if ((enabled_port_mask & (1ul << i)) == 0) + continue; + + if (rte_eth_dev_fw_version_get(i, fw_version, + ETHDEV_FWVERS_LEN) == 0) + printf("Ethdev port %u firmware version: %s\n", i, + fw_version); + else + printf("Ethdev port %u firmware version: %s\n", i, + "not available"); + } +} + int main(int argc, char **argv) { @@ -1606,6 +1639,8 @@ main(int argc, char **argv) dump_regs(dump_regs_file_prefix); if (enable_shw_version) show_version(); + if (enable_shw_fw_version) + show_firmware_version(); RTE_ETH_FOREACH_DEV(i) rte_eth_dev_close(i); From patchwork Sat Sep 24 08:13:28 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Dongdong Liu X-Patchwork-Id: 116812 X-Patchwork-Delegate: thomas@monjalon.net Return-Path: X-Original-To: patchwork@inbox.dpdk.org Delivered-To: patchwork@inbox.dpdk.org Received: from mails.dpdk.org (mails.dpdk.org [217.70.189.124]) by inbox.dpdk.org (Postfix) with ESMTP id 72C26A0542; Sat, 24 Sep 2022 10:15:23 +0200 (CEST) Received: from [217.70.189.124] (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id AF0FA42BF1; Sat, 24 Sep 2022 10:15:15 +0200 (CEST) Received: from szxga02-in.huawei.com (szxga02-in.huawei.com [45.249.212.188]) by mails.dpdk.org (Postfix) with ESMTP id 4A747400D5 for ; Sat, 24 Sep 2022 10:15:12 +0200 (CEST) Received: from kwepemi500017.china.huawei.com (unknown [172.30.72.55]) by szxga02-in.huawei.com (SkyGuard) with ESMTP id 4MZMCy2LP5zWh3F; Sat, 24 Sep 2022 16:11:10 +0800 (CST) Received: from localhost.localdomain (10.28.79.22) by kwepemi500017.china.huawei.com (7.221.188.110) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2375.31; Sat, 24 Sep 2022 16:15:09 +0800 From: Dongdong Liu To: , , , , CC: "Min Hu (Connor)" , Dongdong Liu , Maryam Tahhan Subject: [PATCH v7 3/7] app/procinfo: add RSS RETA dump Date: Sat, 24 Sep 2022 16:13:28 +0800 Message-ID: <20220924081332.21475-4-liudongdong3@huawei.com> X-Mailer: git-send-email 2.22.0 In-Reply-To: <20220924081332.21475-1-liudongdong3@huawei.com> References: <20220722091236.15469-1-liudongdong3@huawei.com> <20220924081332.21475-1-liudongdong3@huawei.com> MIME-Version: 1.0 X-Originating-IP: [10.28.79.22] X-ClientProxiedBy: dggems705-chm.china.huawei.com (10.3.19.182) To kwepemi500017.china.huawei.com (7.221.188.110) X-CFilter-Loop: Reflected X-BeenThere: dev@dpdk.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: DPDK patches and discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dev-bounces@dpdk.org From: "Min Hu (Connor)" This patch add support for RSS reta dump. The command is like: dpdk-proc-info -a xxxx:xx:xx.x --file-prefix=xxx -- --show-rss-reta Signed-off-by: Min Hu (Connor) Signed-off-by: Dongdong Liu Acked-by: Reshma Pattan --- app/proc-info/main.c | 57 ++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 57 insertions(+) diff --git a/app/proc-info/main.c b/app/proc-info/main.c index ab4fee1138..84fe93a3cb 100644 --- a/app/proc-info/main.c +++ b/app/proc-info/main.c @@ -46,6 +46,8 @@ #define MAX_STRING_LEN 256 #define ETHDEV_FWVERS_LEN 32 +#define RTE_RETA_CONF_GROUP_NUM 32 +#define DIV_ROUND_UP(n, d) (((n) + (d) - 1) / (d)) #define STATS_BDR_FMT "========================================" #define STATS_BDR_STR(w, s) printf("%.*s%s%.*s\n", w, \ @@ -109,6 +111,8 @@ static char *dump_regs_file_prefix; static uint32_t enable_shw_version; /* Enable show ethdev firmware version. */ static uint32_t enable_shw_fw_version; +/* Enable show RSS reta. */ +static uint32_t enable_shw_rss_reta; /**< display usage */ static void @@ -139,6 +143,7 @@ proc_info_usage(const char *prgname) " --show-mempool[=name]: to display mempool information\n" " --version: to display DPDK version\n" " --firmware-version: to display ethdev firmware version\n" + " --show-rss-reta: to display ports redirection table\n" " --iter-mempool=name: iterate mempool elements to display content\n" " --dump-regs=file-prefix: dump registers to file with the file-prefix\n", prgname); @@ -253,6 +258,7 @@ proc_info_parse_args(int argc, char **argv) {"dump-regs", required_argument, NULL, 0}, {"version", 0, NULL, 0}, {"firmware-version", 0, NULL, 0}, + {"show-rss-reta", 0, NULL, 0}, {NULL, 0, 0, 0} }; @@ -330,6 +336,9 @@ proc_info_parse_args(int argc, char **argv) else if (!strncmp(long_option[option_index].name, "firmware-version", MAX_LONG_OPT_SZ)) enable_shw_fw_version = 1; + else if (!strncmp(long_option[option_index].name, + "show-rss-reta", MAX_LONG_OPT_SZ)) + enable_shw_rss_reta = 1; break; case 1: /* Print xstat single value given by name*/ @@ -1524,6 +1533,52 @@ show_firmware_version(void) } } +static void +show_port_rss_reta_info(void) +{ + struct rte_eth_rss_reta_entry64 reta_conf[RTE_RETA_CONF_GROUP_NUM + 1]; + struct rte_eth_dev_info dev_info; + uint16_t i, idx, shift; + uint16_t num; + uint16_t id; + int ret; + + RTE_ETH_FOREACH_DEV(id) { + /* Skip if port is not in mask */ + if ((enabled_port_mask & (1ul << id)) == 0) + continue; + + snprintf(bdr_str, MAX_STRING_LEN, " Port %u ", id); + STATS_BDR_STR(5, bdr_str); + + ret = rte_eth_dev_info_get(id, &dev_info); + if (ret != 0) { + fprintf(stderr, "Error getting device info: %s\n", + strerror(-ret)); + return; + } + + num = DIV_ROUND_UP(dev_info.reta_size, RTE_ETH_RETA_GROUP_SIZE); + memset(reta_conf, 0, sizeof(reta_conf)); + for (i = 0; i < num; i++) + reta_conf[i].mask = ~0ULL; + + ret = rte_eth_dev_rss_reta_query(id, reta_conf, dev_info.reta_size); + if (ret != 0) { + fprintf(stderr, "Error getting RSS RETA info: %s\n", + strerror(-ret)); + return; + } + + for (i = 0; i < dev_info.reta_size; i++) { + idx = i / RTE_ETH_RETA_GROUP_SIZE; + shift = i % RTE_ETH_RETA_GROUP_SIZE; + printf("RSS RETA configuration: hash index=%u, queue=%u\n", + i, reta_conf[idx].reta[shift]); + } + } +} + int main(int argc, char **argv) { @@ -1641,6 +1696,8 @@ main(int argc, char **argv) show_version(); if (enable_shw_fw_version) show_firmware_version(); + if (enable_shw_rss_reta) + show_port_rss_reta_info(); RTE_ETH_FOREACH_DEV(i) rte_eth_dev_close(i); From patchwork Sat Sep 24 08:13:29 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Dongdong Liu X-Patchwork-Id: 116813 X-Patchwork-Delegate: thomas@monjalon.net Return-Path: X-Original-To: patchwork@inbox.dpdk.org Delivered-To: patchwork@inbox.dpdk.org Received: from mails.dpdk.org (mails.dpdk.org [217.70.189.124]) by inbox.dpdk.org (Postfix) with ESMTP id 9AF5AA0542; Sat, 24 Sep 2022 10:15:28 +0200 (CEST) Received: from [217.70.189.124] (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id 9645C42C00; Sat, 24 Sep 2022 10:15:16 +0200 (CEST) Received: from szxga02-in.huawei.com (szxga02-in.huawei.com [45.249.212.188]) by mails.dpdk.org (Postfix) with ESMTP id 52446406A2 for ; Sat, 24 Sep 2022 10:15:12 +0200 (CEST) Received: from kwepemi500017.china.huawei.com (unknown [172.30.72.57]) by szxga02-in.huawei.com (SkyGuard) with ESMTP id 4MZMCy5FvTzWh3H; Sat, 24 Sep 2022 16:11:10 +0800 (CST) Received: from localhost.localdomain (10.28.79.22) by kwepemi500017.china.huawei.com (7.221.188.110) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2375.31; Sat, 24 Sep 2022 16:15:10 +0800 From: Dongdong Liu To: , , , , CC: "Min Hu (Connor)" , Dongdong Liu , Maryam Tahhan Subject: [PATCH v7 4/7] app/procinfo: add module eeprom info dump Date: Sat, 24 Sep 2022 16:13:29 +0800 Message-ID: <20220924081332.21475-5-liudongdong3@huawei.com> X-Mailer: git-send-email 2.22.0 In-Reply-To: <20220924081332.21475-1-liudongdong3@huawei.com> References: <20220722091236.15469-1-liudongdong3@huawei.com> <20220924081332.21475-1-liudongdong3@huawei.com> MIME-Version: 1.0 X-Originating-IP: [10.28.79.22] X-ClientProxiedBy: dggems705-chm.china.huawei.com (10.3.19.182) To kwepemi500017.china.huawei.com (7.221.188.110) X-CFilter-Loop: Reflected X-BeenThere: dev@dpdk.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: DPDK patches and discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dev-bounces@dpdk.org From: "Min Hu (Connor)" This patch add support for module eeprom info dump. The command is like: dpdk-proc-info -a xxxx:xx:xx.x --file-prefix=xxx -- --show-module-eeprom Signed-off-by: Min Hu (Connor) Signed-off-by: Dongdong Liu Acked-by: Reshma Pattan --- app/proc-info/main.c | 53 ++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 53 insertions(+) diff --git a/app/proc-info/main.c b/app/proc-info/main.c index 84fe93a3cb..0e932f0245 100644 --- a/app/proc-info/main.c +++ b/app/proc-info/main.c @@ -48,6 +48,7 @@ #define ETHDEV_FWVERS_LEN 32 #define RTE_RETA_CONF_GROUP_NUM 32 #define DIV_ROUND_UP(n, d) (((n) + (d) - 1) / (d)) +#define EEPROM_DUMP_CHUNKSIZE 1024 #define STATS_BDR_FMT "========================================" #define STATS_BDR_STR(w, s) printf("%.*s%s%.*s\n", w, \ @@ -113,6 +114,9 @@ static uint32_t enable_shw_version; static uint32_t enable_shw_fw_version; /* Enable show RSS reta. */ static uint32_t enable_shw_rss_reta; +/* Enable show module eeprom information . */ +static uint32_t enable_shw_module_eeprom +; /**< display usage */ static void @@ -144,6 +148,7 @@ proc_info_usage(const char *prgname) " --version: to display DPDK version\n" " --firmware-version: to display ethdev firmware version\n" " --show-rss-reta: to display ports redirection table\n" + " --show-module-eeprom: to display ports module eeprom information\n" " --iter-mempool=name: iterate mempool elements to display content\n" " --dump-regs=file-prefix: dump registers to file with the file-prefix\n", prgname); @@ -259,6 +264,7 @@ proc_info_parse_args(int argc, char **argv) {"version", 0, NULL, 0}, {"firmware-version", 0, NULL, 0}, {"show-rss-reta", 0, NULL, 0}, + {"show-module-eeprom", 0, NULL, 0}, {NULL, 0, 0, 0} }; @@ -339,6 +345,9 @@ proc_info_parse_args(int argc, char **argv) else if (!strncmp(long_option[option_index].name, "show-rss-reta", MAX_LONG_OPT_SZ)) enable_shw_rss_reta = 1; + else if (!strncmp(long_option[option_index].name, + "show-module-eeprom", MAX_LONG_OPT_SZ)) + enable_shw_module_eeprom = 1; break; case 1: /* Print xstat single value given by name*/ @@ -1579,6 +1588,48 @@ show_port_rss_reta_info(void) } } +static void +show_module_eeprom_info(void) +{ + unsigned char bytes_eeprom[EEPROM_DUMP_CHUNKSIZE]; + struct rte_eth_dev_module_info module_info; + struct rte_dev_eeprom_info eeprom_info; + uint16_t i; + int ret; + + RTE_ETH_FOREACH_DEV(i) { + /* Skip if port is not in mask */ + if ((enabled_port_mask & (1ul << i)) == 0) + continue; + + snprintf(bdr_str, MAX_STRING_LEN, " Port %u ", i); + STATS_BDR_STR(5, bdr_str); + + ret = rte_eth_dev_get_module_info(i, &module_info); + if (ret != 0) { + fprintf(stderr, "Module EEPROM information read error: %s\n", + strerror(-ret)); + return; + } + + eeprom_info.offset = 0; + eeprom_info.length = module_info.eeprom_len; + eeprom_info.data = bytes_eeprom; + + ret = rte_eth_dev_get_module_eeprom(i, &eeprom_info); + if (ret != 0) { + fprintf(stderr, "Module EEPROM read error: %s\n", + strerror(-ret)); + return; + } + + rte_hexdump(stdout, "hexdump", eeprom_info.data, + eeprom_info.length); + printf("Finish -- Port: %u MODULE EEPROM length: %d bytes\n", + i, eeprom_info.length); + } +} + int main(int argc, char **argv) { @@ -1698,6 +1749,8 @@ main(int argc, char **argv) show_firmware_version(); if (enable_shw_rss_reta) show_port_rss_reta_info(); + if (enable_shw_module_eeprom) + show_module_eeprom_info(); RTE_ETH_FOREACH_DEV(i) rte_eth_dev_close(i); From patchwork Sat Sep 24 08:13:30 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Dongdong Liu X-Patchwork-Id: 116815 X-Patchwork-Delegate: thomas@monjalon.net Return-Path: X-Original-To: patchwork@inbox.dpdk.org Delivered-To: patchwork@inbox.dpdk.org Received: from mails.dpdk.org (mails.dpdk.org [217.70.189.124]) by inbox.dpdk.org (Postfix) with ESMTP id 48C50A0542; Sat, 24 Sep 2022 10:15:38 +0200 (CEST) Received: from [217.70.189.124] (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id 4A2FF42C18; Sat, 24 Sep 2022 10:15:18 +0200 (CEST) Received: from szxga02-in.huawei.com (szxga02-in.huawei.com [45.249.212.188]) by mails.dpdk.org (Postfix) with ESMTP id 35D1A42C07 for ; Sat, 24 Sep 2022 10:15:17 +0200 (CEST) Received: from kwepemi500017.china.huawei.com (unknown [172.30.72.56]) by szxga02-in.huawei.com (SkyGuard) with ESMTP id 4MZMD35zmgzWh2L; Sat, 24 Sep 2022 16:11:15 +0800 (CST) Received: from localhost.localdomain (10.28.79.22) by kwepemi500017.china.huawei.com (7.221.188.110) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2375.31; Sat, 24 Sep 2022 16:15:15 +0800 From: Dongdong Liu To: , , , , CC: Jie Hai , Dongdong Liu , Maryam Tahhan Subject: [PATCH v7 5/7] app/procinfo: add dump of Rx/Tx burst mode Date: Sat, 24 Sep 2022 16:13:30 +0800 Message-ID: <20220924081332.21475-6-liudongdong3@huawei.com> X-Mailer: git-send-email 2.22.0 In-Reply-To: <20220924081332.21475-1-liudongdong3@huawei.com> References: <20220722091236.15469-1-liudongdong3@huawei.com> <20220924081332.21475-1-liudongdong3@huawei.com> MIME-Version: 1.0 X-Originating-IP: [10.28.79.22] X-ClientProxiedBy: dggems702-chm.china.huawei.com (10.3.19.179) To kwepemi500017.china.huawei.com (7.221.188.110) X-CFilter-Loop: Reflected X-BeenThere: dev@dpdk.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: DPDK patches and discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dev-bounces@dpdk.org From: Jie Hai Add dump of Rx/Tx burst mode in --show-port. Sample output changes: - rx queue - -- 0 descriptors 0/1024 drop_en rx buffer size 2048 \ mempool mb_pool_0 socket 0 + -- 0 descriptors 0/1024 drop_en rx buffer size 2048 \ mempool mb_pool_0 socket 0 burst mode : Vector Neon - tx queue - -- 0 descriptors 1024 thresh 32/928 \ offloads : MBUF_FAST_FREE + -- 0 descriptors 1024 thresh 32/928 \ offloads : MBUF_FAST_FREE burst mode : Scalar Signed-off-by: Jie Hai Signed-off-by: Dongdong Liu Acked-by: Reshma Pattan --- app/proc-info/main.c | 15 +++++++++++++++ 1 file changed, 15 insertions(+) diff --git a/app/proc-info/main.c b/app/proc-info/main.c index 0e932f0245..be0e0c65f9 100644 --- a/app/proc-info/main.c +++ b/app/proc-info/main.c @@ -846,6 +846,7 @@ show_port(void) for (j = 0; j < dev_info.nb_rx_queues; j++) { struct rte_eth_rxq_info queue_info; + struct rte_eth_burst_mode mode; int count; ret = rte_eth_rx_queue_info_get(i, j, &queue_info); @@ -881,11 +882,18 @@ show_port(void) if (queue_info.conf.offloads != 0) show_offloads(queue_info.conf.offloads, rte_eth_dev_rx_offload_name); + if (rte_eth_rx_burst_mode_get(i, j, &mode) == 0) + printf(" burst mode : %s%s", + mode.info, + mode.flags & RTE_ETH_BURST_FLAG_PER_QUEUE ? + " (per queue)" : ""); + printf("\n"); } for (j = 0; j < dev_info.nb_tx_queues; j++) { struct rte_eth_txq_info queue_info; + struct rte_eth_burst_mode mode; ret = rte_eth_tx_queue_info_get(i, j, &queue_info); if (ret != 0) @@ -906,6 +914,13 @@ show_port(void) if (queue_info.conf.offloads != 0) show_offloads(queue_info.conf.offloads, rte_eth_dev_tx_offload_name); + + if (rte_eth_tx_burst_mode_get(i, j, &mode) == 0) + printf(" burst mode : %s%s", + mode.info, + mode.flags & RTE_ETH_BURST_FLAG_PER_QUEUE ? + " (per queue)" : ""); + printf("\n"); } From patchwork Sat Sep 24 08:13:31 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Dongdong Liu X-Patchwork-Id: 116816 X-Patchwork-Delegate: thomas@monjalon.net Return-Path: X-Original-To: patchwork@inbox.dpdk.org Delivered-To: patchwork@inbox.dpdk.org Received: from mails.dpdk.org (mails.dpdk.org [217.70.189.124]) by inbox.dpdk.org (Postfix) with ESMTP id 8FDE8A0542; Sat, 24 Sep 2022 10:15:44 +0200 (CEST) Received: from [217.70.189.124] (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id 7202042C28; Sat, 24 Sep 2022 10:15:20 +0200 (CEST) Received: from szxga02-in.huawei.com (szxga02-in.huawei.com [45.249.212.188]) by mails.dpdk.org (Postfix) with ESMTP id A2D3E42C10 for ; Sat, 24 Sep 2022 10:15:17 +0200 (CEST) Received: from kwepemi500017.china.huawei.com (unknown [172.30.72.56]) by szxga02-in.huawei.com (SkyGuard) with ESMTP id 4MZMD41sr7zWh2V; Sat, 24 Sep 2022 16:11:16 +0800 (CST) Received: from localhost.localdomain (10.28.79.22) by kwepemi500017.china.huawei.com (7.221.188.110) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2375.31; Sat, 24 Sep 2022 16:15:15 +0800 From: Dongdong Liu To: , , , , CC: Dongdong Liu , Maryam Tahhan Subject: [PATCH v7 6/7] app/procinfo: fix some wrong doxygen syntax Date: Sat, 24 Sep 2022 16:13:31 +0800 Message-ID: <20220924081332.21475-7-liudongdong3@huawei.com> X-Mailer: git-send-email 2.22.0 In-Reply-To: <20220924081332.21475-1-liudongdong3@huawei.com> References: <20220722091236.15469-1-liudongdong3@huawei.com> <20220924081332.21475-1-liudongdong3@huawei.com> MIME-Version: 1.0 X-Originating-IP: [10.28.79.22] X-ClientProxiedBy: dggems702-chm.china.huawei.com (10.3.19.179) To kwepemi500017.china.huawei.com (7.221.188.110) X-CFilter-Loop: Reflected X-BeenThere: dev@dpdk.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: DPDK patches and discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dev-bounces@dpdk.org This code is to do cleanup for the wrong doxygen syntax comments The DPDK API is documented using doxygen comment annotations in the header files. The procinfo code seems no need to use doxygen comment. Signed-off-by: Dongdong Liu Acked-by: Reshma Pattan --- app/proc-info/main.c | 40 ++++++++++++++++++++-------------------- 1 file changed, 20 insertions(+), 20 deletions(-) diff --git a/app/proc-info/main.c b/app/proc-info/main.c index be0e0c65f9..55704d2dd1 100644 --- a/app/proc-info/main.c +++ b/app/proc-info/main.c @@ -54,33 +54,33 @@ #define STATS_BDR_STR(w, s) printf("%.*s%s%.*s\n", w, \ STATS_BDR_FMT, s, w, STATS_BDR_FMT) -/**< mask of enabled ports */ +/* mask of enabled ports */ static unsigned long enabled_port_mask; -/**< Enable stats. */ +/* Enable stats. */ static uint32_t enable_stats; -/**< Enable xstats. */ +/* Enable xstats. */ static uint32_t enable_xstats; -/**< Enable collectd format*/ +/* Enable collectd format */ static uint32_t enable_collectd_format; -/**< FD to send collectd format messages to STDOUT*/ +/* FD to send collectd format messages to STDOUT */ static int stdout_fd; -/**< Host id process is running on */ +/* Host id process is running on */ static char host_id[MAX_LONG_OPT_SZ]; #ifdef RTE_LIB_METRICS -/**< Enable metrics. */ +/* Enable metrics. */ static uint32_t enable_metrics; #endif -/**< Enable stats reset. */ +/* Enable stats reset. */ static uint32_t reset_stats; -/**< Enable xstats reset. */ +/* Enable xstats reset. */ static uint32_t reset_xstats; -/**< Enable memory info. */ +/* Enable memory info. */ static uint32_t mem_info; -/**< Enable displaying xstat name. */ +/* Enable displaying xstat name. */ static uint32_t enable_xstats_name; static char *xstats_name; -/**< Enable xstats by ids. */ +/* Enable xstats by ids. */ #define MAX_NB_XSTATS_IDS 1024 static uint32_t nb_xstats_ids; static uint64_t xstats_ids[MAX_NB_XSTATS_IDS]; @@ -88,24 +88,24 @@ static uint64_t xstats_ids[MAX_NB_XSTATS_IDS]; /* show border */ static char bdr_str[MAX_STRING_LEN]; -/**< Enable show port. */ +/* Enable show port. */ static uint32_t enable_shw_port; /* Enable show port private info. */ static uint32_t enable_shw_port_priv; -/**< Enable show tm. */ +/* Enable show tm. */ static uint32_t enable_shw_tm; -/**< Enable show crypto. */ +/* Enable show crypto. */ static uint32_t enable_shw_crypto; -/**< Enable show ring. */ +/* Enable show ring. */ static uint32_t enable_shw_ring; static char *ring_name; -/**< Enable show mempool. */ +/* Enable show mempool. */ static uint32_t enable_shw_mempool; static char *mempool_name; -/**< Enable iter mempool. */ +/* Enable iter mempool. */ static uint32_t enable_iter_mempool; static char *mempool_iter_name; -/**< Enable dump regs. */ +/* Enable dump regs. */ static uint32_t enable_dump_regs; static char *dump_regs_file_prefix; /* Enable show DPDK version. */ @@ -118,7 +118,7 @@ static uint32_t enable_shw_rss_reta; static uint32_t enable_shw_module_eeprom ; -/**< display usage */ +/* display usage */ static void proc_info_usage(const char *prgname) { From patchwork Sat Sep 24 08:13:32 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Dongdong Liu X-Patchwork-Id: 116817 X-Patchwork-Delegate: thomas@monjalon.net Return-Path: X-Original-To: patchwork@inbox.dpdk.org Delivered-To: patchwork@inbox.dpdk.org Received: from mails.dpdk.org (mails.dpdk.org [217.70.189.124]) by inbox.dpdk.org (Postfix) with ESMTP id 5DDECA0542; Sat, 24 Sep 2022 10:15:49 +0200 (CEST) Received: from [217.70.189.124] (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id 4F33D42C10; Sat, 24 Sep 2022 10:15:21 +0200 (CEST) Received: from szxga08-in.huawei.com (szxga08-in.huawei.com [45.249.212.255]) by mails.dpdk.org (Postfix) with ESMTP id 128FD42C12 for ; Sat, 24 Sep 2022 10:15:18 +0200 (CEST) Received: from kwepemi500017.china.huawei.com (unknown [172.30.72.55]) by szxga08-in.huawei.com (SkyGuard) with ESMTP id 4MZMCt0FPHz1P6qL; Sat, 24 Sep 2022 16:11:06 +0800 (CST) Received: from localhost.localdomain (10.28.79.22) by kwepemi500017.china.huawei.com (7.221.188.110) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2375.31; Sat, 24 Sep 2022 16:15:16 +0800 From: Dongdong Liu To: , , , , CC: Dongdong Liu , Maryam Tahhan Subject: [PATCH v7 7/7] doc: add some extended features in procinfo guide Date: Sat, 24 Sep 2022 16:13:32 +0800 Message-ID: <20220924081332.21475-8-liudongdong3@huawei.com> X-Mailer: git-send-email 2.22.0 In-Reply-To: <20220924081332.21475-1-liudongdong3@huawei.com> References: <20220722091236.15469-1-liudongdong3@huawei.com> <20220924081332.21475-1-liudongdong3@huawei.com> MIME-Version: 1.0 X-Originating-IP: [10.28.79.22] X-ClientProxiedBy: dggems702-chm.china.huawei.com (10.3.19.179) To kwepemi500017.china.huawei.com (7.221.188.110) X-CFilter-Loop: Reflected X-BeenThere: dev@dpdk.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: DPDK patches and discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dev-bounces@dpdk.org Add the below extended features in procinfo guide. --show-port-private --version --firmware-version --show-rss-reta --show-module-eeprom Signed-off-by: Dongdong Liu Acked-by: Reshma Pattan --- doc/guides/tools/proc_info.rst | 15 +++++++++++++++ 1 file changed, 15 insertions(+) diff --git a/doc/guides/tools/proc_info.rst b/doc/guides/tools/proc_info.rst index 9772d97ef0..7c73a33093 100644 --- a/doc/guides/tools/proc_info.rst +++ b/doc/guides/tools/proc_info.rst @@ -69,6 +69,21 @@ mempool. For invalid or no mempool name, whole list is dump. The iter-mempool parameter iterates and displays mempool elements specified by name. For invalid or no mempool name no elements are displayed. +**--show-port-private** +The show-port-private parameter displays ports private information. + +**--version** +The version parameter displays DPDK version. + +**--firmware-version** +The firmware-version parameter displays ethdev firmware version. + +**--show-rss-reta** +The show-rss-reta parameter displays ports rss redirection table. + +**--show-module-eeprom** +The show-module-eeprom parameter displays ports module eeprom information. + Limitations -----------