From patchwork Tue Oct 11 11:18:36 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Dongdong Liu X-Patchwork-Id: 117901 X-Patchwork-Delegate: david.marchand@redhat.com 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 B8927A0545; Tue, 11 Oct 2022 13:20:42 +0200 (CEST) Received: from [217.70.189.124] (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id 8A71442D84; Tue, 11 Oct 2022 13:20:39 +0200 (CEST) Received: from szxga03-in.huawei.com (szxga03-in.huawei.com [45.249.212.189]) by mails.dpdk.org (Postfix) with ESMTP id B228C42D42 for ; Tue, 11 Oct 2022 13:20:37 +0200 (CEST) Received: from kwepemi500017.china.huawei.com (unknown [172.30.72.55]) by szxga03-in.huawei.com (SkyGuard) with ESMTP id 4MmtYn0Ynlz1CF16; Tue, 11 Oct 2022 19:18:05 +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; Tue, 11 Oct 2022 19:20:35 +0800 From: Dongdong Liu To: , , , , CC: "Min Hu (Connor)" , Dongdong Liu , Maryam Tahhan Subject: [PATCH v10 1/8] app/procinfo: add dpdk version dump Date: Tue, 11 Oct 2022 19:18:36 +0800 Message-ID: <20221011111843.3311-2-liudongdong3@huawei.com> X-Mailer: git-send-email 2.22.0 In-Reply-To: <20221011111843.3311-1-liudongdong3@huawei.com> References: <20220722091236.15469-1-liudongdong3@huawei.com> <20221011111843.3311-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: "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 d52ac8a038..d459c706d1 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 Tue Oct 11 11:18:37 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Dongdong Liu X-Patchwork-Id: 117902 X-Patchwork-Delegate: david.marchand@redhat.com 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 47DD9A0545; Tue, 11 Oct 2022 13:20:48 +0200 (CEST) Received: from [217.70.189.124] (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id 5E6F342D89; Tue, 11 Oct 2022 13:20:40 +0200 (CEST) Received: from szxga03-in.huawei.com (szxga03-in.huawei.com [45.249.212.189]) by mails.dpdk.org (Postfix) with ESMTP id B06A642D38 for ; Tue, 11 Oct 2022 13:20:37 +0200 (CEST) Received: from kwepemi500017.china.huawei.com (unknown [172.30.72.55]) by szxga03-in.huawei.com (SkyGuard) with ESMTP id 4MmtYn3vqwz1CF0j; Tue, 11 Oct 2022 19:18:05 +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; Tue, 11 Oct 2022 19:20:35 +0800 From: Dongdong Liu To: , , , , CC: Dongdong Liu , Min Hu , Maryam Tahhan Subject: [PATCH v10 2/8] app/procinfo: add firmware version dump Date: Tue, 11 Oct 2022 19:18:37 +0800 Message-ID: <20221011111843.3311-3-liudongdong3@huawei.com> X-Mailer: git-send-email 2.22.0 In-Reply-To: <20221011111843.3311-1-liudongdong3@huawei.com> References: <20220722091236.15469-1-liudongdong3@huawei.com> <20221011111843.3311-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 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 d459c706d1..7b407c47d0 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 Tue Oct 11 11:18:38 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Dongdong Liu X-Patchwork-Id: 117904 X-Patchwork-Delegate: david.marchand@redhat.com 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 9E4B0A0545; Tue, 11 Oct 2022 13:21:00 +0200 (CEST) Received: from [217.70.189.124] (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id 8244842D9B; Tue, 11 Oct 2022 13:20:42 +0200 (CEST) Received: from szxga01-in.huawei.com (szxga01-in.huawei.com [45.249.212.187]) by mails.dpdk.org (Postfix) with ESMTP id A15F442D0C for ; Tue, 11 Oct 2022 13:20:38 +0200 (CEST) Received: from kwepemi500017.china.huawei.com (unknown [172.30.72.54]) by szxga01-in.huawei.com (SkyGuard) with ESMTP id 4MmtWR2WNbzlVvF; Tue, 11 Oct 2022 19:16:03 +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; Tue, 11 Oct 2022 19:20:36 +0800 From: Dongdong Liu To: , , , , CC: "Min Hu (Connor)" , Dongdong Liu , Maryam Tahhan Subject: [PATCH v10 3/8] app/procinfo: add RSS RETA dump Date: Tue, 11 Oct 2022 19:18:38 +0800 Message-ID: <20221011111843.3311-4-liudongdong3@huawei.com> X-Mailer: git-send-email 2.22.0 In-Reply-To: <20221011111843.3311-1-liudongdong3@huawei.com> References: <20220722091236.15469-1-liudongdong3@huawei.com> <20221011111843.3311-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: "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 7b407c47d0..4021279b17 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 Tue Oct 11 11:18:39 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Dongdong Liu X-Patchwork-Id: 117903 X-Patchwork-Delegate: david.marchand@redhat.com 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 9B508A0545; Tue, 11 Oct 2022 13:20:55 +0200 (CEST) Received: from [217.70.189.124] (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id 90EC542D95; Tue, 11 Oct 2022 13:20:41 +0200 (CEST) Received: from szxga03-in.huawei.com (szxga03-in.huawei.com [45.249.212.189]) by mails.dpdk.org (Postfix) with ESMTP id A8B7F42D42 for ; Tue, 11 Oct 2022 13:20:38 +0200 (CEST) Received: from kwepemi500017.china.huawei.com (unknown [172.30.72.54]) by szxga03-in.huawei.com (SkyGuard) with ESMTP id 4MmtYp3hrPz1CDyJ; Tue, 11 Oct 2022 19:18: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; Tue, 11 Oct 2022 19:20:36 +0800 From: Dongdong Liu To: , , , , CC: "Min Hu (Connor)" , Dongdong Liu , Maryam Tahhan Subject: [PATCH v10 4/8] app/procinfo: add module eeprom info dump Date: Tue, 11 Oct 2022 19:18:39 +0800 Message-ID: <20221011111843.3311-5-liudongdong3@huawei.com> X-Mailer: git-send-email 2.22.0 In-Reply-To: <20221011111843.3311-1-liudongdong3@huawei.com> References: <20220722091236.15469-1-liudongdong3@huawei.com> <20221011111843.3311-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: "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 | 52 ++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 52 insertions(+) diff --git a/app/proc-info/main.c b/app/proc-info/main.c index 4021279b17..90e7e41e38 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,8 @@ 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 +147,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 +263,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 +344,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 +1587,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 +1748,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 Tue Oct 11 11:18:40 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Dongdong Liu X-Patchwork-Id: 117905 X-Patchwork-Delegate: david.marchand@redhat.com 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 AC8FAA0545; Tue, 11 Oct 2022 13:21:05 +0200 (CEST) Received: from [217.70.189.124] (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id 6631D42D94; Tue, 11 Oct 2022 13:20:45 +0200 (CEST) Received: from szxga08-in.huawei.com (szxga08-in.huawei.com [45.249.212.255]) by mails.dpdk.org (Postfix) with ESMTP id 35E8A42D88 for ; Tue, 11 Oct 2022 13:20:44 +0200 (CEST) Received: from kwepemi500017.china.huawei.com (unknown [172.30.72.55]) by szxga08-in.huawei.com (SkyGuard) with ESMTP id 4MmtWY1J1yz1M8yD; Tue, 11 Oct 2022 19:16:09 +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; Tue, 11 Oct 2022 19:20:42 +0800 From: Dongdong Liu To: , , , , CC: Jie Hai , Dongdong Liu , Maryam Tahhan Subject: [PATCH v10 5/8] app/procinfo: add dump of Rx/Tx burst mode Date: Tue, 11 Oct 2022 19:18:40 +0800 Message-ID: <20221011111843.3311-6-liudongdong3@huawei.com> X-Mailer: git-send-email 2.22.0 In-Reply-To: <20221011111843.3311-1-liudongdong3@huawei.com> References: <20220722091236.15469-1-liudongdong3@huawei.com> <20221011111843.3311-1-liudongdong3@huawei.com> MIME-Version: 1.0 X-Originating-IP: [10.28.79.22] X-ClientProxiedBy: dggems706-chm.china.huawei.com (10.3.19.183) 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 90e7e41e38..67217ab68b 100644 --- a/app/proc-info/main.c +++ b/app/proc-info/main.c @@ -845,6 +845,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); @@ -880,11 +881,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) @@ -905,6 +913,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 Tue Oct 11 11:18:41 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Dongdong Liu X-Patchwork-Id: 117906 X-Patchwork-Delegate: david.marchand@redhat.com 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 B2B1CA0545; Tue, 11 Oct 2022 13:21:10 +0200 (CEST) Received: from [217.70.189.124] (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id 4B38F42DA0; Tue, 11 Oct 2022 13:20:47 +0200 (CEST) Received: from szxga01-in.huawei.com (szxga01-in.huawei.com [45.249.212.187]) by mails.dpdk.org (Postfix) with ESMTP id 69FDA42D8E for ; Tue, 11 Oct 2022 13:20:44 +0200 (CEST) Received: from kwepemi500017.china.huawei.com (unknown [172.30.72.57]) by szxga01-in.huawei.com (SkyGuard) with ESMTP id 4MmtY85C5wzpVVw; Tue, 11 Oct 2022 19:17:32 +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; Tue, 11 Oct 2022 19:20:42 +0800 From: Dongdong Liu To: , , , , CC: Dongdong Liu , Maryam Tahhan Subject: [PATCH v10 6/8] app/procinfo: fix some wrong doxygen syntax Date: Tue, 11 Oct 2022 19:18:41 +0800 Message-ID: <20221011111843.3311-7-liudongdong3@huawei.com> X-Mailer: git-send-email 2.22.0 In-Reply-To: <20221011111843.3311-1-liudongdong3@huawei.com> References: <20220722091236.15469-1-liudongdong3@huawei.com> <20221011111843.3311-1-liudongdong3@huawei.com> MIME-Version: 1.0 X-Originating-IP: [10.28.79.22] X-ClientProxiedBy: dggems706-chm.china.huawei.com (10.3.19.183) 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 67217ab68b..fe8285d2ce 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. */ @@ -117,7 +117,7 @@ static uint32_t enable_shw_rss_reta; /* Enable show module eeprom information. */ static uint32_t enable_shw_module_eeprom; -/**< display usage */ +/* display usage */ static void proc_info_usage(const char *prgname) { From patchwork Tue Oct 11 11:18:42 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Dongdong Liu X-Patchwork-Id: 117907 X-Patchwork-Delegate: david.marchand@redhat.com 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 D6606A0545; Tue, 11 Oct 2022 13:21:15 +0200 (CEST) Received: from [217.70.189.124] (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id 49F2242DA6; Tue, 11 Oct 2022 13:20:48 +0200 (CEST) Received: from szxga08-in.huawei.com (szxga08-in.huawei.com [45.249.212.255]) by mails.dpdk.org (Postfix) with ESMTP id 8F80842D90 for ; Tue, 11 Oct 2022 13:20:44 +0200 (CEST) Received: from kwepemi500017.china.huawei.com (unknown [172.30.72.54]) by szxga08-in.huawei.com (SkyGuard) with ESMTP id 4MmtWZ060fz1M8j5; Tue, 11 Oct 2022 19:16:09 +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; Tue, 11 Oct 2022 19:20:42 +0800 From: Dongdong Liu To: , , , , CC: Dongdong Liu , Min Hu , Maryam Tahhan Subject: [PATCH v10 7/8] app/procinfo: support descriptor dump Date: Tue, 11 Oct 2022 19:18:42 +0800 Message-ID: <20221011111843.3311-8-liudongdong3@huawei.com> X-Mailer: git-send-email 2.22.0 In-Reply-To: <20221011111843.3311-1-liudongdong3@huawei.com> References: <20220722091236.15469-1-liudongdong3@huawei.com> <20221011111843.3311-1-liudongdong3@huawei.com> MIME-Version: 1.0 X-Originating-IP: [10.28.79.22] X-ClientProxiedBy: dggems706-chm.china.huawei.com (10.3.19.183) 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 patch support Rx/Tx descriptor dump The command is like: dpdk-proc-info -a xxxx:xx:xx.x --file-prefix=xxx -- --show-rx-descriptor queue_id:offset:num dpdk-proc-info -a xxxx:xx:xx.x --file-prefix=xxx -- --show-tx-descriptor queue_id:offset:num queue_id: A queue identifier on this port. offset: The offset of the descriptor starting from tail. num: The number of the descriptors to dump. Signed-off-by: Min Hu (Connor) Signed-off-by: Dongdong Liu Acked-by: Reshma Pattan --- app/proc-info/main.c | 104 +++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 104 insertions(+) diff --git a/app/proc-info/main.c b/app/proc-info/main.c index fe8285d2ce..53e852a07c 100644 --- a/app/proc-info/main.c +++ b/app/proc-info/main.c @@ -117,6 +117,21 @@ static uint32_t enable_shw_rss_reta; /* Enable show module eeprom information. */ static uint32_t enable_shw_module_eeprom; +/* Enable dump Rx/Tx descriptor. */ +static uint32_t enable_shw_rx_desc_dump; +static uint32_t enable_shw_tx_desc_dump; + +#define DESC_PARAM_NUM 3 + +struct desc_param { + uint16_t queue_id; /* A queue identifier on this port. */ + uint16_t offset; /* The offset of the descriptor starting from tail. */ + uint16_t num; /* The number of the descriptors to dump. */ +}; + +static struct desc_param rx_desc_param; +static struct desc_param tx_desc_param; + /* display usage */ static void proc_info_usage(const char *prgname) @@ -148,6 +163,14 @@ proc_info_usage(const char *prgname) " --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" + " --show-rx-descriptor queue_id:offset:num to display ports Rx descriptor information. " + "queue_id: A Rx queue identifier on this port. " + "offset: The offset of the descriptor starting from tail. " + "num: The number of the descriptors to dump.\n" + " --show-tx-descriptor queue_id:offset:num to display ports Tx descriptor information. " + "queue_id: A Tx queue identifier on this port. " + "offset: The offset of the descriptor starting from tail. " + "num: The number of the descriptors to dump.\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); @@ -200,6 +223,19 @@ parse_xstats_ids(char *list, uint64_t *ids, int limit) { return length; } +static int +parse_descriptor_param(char *list, struct desc_param *desc) +{ + int ret; + + ret = sscanf(list, "%hu:%hu:%hu", &desc->queue_id, &desc->offset, + &desc->num); + if (ret != DESC_PARAM_NUM) + return -EINVAL; + + return 0; +} + static int proc_info_preparse_args(int argc, char **argv) { @@ -264,6 +300,8 @@ proc_info_parse_args(int argc, char **argv) {"firmware-version", 0, NULL, 0}, {"show-rss-reta", 0, NULL, 0}, {"show-module-eeprom", 0, NULL, 0}, + {"show-rx-descriptor", required_argument, NULL, 1}, + {"show-tx-descriptor", required_argument, NULL, 1}, {NULL, 0, 0, 0} }; @@ -367,6 +405,26 @@ proc_info_parse_args(int argc, char **argv) return -1; } nb_xstats_ids = ret; + } else if (!strncmp(long_option[option_index].name, + "show-rx-descriptor", MAX_LONG_OPT_SZ)) { + int ret = parse_descriptor_param(optarg, + &rx_desc_param); + if (ret < 0) { + fprintf(stderr, "Error parsing Rx descriptor param: %s\n", + strerror(-ret)); + return -1; + } + enable_shw_rx_desc_dump = 1; + } else if (!strncmp(long_option[option_index].name, + "show-tx-descriptor", MAX_LONG_OPT_SZ)) { + int ret = parse_descriptor_param(optarg, + &tx_desc_param); + if (ret < 0) { + fprintf(stderr, "Error parsing Tx descriptor param: %s\n", + strerror(-ret)); + return -1; + } + enable_shw_tx_desc_dump = 1; } break; default: @@ -1644,6 +1702,48 @@ show_module_eeprom_info(void) } } +static void +nic_rx_descriptor_display(uint16_t port_id, struct desc_param *desc) +{ + uint16_t queue_id = desc->queue_id; + uint16_t offset = desc->offset; + uint16_t num = desc->num; + int ret; + + snprintf(bdr_str, MAX_STRING_LEN, " show - Rx descriptor "); + STATS_BDR_STR(10, bdr_str); + + printf("Dump ethdev Rx descriptor for port %u, queue %u, offset %u, num %u\n", + port_id, queue_id, offset, num); + + ret = rte_eth_rx_descriptor_dump(port_id, queue_id, offset, num, + stdout); + if (ret < 0) + fprintf(stderr, "Error dumping ethdev Rx descriptor: %s\n", + strerror(-ret)); +} + +static void +nic_tx_descriptor_display(uint16_t port_id, struct desc_param *desc) +{ + uint16_t queue_id = desc->queue_id; + uint16_t offset = desc->offset; + uint16_t num = desc->num; + int ret; + + snprintf(bdr_str, MAX_STRING_LEN, " show - Tx descriptor "); + STATS_BDR_STR(10, bdr_str); + + printf("Dump ethdev Tx descriptor for port %u, queue %u, offset %u, num %u\n", + port_id, queue_id, offset, num); + + ret = rte_eth_tx_descriptor_dump(port_id, queue_id, offset, num, + stdout); + if (ret < 0) + fprintf(stderr, "Error dumping ethdev Tx descriptor: %s\n", + strerror(-ret)); +} + int main(int argc, char **argv) { @@ -1732,6 +1832,10 @@ main(int argc, char **argv) metrics_display(i); #endif + if (enable_shw_rx_desc_dump) + nic_rx_descriptor_display(i, &rx_desc_param); + if (enable_shw_tx_desc_dump) + nic_tx_descriptor_display(i, &tx_desc_param); } #ifdef RTE_LIB_METRICS From patchwork Tue Oct 11 11:18:43 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Dongdong Liu X-Patchwork-Id: 117908 X-Patchwork-Delegate: david.marchand@redhat.com 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 2F9A0A0545; Tue, 11 Oct 2022 13:21:21 +0200 (CEST) Received: from [217.70.189.124] (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id 2128242DAB; Tue, 11 Oct 2022 13:20:49 +0200 (CEST) Received: from szxga02-in.huawei.com (szxga02-in.huawei.com [45.249.212.188]) by mails.dpdk.org (Postfix) with ESMTP id 1DE2B42D88 for ; Tue, 11 Oct 2022 13:20:45 +0200 (CEST) Received: from kwepemi500017.china.huawei.com (unknown [172.30.72.55]) by szxga02-in.huawei.com (SkyGuard) with ESMTP id 4MmtW45nJ6zHtxn; Tue, 11 Oct 2022 19:15:44 +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; Tue, 11 Oct 2022 19:20:43 +0800 From: Dongdong Liu To: , , , , CC: Dongdong Liu , Maryam Tahhan Subject: [PATCH v10 8/8] doc: add some extended features in procinfo guide Date: Tue, 11 Oct 2022 19:18:43 +0800 Message-ID: <20221011111843.3311-9-liudongdong3@huawei.com> X-Mailer: git-send-email 2.22.0 In-Reply-To: <20221011111843.3311-1-liudongdong3@huawei.com> References: <20220722091236.15469-1-liudongdong3@huawei.com> <20221011111843.3311-1-liudongdong3@huawei.com> MIME-Version: 1.0 X-Originating-IP: [10.28.79.22] X-ClientProxiedBy: dggems706-chm.china.huawei.com (10.3.19.183) 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 --show-rx-descriptor --show-tx-descriptor Signed-off-by: Dongdong Liu Acked-by: Reshma Pattan --- doc/guides/tools/proc_info.rst | 36 ++++++++++++++++++++++++++++++++-- 1 file changed, 34 insertions(+), 2 deletions(-) diff --git a/doc/guides/tools/proc_info.rst b/doc/guides/tools/proc_info.rst index 9772d97ef0..ad70bc47a5 100644 --- a/doc/guides/tools/proc_info.rst +++ b/doc/guides/tools/proc_info.rst @@ -17,9 +17,12 @@ The application has a number of command line options: .. code-block:: console - .//app/dpdk-procinfo -- -m | [-p PORTMASK] [--stats | --xstats | + .//app/dpdk-proc-info -- -m | [-p PORTMASK] [--stats | --xstats | --stats-reset | --xstats-reset] [ --show-port | --show-tm | --show-crypto | - --show-ring[=name] | --show-mempool[=name] | --iter-mempool=name ] + --show-ring[=name] | --show-mempool[=name] | --iter-mempool=name | + --show-port-private | --version | --firmware-version | --show-rss-reta | + --show-module-eeprom | --show-rx-descriptor queue_id:offset:num | + --show-tx-descriptor queue_id:offset:num] Parameters ~~~~~~~~~~ @@ -69,6 +72,35 @@ 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. + +**--show-rx-descriptor queue_id:offset:num** +The show-rx-descriptor parameter displays ports Rx descriptor information +specified by queue_id, offset and num. +queue_id: A Rx queue identifier on this port. +offset: The offset of the descriptor starting from tail. +num: The number of the descriptors to dump. + +**--show-tx-descriptor queue_id:offset:num** +The show-tx-descriptor parameter displays ports Tx descriptor information +specified by queue_id, offset and num. +queue_id: A Tx queue identifier on this port. +offset: The offset of the descriptor starting from tail. +num: The number of the descriptors to dump. + Limitations -----------