ethdev: fix port id allocation
authorMatan Azrad <matan@mellanox.com>
Mon, 22 Jan 2018 16:38:18 +0000 (16:38 +0000)
committerThomas Monjalon <thomas@monjalon.net>
Wed, 31 Jan 2018 19:47:22 +0000 (20:47 +0100)
commit8ee892a2385c50427c03db5cef1789babceb5999
treec8a38a9f42f1c1f069a3a2de2d06f4f46d799a3f
parent133b54779aa1a0071e67d73b0963d28ef28b41a5
ethdev: fix port id allocation

rte_eth_dev_find_free_port() found a free port by state checking.
The state field are in local process memory, so other DPDK processes
may get the same port ID because their local states may be different.

Replace the state checking by the ethdev port name checking,
so, if the name is an empty string the port ID will be detected as
unused.

Fixes: d948f596fee2 ("ethdev: fix port data mismatched in multiple process model")
Cc: stable@dpdk.org
Suggested-by: Konstantin Ananyev <konstantin.ananyev@intel.com>
Signed-off-by: Matan Azrad <matan@mellanox.com>
Acked-by: Thomas Monjalon <thomas@monjalon.net>
Acked-by: Konstantin Ananyev <konstantin.ananyev@intel.com>
lib/librte_ether/rte_ethdev.c