git.droids-corp.org
/
dpdk.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
vfio: fix maximum number of interrupt for MSI-X
[dpdk.git]
/
lib
/
librte_eal
/
common
/
eal_common_vdev.c
diff --git
a/lib/librte_eal/common/eal_common_vdev.c
b/lib/librte_eal/common/eal_common_vdev.c
index
0434390
..
7d6e54f
100644
(file)
--- a/
lib/librte_eal/common/eal_common_vdev.c
+++ b/
lib/librte_eal/common/eal_common_vdev.c
@@
-71,7
+71,7
@@
rte_eal_vdev_init(const char *name, const char *args)
/*
* search a driver prefix in virtual device name.
* For example, if the driver is pcap PMD, driver->name
/*
* search a driver prefix in virtual device name.
* For example, if the driver is pcap PMD, driver->name
- * will be "
eth_pcap", but "name" will be "eth
_pcapN".
+ * will be "
net_pcap", but "name" will be "net
_pcapN".
* So use strncmp to compare.
*/
if (!strncmp(driver->driver.name, name,
* So use strncmp to compare.
*/
if (!strncmp(driver->driver.name, name,
@@
-79,6
+79,14
@@
rte_eal_vdev_init(const char *name, const char *args)
return driver->probe(name, args);
}
return driver->probe(name, args);
}
+ /* Give new names precedence over aliases. */
+ TAILQ_FOREACH(driver, &vdev_driver_list, next) {
+ if (driver->driver.alias &&
+ !strncmp(driver->driver.alias, name,
+ strlen(driver->driver.alias)))
+ return driver->probe(name, args);
+ }
+
RTE_LOG(ERR, EAL, "no driver found for %s\n", name);
return -EINVAL;
}
RTE_LOG(ERR, EAL, "no driver found for %s\n", name);
return -EINVAL;
}
@@
-95,7
+103,7
@@
rte_eal_vdev_uninit(const char *name)
/*
* search a driver prefix in virtual device name.
* For example, if the driver is pcap PMD, driver->name
/*
* search a driver prefix in virtual device name.
* For example, if the driver is pcap PMD, driver->name
- * will be "
eth_pcap", but "name" will be "eth
_pcapN".
+ * will be "
net_pcap", but "name" will be "net
_pcapN".
* So use strncmp to compare.
*/
if (!strncmp(driver->driver.name, name,
* So use strncmp to compare.
*/
if (!strncmp(driver->driver.name, name,
@@
-103,6
+111,14
@@
rte_eal_vdev_uninit(const char *name)
return driver->remove(name);
}
return driver->remove(name);
}
+ /* Give new names precedence over aliases. */
+ TAILQ_FOREACH(driver, &vdev_driver_list, next) {
+ if (driver->driver.alias &&
+ !strncmp(driver->driver.alias, name,
+ strlen(driver->driver.alias)))
+ return driver->remove(name);
+ }
+
RTE_LOG(ERR, EAL, "no driver found for %s\n", name);
return -EINVAL;
}
RTE_LOG(ERR, EAL, "no driver found for %s\n", name);
return -EINVAL;
}