When parsing a device argument, try to parse new global device syntax firstly, fallback to legacy syntax parsing on error.
Example of new global device syntax: -a bus=pci,addr=82:00.0/class=eth/driver=mlx5,dv_flow_en=1 Signed-off-by: Xueming Li <xuemi...@nvidia.com> --- lib/librte_eal/common/eal_common_devargs.c | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/lib/librte_eal/common/eal_common_devargs.c b/lib/librte_eal/common/eal_common_devargs.c index 27af4cc0e3..53ec8ad822 100644 --- a/lib/librte_eal/common/eal_common_devargs.c +++ b/lib/librte_eal/common/eal_common_devargs.c @@ -201,6 +201,12 @@ rte_devargs_parse(struct rte_devargs *da, const char *dev) if (da == NULL) return -EINVAL; + /* First parse according new global syntax */ + if (rte_devargs_layers_parse(da, dev) == 0 && da->bus && da->cls) + return 0; + + /* Legacy syntax check: */ + /* Retrieve eventual bus info */ do { devname = dev; -- 2.25.1