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);
> 

Reply via email to