Subject: Re: [patch net-next 3/9] mlx4: Implement port type setting via devlink interface

From: Hannes Frederic Sowa <[email-masked]>
Date: Tue, 23 Feb 2016 17:45:07 +0100

On 23.02.2016 17:04, Jiri Pirko wrote:
> Tue, Feb 23, 2016 at 04:57:17PM CET, [email-masked] wrote:
>> On 23.02.2016 16:30, Jiri Pirko wrote:
>>> Tue, Feb 23, 2016 at 04:16:11PM CET, [email-masked] wrote:
>>>
>>> <snip>
>>>
>>>>>> 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.

>> 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?

Bye,
Hannes