Thu, Mar 22, 2018 at 08:10:38PM CET, dsah...@gmail.com wrote: >On 3/22/18 11:49 AM, Jiri Pirko wrote: >> Thu, Mar 22, 2018 at 04:34:07PM CET, dsah...@gmail.com wrote: >>> On 3/22/18 4:55 AM, Jiri Pirko 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. >>> >>> Similar to ndo_get_phys_port_{name,id}, devlink requires drivers to opt >>> in with an implementation right, so you can't really force a solution to >>> the consistent naming. >> >> Yeah, drivers would still have free choice to implemen the ndo >> themselves. But most of them, like all sriov switch drivers should use >> the devlink helper to have consistent naming. In other words, devlink >> helper should be the standard way, in weird cases (like rocker), driver >> implements it himself. > >That's an assumption that somehow the devlink API will be better >supported than ndo_get_phys_port_{name,id}. Don't get me wrong -- an API >to show the kind of device is needed, but I do not think this enforces >any kind of consistency in naming.
So you say that we need to enforce it somehow? > >> >> >>> >>>> >>>> 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 >>> >>> How about 'kind' instead of flavo{u}r? >> >> Yeah, kind is often used in kernel already with different meaning >> git grep kind net/core >> I wanted to avoid confusions > >Roopa's amendment works as well; I just think flavor / flavour is the >wrong word. Make me thinks of food ... ice cream vs netdevices. Ok