TAILQ_HEAD(vdev_driver_list, rte_vdev_driver);
/**
- * Initialization function called for each virtual device driver once.
+ * Probe function called for each virtual device driver once.
*/
-typedef int (rte_vdev_init_t)(const char *name, const char *args);
+typedef int (rte_vdev_probe_t)(const char *name, const char *args);
/**
- * Uninitilization function called for each virtual device driver once.
+ * Remove function called for each virtual device driver once.
*/
-typedef int (rte_vdev_uninit_t)(const char *name);
+typedef int (rte_vdev_remove_t)(const char *name);
/**
* A virtual device driver abstraction.
*/
struct rte_vdev_driver {
TAILQ_ENTRY(rte_vdev_driver) next; /**< Next in list. */
- struct rte_driver driver; /**< Inherited general driver. */
- rte_vdev_init_t *init; /**< Virtual device init. function. */
- rte_vdev_uninit_t *uninit; /**< Virtual device uninit. function. */
+ struct rte_driver driver; /**< Inherited general driver. */
+ rte_vdev_probe_t *probe; /**< Virtual device probe function. */
+ rte_vdev_remove_t *remove; /**< Virtual device remove function. */
};
/**
*/
void rte_eal_vdrv_unregister(struct rte_vdev_driver *driver);
-#define DRIVER_REGISTER_VDEV(nm, vdrv)\
+#define RTE_PMD_REGISTER_VDEV(nm, vdrv)\
RTE_INIT(vdrvinitfn_ ##vdrv);\
+static const char *vdrvinit_ ## nm ## _alias;\
static void vdrvinitfn_ ##vdrv(void)\
{\
(vdrv).driver.name = RTE_STR(nm);\
+ (vdrv).driver.alias = vdrvinit_ ## nm ## _alias;\
rte_eal_vdrv_register(&vdrv);\
} \
-DRIVER_EXPORT_NAME(nm, __COUNTER__)
+RTE_PMD_EXPORT_NAME(nm, __COUNTER__)
+
+#define RTE_PMD_REGISTER_ALIAS(nm, alias)\
+static const char *vdrvinit_ ## nm ## _alias = RTE_STR(alias)
#ifdef __cplusplus
}