X-Git-Url: http://git.droids-corp.org/?a=blobdiff_plain;f=examples%2Fethtool%2Fethtool-app%2Fethapp.c;h=35269ea24ef67e132e534e6606a4f83401e2bb6a;hb=7236d2bfe0acc48330e3c2a3dfac4ada9a792cd8;hp=57c584e90eaee99507fd7fbc1be6679d28a3fce9;hpb=bda68ab9d1e73bda4d500fa6977e3d713f483de8;p=dpdk.git diff --git a/examples/ethtool/ethtool-app/ethapp.c b/examples/ethtool/ethtool-app/ethapp.c index 57c584e90e..35269ea24e 100644 --- a/examples/ethtool/ethtool-app/ethapp.c +++ b/examples/ethtool/ethtool-app/ethapp.c @@ -177,6 +177,7 @@ pcmd_drvinfo_callback(__rte_unused void *ptr_params, int id_port; for (id_port = 0; id_port < rte_eth_dev_count(); id_port++) { + memset(&info, 0, sizeof(info)); if (rte_ethtool_get_drvinfo(id_port, &info)) { printf("Error getting info for port %i\n", id_port); return; @@ -184,6 +185,8 @@ pcmd_drvinfo_callback(__rte_unused void *ptr_params, printf("Port %i driver: %s (ver: %s)\n", id_port, info.driver, info.version ); + printf("firmware-version: %s\n", info.fw_version); + printf("bus-info: %s\n", info.bus_info); } } @@ -339,6 +342,7 @@ pcmd_pause_callback(void *ptr_params, if (ptr_data != NULL) { stat = rte_ethtool_get_pauseparam(params->port, &info); } else { + memset(&info, 0, sizeof(info)); if (strcasecmp("all", params->opt) == 0) { info.tx_pause = 1; info.rx_pause = 1; @@ -352,6 +356,8 @@ pcmd_pause_callback(void *ptr_params, info.tx_pause = 0; info.rx_pause = 0; } + /* Assume auto-negotiation wanted */ + info.autoneg = 1; stat = rte_ethtool_set_pauseparam(params->port, &info); } if (stat == 0) { @@ -480,12 +486,9 @@ pcmd_macaddr_callback(void *ptr_params, return; } } - if (stat == 0) - return; - else if (stat == -ENOTSUP) - printf("Port %i: Operation not supported\n", params->port); - else - printf("Port %i: Error %i\n", params->port, stat); + + printf("Port %i: Error %s\n", params->port, + strerror(-stat)); } static void @@ -535,7 +538,6 @@ static void pcmd_portstats_callback(__rte_unused void *ptr_params, } stat = rte_ethtool_net_get_stats64(params->port, &stat_info); if (stat == 0) { - /* Most of rte_eth_stats is deprecated.. */ printf("Port %i stats\n", params->port); printf(" In: %" PRIu64 " (%" PRIu64 " bytes)\n" " Out: %"PRIu64" (%"PRIu64 " bytes)\n"