Re: [patch net-next 3/9] mlx4: Implement port type setting via devlink interface
From: Jiri Pirko <jiri@resnulli.us>
Date: 2016-02-23 16:55:27
Tue, Feb 23, 2016 at 05:45:07PM CET, hannes@stressinduktion.org wrote:
On 23.02.2016 17:04, Jiri Pirko wrote:quoted
Tue, Feb 23, 2016 at 04:57:17PM CET, hannes@stressinduktion.org wrote:quoted
On 23.02.2016 16:30, Jiri Pirko wrote:quoted
Tue, Feb 23, 2016 at 04:16:11PM CET, hannes@stressinduktion.org wrote: <snip>quoted
quoted
quoted
1) is easily solvable, just drop the ifindex style attributes and always force the user to enter the bus and bus-topology id.But why? Use can easily get that info and map it to devlink index. It aligns with nl80211 iface. Do you really want to do commands like: myhost:~$ dl dev show pci_0000:01:00.0 ?Yes, exactly I would. I would put them into a boot-up script based on my system configuration and can be sure it will work the next boot, too, and adapt them when I replace the hardware or do some configuration changes. I think sysadmins or scripts are the primary users of this interface not kernel developers which switch their settings around all the time, no?I can easily add this to the userspace tool to accept "pci_0000:01:00.0" format and to map it internally to devlink index. No problem.I argue for this stable topology identifier to be the default. Especially if you add device info before the actual module is loaded (this is during initramfs, when udev cannot rename devlink names to stable ones), a user has to deal with pre-devlink-ids before rename and after. Do you have plans how to address that?You can still access devlink using pci_addr using dl. I don't see a problem.I don't really see a reason why the devlink indexes/names exist inside the kernel instead of a stable topology identifier. They confuse users and add more unnecessary code to the kernel. Shells have environment variables for that. ;) This is a low-level kernel setting tool IMHO. I just see the problem that users use the devlink* names and we get reports because stuff breaks because they don't use the stable identifiers. That is all.
you can have stable devlink name using udev. For pre-udev usage, you can use pci address directly. I don't like to use pci address for every dl command. I would like to have some more convenient name handle - devlink name.
quoted
quoted
Current initramfs for stable interface names uses EUI48 based mac addresses most of the time and udev runs then after the pivot_root. The devlink names can easily be aliases in user space.I don't want to store them anywhere. I just use "dl" tool and pass the name there.Sorry?
you said - "The devlink names can easily be aliases in user space." - where do you want to store them?