* Copyright 2018 Gaƫtan Rivet
*/
+#include <string.h>
+
#include <rte_dev.h>
#include <rte_bus.h>
#include <rte_kvargs.h>
#include "vdev_private.h"
enum vdev_params {
+ RTE_VDEV_PARAM_NAME,
RTE_VDEV_PARAM_MAX,
};
static const char * const vdev_params_keys[] = {
+ [RTE_VDEV_PARAM_NAME] = "name",
[RTE_VDEV_PARAM_MAX] = NULL,
};
vdev_dev_match(const struct rte_device *dev,
const void *_kvlist)
{
+ int ret;
const struct rte_kvargs *kvlist = _kvlist;
+ char *name;
+
+ /* cannot pass const dev->name to rte_kvargs_process() */
+ name = strdup(dev->name);
+ if (name == NULL)
+ return -1;
+ ret = rte_kvargs_process(kvlist,
+ vdev_params_keys[RTE_VDEV_PARAM_NAME],
+ rte_kvargs_strcmp, name);
+ free(name);
+ if (ret != 0)
+ return -1;
- (void) kvlist;
- (void) dev;
return 0;
}