summaryrefslogtreecommitdiff
path: root/app/pdump
diff options
context:
space:
mode:
authorThomas Monjalon <thomas@monjalon.net>2018-04-05 17:33:21 +0200
committerThomas Monjalon <thomas@monjalon.net>2018-04-18 00:37:05 +0200
commita9dbe180222680edf8c49e86791f972549ce5be3 (patch)
tree24de43bfe7364653ede899a7e2a391a1c7bd65b9 /app/pdump
parent8728ccf37615904cf23fb8763895b05c9a3c6b0c (diff)
downloaddpdk-a9dbe180222680edf8c49e86791f972549ce5be3.zip
dpdk-a9dbe180222680edf8c49e86791f972549ce5be3.tar.gz
dpdk-a9dbe180222680edf8c49e86791f972549ce5be3.tar.xz
fix ethdev port id validation
Some DPDK applications wrongly assume these requirements: - no hotplug, i.e. ports are never detached - all allocated ports are available to the application Such application assume a valid port index is in the range [0..count[. There are three consequences when using such wrong design: - new ports having an index higher than the port count won't be valid - old ports being detached (RTE_ETH_DEV_UNUSED) can be valid Such mistake will be less common with growing hotplug awareness. All applications and examples inside this repository - except testpmd - must be fixed to use the function rte_eth_dev_is_valid_port. Signed-off-by: Thomas Monjalon <thomas@monjalon.net>
Diffstat (limited to 'app/pdump')
-rw-r--r--app/pdump/main.c3
1 files changed, 1 insertions, 2 deletions
diff --git a/app/pdump/main.c b/app/pdump/main.c
index d29de03..457747f 100644
--- a/app/pdump/main.c
+++ b/app/pdump/main.c
@@ -553,11 +553,10 @@ configure_vdev(uint16_t port_id)
{
struct ether_addr addr;
const uint16_t rxRings = 0, txRings = 1;
- const uint8_t nb_ports = rte_eth_dev_count();
int ret;
uint16_t q;
- if (port_id > nb_ports)
+ if (!rte_eth_dev_is_valid_port(port_id))
return -1;
ret = rte_eth_dev_configure(port_id, rxRings, txRings,