Re: [patch net-next 0/9] Introduce devlink interface and first drivers to use it

Andy Gospodarek
2016-02-23T15:55:32Z

On Tue, Feb 23, 2016 at 03:45:51PM +0100, Jiri Pirko wrote:
> Tue, Feb 23, 2016 at 03:34:19PM CET, gospo@cumulusnetworks.com wrote:
>
> <snip>
> >>
> >> >> myhost:~$ dl port show
> >> >> devlink0/1: type eth netdev ens4
> >> > ^^^^^^^^^^^
> >> >> devlink0/2: type ib ibdev mlx4_0
> >> > ^^^^^^^^^^^^
> >> >I think my only other question about this implementation is whether or
> >> >not one would really want to have the true netdev/ibdev names mapped
> >> >here.
> >> >
> >> >Would be as reasonable to simply specify the type (and there may be more
> >> >types within ethernet that could be useful in multi-chip configurations)
> >> >and then let normal infrastructure that exists today figure out how to
> >> >map the names for the netdevs to the devices?
> >>
> >> What normal infrastructure you have in mind? There is no info about
> >> devlink port mapping to netdev/ibdev anywhere. Only here. I might be
> >> missing something but I fail to see what's wrong with it.
> >
> >I was simply wondering out loud if we _really_ wanted to name netdevs
> >this way. I was suggesting that output could be like this:
> >
> >myhost:~$ dl port show
> >devlink0/1: type eth
> >devlink0/2: type ib
> >
> >mnd that udev/systemd/biosdevname/etc would take care of naming the
> >device whataever it wanted. This appears to be essentially the same
> >concern Hannes has.
>
> Wait. The only thing which will be renamed by udev is "devlink0". The
> suffixes "/1" and "/2" are direct indexes as used inside the driver.
>
> And you need some link to netdev in case netdev exists - therefore
> "netdev ens4" attribute is there. There's no other way to get the
> mapping of "devlink0/1" to "ens4" anywhere else.

So I think I had invisioned a slightly different workflow than what you
just described.

- Load PCI driver
- Setup devlink attributes for your hardware
- Create netdevs in network driver based on those attributes

You don't need a netdev to reference any of the devlink specific
parameters do you?