/*
* 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,
strlen(driver->driver.name)))
- return driver->init(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);
/*
* 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,
strlen(driver->driver.name)))
- return driver->uninit(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);