app/testpmd: fix valid ports prints
There are several cases of an invalid port data access that causes the printing of all the valid ports, for example, when the user asks to receive a port information of an invalid port. Wrongly, the port with id 0 is printed in all the above described cases, regardless of its validity. Print port 0 only if it is valid as done for the rest of the ports. Fixes: af75078fece3 ("first public release") Fixes: b6ea6408fbc7 ("ethdev: store numa_node per device") Fixes: edab33b1c01d ("app/testpmd: support port hotplug") Cc: stable@dpdk.org Signed-off-by: Matan Azrad <matan@mellanox.com>
This commit is contained in:
parent
b8b8b344cb
commit
8f3c4176fc
@ -121,15 +121,11 @@ nic_stats_display(portid_t port_id)
|
||||
struct rte_eth_stats stats;
|
||||
struct rte_port *port = &ports[port_id];
|
||||
uint8_t i;
|
||||
portid_t pid;
|
||||
|
||||
static const char *nic_stats_border = "########################";
|
||||
|
||||
if (port_id_is_invalid(port_id, ENABLED_WARN)) {
|
||||
printf("Valid port range is [0");
|
||||
RTE_ETH_FOREACH_DEV(pid)
|
||||
printf(", %d", pid);
|
||||
printf("]\n");
|
||||
print_valid_ports();
|
||||
return;
|
||||
}
|
||||
rte_eth_stats_get(port_id, &stats);
|
||||
@ -203,13 +199,8 @@ nic_stats_display(portid_t port_id)
|
||||
void
|
||||
nic_stats_clear(portid_t port_id)
|
||||
{
|
||||
portid_t pid;
|
||||
|
||||
if (port_id_is_invalid(port_id, ENABLED_WARN)) {
|
||||
printf("Valid port range is [0");
|
||||
RTE_ETH_FOREACH_DEV(pid)
|
||||
printf(", %d", pid);
|
||||
printf("]\n");
|
||||
print_valid_ports();
|
||||
return;
|
||||
}
|
||||
rte_eth_stats_reset(port_id);
|
||||
@ -286,15 +277,11 @@ nic_stats_mapping_display(portid_t port_id)
|
||||
{
|
||||
struct rte_port *port = &ports[port_id];
|
||||
uint16_t i;
|
||||
portid_t pid;
|
||||
|
||||
static const char *nic_stats_mapping_border = "########################";
|
||||
|
||||
if (port_id_is_invalid(port_id, ENABLED_WARN)) {
|
||||
printf("Valid port range is [0");
|
||||
RTE_ETH_FOREACH_DEV(pid)
|
||||
printf(", %d", pid);
|
||||
printf("]\n");
|
||||
print_valid_ports();
|
||||
return;
|
||||
}
|
||||
|
||||
@ -405,15 +392,11 @@ port_infos_display(portid_t port_id)
|
||||
int vlan_offload;
|
||||
struct rte_mempool * mp;
|
||||
static const char *info_border = "*********************";
|
||||
portid_t pid;
|
||||
uint16_t mtu;
|
||||
char name[RTE_ETH_NAME_MAX_LEN];
|
||||
|
||||
if (port_id_is_invalid(port_id, ENABLED_WARN)) {
|
||||
printf("Valid port range is [0");
|
||||
RTE_ETH_FOREACH_DEV(pid)
|
||||
printf(", %d", pid);
|
||||
printf("]\n");
|
||||
print_valid_ports();
|
||||
return;
|
||||
}
|
||||
port = &ports[port_id];
|
||||
@ -774,6 +757,17 @@ port_id_is_invalid(portid_t port_id, enum print_warning warning)
|
||||
return 1;
|
||||
}
|
||||
|
||||
void print_valid_ports(void)
|
||||
{
|
||||
portid_t pid;
|
||||
|
||||
printf("The valid ports array is [");
|
||||
RTE_ETH_FOREACH_DEV(pid) {
|
||||
printf(" %d", pid);
|
||||
}
|
||||
printf(" ]\n");
|
||||
}
|
||||
|
||||
static int
|
||||
vlan_id_is_invalid(uint16_t vlan_id)
|
||||
{
|
||||
|
@ -377,7 +377,6 @@ parse_portnuma_config(const char *q_arg)
|
||||
};
|
||||
unsigned long int_fld[_NUM_FLD];
|
||||
char *str_fld[_NUM_FLD];
|
||||
portid_t pid;
|
||||
|
||||
/* reset from value set at definition */
|
||||
while ((p = strchr(p0,'(')) != NULL) {
|
||||
@ -401,10 +400,7 @@ parse_portnuma_config(const char *q_arg)
|
||||
port_id = (portid_t)int_fld[FLD_PORT];
|
||||
if (port_id_is_invalid(port_id, ENABLED_WARN) ||
|
||||
port_id == (portid_t)RTE_PORT_ALL) {
|
||||
printf("Valid port range is [0");
|
||||
RTE_ETH_FOREACH_DEV(pid)
|
||||
printf(", %d", pid);
|
||||
printf("]\n");
|
||||
print_valid_ports();
|
||||
return -1;
|
||||
}
|
||||
socket_id = (uint8_t)int_fld[FLD_SOCKET];
|
||||
@ -435,7 +431,6 @@ parse_ringnuma_config(const char *q_arg)
|
||||
};
|
||||
unsigned long int_fld[_NUM_FLD];
|
||||
char *str_fld[_NUM_FLD];
|
||||
portid_t pid;
|
||||
#define RX_RING_ONLY 0x1
|
||||
#define TX_RING_ONLY 0x2
|
||||
#define RXTX_RING 0x3
|
||||
@ -462,10 +457,7 @@ parse_ringnuma_config(const char *q_arg)
|
||||
port_id = (portid_t)int_fld[FLD_PORT];
|
||||
if (port_id_is_invalid(port_id, ENABLED_WARN) ||
|
||||
port_id == (portid_t)RTE_PORT_ALL) {
|
||||
printf("Valid port range is [0");
|
||||
RTE_ETH_FOREACH_DEV(pid)
|
||||
printf(", %d", pid);
|
||||
printf("]\n");
|
||||
print_valid_ports();
|
||||
return -1;
|
||||
}
|
||||
socket_id = (uint8_t)int_fld[FLD_SOCKET];
|
||||
|
@ -726,6 +726,7 @@ enum print_warning {
|
||||
DISABLED_WARN
|
||||
};
|
||||
int port_id_is_invalid(portid_t port_id, enum print_warning warning);
|
||||
void print_valid_ports(void);
|
||||
int new_socket_id(unsigned int socket_id);
|
||||
|
||||
queueid_t get_allowed_max_nb_rxq(portid_t *pid);
|
||||
|
Loading…
x
Reference in New Issue
Block a user