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

Reply via email to