On 3/18/2020 3:22 PM, Muhammad Ahmad wrote: > rte_eth_dev_fw_version_get() was not called in test pmd > Added rte_eth_dev_fw_version_get() in testpmd under show port info <port no> > > Bugzilla ID: 225 > > Cc: dev@dpdk.org > Reported-by: Thomas Monjalon <tho...@monjalon.net> > Signed-off-by: Muhammad Ahmad <muhammad.ah...@emumba.com> > --- > app/test-pmd/config.c | 13 +++++++++++++ > 1 file changed, 13 insertions(+) > > diff --git a/app/test-pmd/config.c b/app/test-pmd/config.c > index 8cf84ccd3..d0a59f6e7 100644 > --- a/app/test-pmd/config.c > +++ b/app/test-pmd/config.c > @@ -52,6 +52,8 @@ > > #include "testpmd.h" > > +#define ETHDEV_FWVERS_LEN 32 > + > static char *flowtype_to_str(uint16_t flow_type); > > static const struct { > @@ -523,6 +525,7 @@ port_infos_display(portid_t port_id) > uint16_t mtu; > char name[RTE_ETH_NAME_MAX_LEN]; > int ret; > + char fw_version[ETHDEV_FWVERS_LEN]; > > if (port_id_is_invalid(port_id, ENABLED_WARN)) { > print_valid_ports(); > @@ -544,6 +547,16 @@ port_infos_display(portid_t port_id) > rte_eth_dev_get_name_by_port(port_id, name); > printf("\nDevice name: %s", name); > printf("\nDriver name: %s", dev_info.driver_name); > + > + ret = rte_eth_dev_fw_version_get(port_id, fw_version, > ETHDEV_FWVERS_LEN); > + if (ret < 0) > + printf("\nFirmware version get error: (%s)", strerror(-ret)); > + else if (ret > 0) > + printf("\nInsufficient fw version buffer size, " > + "the minimum size should be %d", ret);
Still same thing with these messages, they will print error logs in the middle of the port info, in this context I believe the details of the errors doesn't matter really. What do you think: if (rte_eth_dev_fw_version_get(port_id, fw_version, ETHDEV_FWVERS_LEN) == 0) printf("\nFirmware-version: %s", fw_version); else printf("\nFirmware-version: %s", "not availble"); Or even ignore the firmaware version completely if not supported: if (rte_eth_dev_fw_version_get(port_id, fw_version, ETHDEV_FWVERS_LEN) == 0) printf("\nFirmware-version: %s", fw_version); > + else > + printf("\nFirmware-version: %s", fw_version); > + > if (dev_info.device->devargs && dev_info.device->devargs->args) > printf("\nDevargs: %s", dev_info.device->devargs->args); > printf("\nConnect to socket: %u", port->socket_id); >