[v2] testpmd: added rte_eth_dev_fw_version_get in testpmd
Checks
Commit Message
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
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);
>
@@ -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);