[v2] testpmd: added rte_eth_dev_fw_version_get in testpmd

Message ID 20200318152227.3931-1-muhammad.ahmad@emumba.com (mailing list archive)
State Superseded, archived
Delegated to: Ferruh Yigit
Headers
Series [v2] testpmd: added rte_eth_dev_fw_version_get in testpmd |

Checks

Context Check Description
ci/checkpatch warning coding style issues
ci/travis-robot success Travis build: passed
ci/iol-mellanox-Performance success Performance Testing PASS
ci/iol-testing success Testing PASS
ci/Intel-compilation success Compilation OK

Commit Message

Muhammad Ahmad March 18, 2020, 3:22 p.m. UTC
  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 <thomas@monjalon.net>
Signed-off-by: Muhammad Ahmad <muhammad.ahmad@emumba.com>
---
 app/test-pmd/config.c | 13 +++++++++++++
 1 file changed, 13 insertions(+)
  

Comments

Ferruh Yigit March 18, 2020, 3:33 p.m. UTC | #1
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 <thomas@monjalon.net>
> Signed-off-by: Muhammad Ahmad <muhammad.ahmad@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);
>
  

Patch

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