@@ -1097,6 +1097,10 @@ netdev_dpdk_process_devargs(const char *devargs)
{
uint8_t new_port_id = UINT8_MAX;
+ if (!rte_eth_dev_count()) {
+ goto out;
+ }
+
if (rte_eth_dev_get_port_by_name(devargs, &new_port_id)
|| !rte_eth_dev_is_valid_port(new_port_id)) {
/* Device not found in DPDK, attempt to attach it */
@@ -1109,6 +1113,7 @@ netdev_dpdk_process_devargs(const char *devargs)
}
}
+out:
return new_port_id;
}
@@ -2397,7 +2402,7 @@ netdev_dpdk_detach(struct unixctl_conn *conn, int
argc OVS_UNUSED,
ovs_mutex_lock(&dpdk_mutex);
- if (rte_eth_dev_get_port_by_name(argv[1], &port_id)) {
+ if (!rte_eth_dev_count() || rte_eth_dev_get_port_by_name(argv[1],
&port_id)) {
response = xasprintf("Device '%s' not found in DPDK", argv[1]);