X-Git-Url: http://git.droids-corp.org/?a=blobdiff_plain;ds=sidebyside;f=drivers%2Fbus%2Fvdev%2Fvdev_params.c;h=6f74704d1c8755c0bb32a5fdd57b71fd36e5b701;hb=0d2870c4f78e2273b3f359ef49ecb60b494c9b0e;hp=842a4684e08cb4ee29f83d9db8bfa212d8dba9aa;hpb=ac91bc493cdde005bab596576665eb7960dafe29;p=dpdk.git diff --git a/drivers/bus/vdev/vdev_params.c b/drivers/bus/vdev/vdev_params.c index 842a4684e0..6f74704d1c 100644 --- a/drivers/bus/vdev/vdev_params.c +++ b/drivers/bus/vdev/vdev_params.c @@ -2,6 +2,8 @@ * Copyright 2018 Gaëtan Rivet */ +#include + #include #include #include @@ -11,21 +13,34 @@ #include "vdev_private.h" enum vdev_params { - RTE_VDEV_PARAMS_MAX, + RTE_VDEV_PARAM_NAME, + RTE_VDEV_PARAM_MAX, }; static const char * const vdev_params_keys[] = { - [RTE_VDEV_PARAMS_MAX] = NULL, + [RTE_VDEV_PARAM_NAME] = "name", + [RTE_VDEV_PARAM_MAX] = NULL, }; static int 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; }