[v1,07/13] ethdev: add device matching field name
Checks
Commit Message
The eth device class can now parse a field name,
matching the eth_dev name with one passed as
"class=eth,name=xxxxxx"
Signed-off-by: Gaetan Rivet <gaetan.rivet@6wind.com>
---
lib/librte_ethdev/rte_class_eth.c | 7 +++++++
1 file changed, 7 insertions(+)
Comments
On 08/30/2018 04:41 PM, Gaetan Rivet wrote:
> The eth device class can now parse a field name,
> matching the eth_dev name with one passed as
>
> "class=eth,name=xxxxxx"
>
> Signed-off-by: Gaetan Rivet <gaetan.rivet@6wind.com>
Acked-by: Andrew Rybchenko <arybchenko@solarflare.com>
@@ -15,10 +15,12 @@
#include "eth_private.h"
enum eth_params {
+ RTE_ETH_PARAMS_NAME,
RTE_ETH_PARAMS_MAX,
};
static const char * const eth_params_keys[] = {
+ [RTE_ETH_PARAMS_NAME] = "name",
[RTE_ETH_PARAMS_MAX] = NULL,
};
@@ -39,6 +41,7 @@ eth_dev_match(const struct rte_eth_dev *edev,
{
const struct eth_dev_match_arg *arg = _arg;
const struct rte_kvargs *kvlist = arg->kvlist;
+ struct rte_eth_dev_data *data;
if (edev->state == RTE_ETH_DEV_UNUSED)
return -1;
@@ -47,6 +50,10 @@ eth_dev_match(const struct rte_eth_dev *edev,
if (kvlist == NULL)
/* Empty string matches everything. */
return 0;
+ data = edev->data;
+ if (rte_kvargs_process(kvlist, "name",
+ rte_kvargs_strcmp, data->name))
+ return -1;
return 0;
}