Thu, Mar 22, 2018 at 03:40:02PM CET, ro...@cumulusnetworks.com wrote:
>On Thu, Mar 22, 2018 at 3:55 AM, Jiri Pirko <j...@resnulli.us> wrote:
>> From: Jiri Pirko <j...@mellanox.com>
>>
>> This patchset resolves 2 issues we have right now:
>> 1) There are many netdevices / ports in the system, for port, pf, vf
>>    represenatation but the user has no way to see which is which
>> 2) The ndo_get_phys_port_name is implemented in each driver separatelly,
>>    which may lead to inconsistent names between drivers.
>>
>> This patchset introduces port flavours which should address the first
>> problem. I'm testing this with Netronome nfp hardware. When the user
>> has 2 physical ports, 1 pf, and 4 vfs, he should see something like this:
>> # devlink port
>> pci/0000:05:00.0/0: type eth netdev enp5s0np0 flavour physical number 0
>> pci/0000:05:00.0/268435456: type eth netdev eth0 flavour physical number 0
>> pci/0000:05:00.0/268435460: type eth netdev enp5s0np1 flavour physical 
>> number 1
>> pci/0000:05:00.0/536875008: type eth netdev eth2 flavour pf_rep number 
>> 536875008
>> pci/0000:05:00.0/536870912: type eth netdev eth1 flavour vf_rep number 0
>> pci/0000:05:00.0/536870976: type eth netdev eth3 flavour vf_rep number 1
>> pci/0000:05:00.0/536871040: type eth netdev eth4 flavour vf_rep number 2
>> pci/0000:05:00.0/536871104: type eth netdev eth5 flavour vf_rep number 3
>>
>> The indexes are weird numbers now. That needs to be fixed. Also, netdev
>> renaming does not work correctly for me now for some reason.
>> Also, there is one extra port that I don't understand what
>> is the purpose for it - something nfp specific perhaps.
>>
>> The desired output should look like this:
>> # devlink port
>> pci/0000:05:00.0/0: type eth netdev enp5s0np0 flavour physical number 0
>> pci/0000:05:00.0/1: type eth netdev enp5s0np1 flavour physical number 1
>> pci/0000:05:00.0/2: type eth netdev enp5s0npf0 flavour pf_rep number 0
>> pci/0000:05:00.0/3: type eth netdev enp5s0nvf0 flavour vf_rep number 0
>> pci/0000:05:00.0/4: type eth netdev enp5s0nvf1 flavour vf_rep number 1
>> pci/0000:05:00.0/5: type eth netdev enp5s0nvf2 flavour vf_rep number 2
>> pci/0000:05:00.0/6: type eth netdev enp5s0nvf3 flavour vf_rep number 3
>>
>> As you can see, the netdev names are generated according to the flavour
>> and port number. In case the port is split, the split subnumber is also
>> included.
>>
>> I tested this for mlxsw and nfp. I have no way to test this on DSA hw,
>> I would really appretiate DSA guys to test this. Thanks!
>>
>
>nice series, I like that the user can query a ports flavor (I get this
>ask all the time).

Yeah, it is really needed. I would like to fix this jungle so all
drivers behave the same. Started with nfp as they are leading with what
they have implemented. But I expect others to join in (please).

Many drivers just create devlink instance without any ports. Odd. I will
write some Documentation file as a part of this patchset. Also, I'm
thinking about adding some warnings in care driver does some crippled
implementation.

Reply via email to