If the port_id is equal to RTE_MAX_ETHPORTS, it should be considered invalid. Additionally, UNUSED ports are also not valid port ids to be used afterward.
To simplify following the ethdev API rules, use the exposed function checking whether a port id is valid. Fixes: 2efb58cbab6e ("bond: new link bonding library") Cc: sta...@dpdk.org Cc: Chas Williams <ch...@att.com> Signed-off-by: Gaetan Rivet <gr...@u256.net> --- drivers/net/bonding/rte_eth_bond_args.c | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/drivers/net/bonding/rte_eth_bond_args.c b/drivers/net/bonding/rte_eth_bond_args.c index abdf55261..35616fb8b 100644 --- a/drivers/net/bonding/rte_eth_bond_args.c +++ b/drivers/net/bonding/rte_eth_bond_args.c @@ -108,9 +108,8 @@ parse_port_id(const char *port_str) } } - if (port_id < 0 || port_id > RTE_MAX_ETHPORTS) { - RTE_BOND_LOG(ERR, "Slave port specified (%s) outside expected range", - port_str); + if (!rte_eth_dev_is_valid_port(port_id)) { + RTE_BOND_LOG(ERR, "Specified port (%s) is invalid", port_str); return -1; } return port_id; -- 2.26.0