X-Git-Url: http://git.droids-corp.org/?a=blobdiff_plain;f=app%2Fproc_info%2Fmain.c;h=2f53e3caa44fec66295fa0bcaa9eecc95abcaccb;hb=bdc9bb9b624a469b2f2e0cf246f8b3680963ac80;hp=16b27b2f12414ecc62bb2bb929d538bae16a196c;hpb=a11595045e2a6cf15128b93529c236b4ac2d2543;p=dpdk.git diff --git a/app/proc_info/main.c b/app/proc_info/main.c index 16b27b2f12..2f53e3caa4 100644 --- a/app/proc_info/main.c +++ b/app/proc_info/main.c @@ -1,34 +1,5 @@ -/* - * BSD LICENSE - * - * Copyright(c) 2010-2017 Intel Corporation. All rights reserved. - * All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * - * * Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * * Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in - * the documentation and/or other materials provided with the - * distribution. - * * Neither the name of Intel Corporation nor the names of its - * contributors may be used to endorse or promote products derived - * from this software without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS - * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT - * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR - * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT - * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, - * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT - * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, - * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY - * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT - * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE - * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +/* SPDX-License-Identifier: BSD-3-Clause + * Copyright(c) 2010-2017 Intel Corporation */ #include @@ -53,7 +24,6 @@ #include #include #include -#include #include #include #include @@ -107,7 +77,7 @@ proc_info_usage(const char *prgname) "default\n" " --metrics: to display derived metrics of the ports, disabled by " "default\n" - " --xstats-name NAME: displays the ID of a single xstats NAME\n" + " --xstats-name NAME: to display single xstat id by NAME\n" " --xstats-ids IDLIST: to display xstat values by id. " "The argument is comma-separated list of xstat ids to print out.\n" " --stats-reset: to reset port statistics\n" @@ -311,7 +281,7 @@ meminfo_display(void) } static void -nic_stats_display(uint8_t port_id) +nic_stats_display(uint16_t port_id) { struct rte_eth_stats stats; uint8_t i; @@ -350,7 +320,7 @@ nic_stats_display(uint8_t port_id) } static void -nic_stats_clear(uint8_t port_id) +nic_stats_clear(uint16_t port_id) { printf("\n Clearing NIC stats for port %d\n", port_id); rte_eth_stats_reset(port_id); @@ -412,7 +382,7 @@ static void collectd_resolve_cnt_type(char *cnt_type, size_t cnt_type_len, } static void -nic_xstats_by_name_display(uint8_t port_id, char *name) +nic_xstats_by_name_display(uint16_t port_id, char *name) { uint64_t id; @@ -427,14 +397,14 @@ nic_xstats_by_name_display(uint8_t port_id, char *name) } static void -nic_xstats_by_ids_display(uint8_t port_id, uint64_t *ids, int len) +nic_xstats_by_ids_display(uint16_t port_id, uint64_t *ids, int len) { struct rte_eth_xstat_name *xstats_names; uint64_t *values; int ret, i; static const char *nic_stats_border = "########################"; - values = malloc(sizeof(values) * len); + values = malloc(sizeof(*values) * len); if (values == NULL) { printf("Cannot allocate memory for xstats\n"); return; @@ -447,7 +417,7 @@ nic_xstats_by_ids_display(uint8_t port_id, uint64_t *ids, int len) return; } - if (len != rte_eth_xstats_get_names( + if (len != rte_eth_xstats_get_names_by_id( port_id, xstats_names, len, ids)) { printf("Cannot get xstat names\n"); goto err; @@ -456,7 +426,7 @@ nic_xstats_by_ids_display(uint8_t port_id, uint64_t *ids, int len) printf("###### NIC extended statistics for port %-2d #########\n", port_id); printf("%s############################\n", nic_stats_border); - ret = rte_eth_xstats_get(port_id, ids, values, len); + ret = rte_eth_xstats_get_by_id(port_id, ids, values, len); if (ret < 0 || ret > len) { printf("Cannot get xstats\n"); goto err; @@ -474,19 +444,19 @@ err: } static void -nic_xstats_display(uint8_t port_id) +nic_xstats_display(uint16_t port_id) { struct rte_eth_xstat_name *xstats_names; uint64_t *values; int len, ret, i; static const char *nic_stats_border = "########################"; - len = rte_eth_xstats_get_names(port_id, NULL, 0, NULL); + len = rte_eth_xstats_get_names_by_id(port_id, NULL, 0, NULL); if (len < 0) { printf("Cannot get xstats count\n"); return; } - values = malloc(sizeof(values) * len); + values = malloc(sizeof(*values) * len); if (values == NULL) { printf("Cannot allocate memory for xstats\n"); return; @@ -498,7 +468,7 @@ nic_xstats_display(uint8_t port_id) free(values); return; } - if (len != rte_eth_xstats_get_names( + if (len != rte_eth_xstats_get_names_by_id( port_id, xstats_names, len, NULL)) { printf("Cannot get xstat names\n"); goto err; @@ -508,7 +478,7 @@ nic_xstats_display(uint8_t port_id) port_id); printf("%s############################\n", nic_stats_border); - ret = rte_eth_xstats_get(port_id, NULL, values, len); + ret = rte_eth_xstats_get_by_id(port_id, NULL, values, len); if (ret < 0 || ret > len) { printf("Cannot get xstats\n"); goto err; @@ -525,7 +495,9 @@ nic_xstats_display(uint8_t port_id) sprintf(buf, "PUTVAL %s/dpdkstat-port.%u/%s-%s N:%" PRIu64"\n", host_id, port_id, counter_type, xstats_names[i].name, values[i]); - write(stdout_fd, buf, strlen(buf)); + ret = write(stdout_fd, buf, strlen(buf)); + if (ret < 0) + goto err; } else { printf("%s: %"PRIu64"\n", xstats_names[i].name, values[i]); @@ -540,7 +512,7 @@ err: } static void -nic_xstats_clear(uint8_t port_id) +nic_xstats_clear(uint16_t port_id) { printf("\n Clearing NIC xstats for port %d\n", port_id); rte_eth_xstats_reset(port_id); @@ -617,7 +589,7 @@ main(int argc, char **argv) char n_flag[] = "-n4"; char mp_flag[] = "--proc-type=secondary"; char *argp[argc + 3]; - uint8_t nb_ports; + uint16_t nb_ports; /* preparse app arguments */ ret = proc_info_preparse_args(argc, argv); @@ -688,5 +660,9 @@ main(int argc, char **argv) if (enable_metrics) metrics_display(RTE_METRICS_GLOBAL); + ret = rte_eal_cleanup(); + if (ret) + printf("Error from rte_eal_cleanup(), %d\n", ret); + return 0; }