On Tue, 2021-09-28 at 11:04 +0200, Thomas Monjalon wrote:
> 28/09/2021 10:29, David Marchand:
> > On Tue, Apr 13, 2021 at 5:15 AM Xueming Li <xuemi...@nvidia.com> wrote:
> > > 
> > > When parsing a devargs, try to parse using the global device syntax
> > > first. Fallback on legacy syntax 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>
> > > Reviewed-by: Gaetan Rivet <gr...@u256.net>
> > 
> > Starting with a virtio user port, I get a warning:
> > 
> > # dpdk-testpmd --vdev
> > net_virtio_user0,iface=test,path=/dev/vhost-net,queues=1
> > --log-level=pmd.net.virtio.*:debug -- -i
> > ...
> > EAL: Unrecognized layer dev/vhost-net,queues=1
> > ...
> > 
> > Am I doing something wrong?
> > If not, could you have a look?
> 
> The new global syntax is using the slash / as separator.
> We should detect legit use of slash in a path.
> Here, the value starts with a slash so it should be easy to ignore.
> Another way is to consider slash only if followed by "class=" or "driver="

There is an assumption in the function rte_devargs_layers_parse():
                 * The last layer is free-form.
                 * The "driver" key is not required (but accepted).
For some case like "bus=x,k1=v1/class=y,k2=/some/path/k3=v3", "k3"
belongs to driver layer, this will confuse parser.



Reply via email to