RE: [PATCH net-next 2/8] devlink: add PF and VF port flavours

Abodunrin, Akeem G
2019-03-20T17:29:53Z

> -----Original Message-----
> From: netdev-owner@vger.kernel.org [mailto:netdev-owner@vger.kernel.org]
> On Behalf Of Jiri Pirko
> Sent: Sunday, March 03, 2019 11:30 PM
> To: Parav Pandit <parav@mellanox.com>
> Cc: Jakub Kicinski <jakub.kicinski@netronome.com>; davem@davemloft.net;
> oss-drivers@netronome.com; netdev@vger.kernel.org
> Subject: Re: [PATCH net-next 2/8] devlink: add PF and VF port flavours
>
> Mon, Mar 04, 2019 at 05:59:04AM CET, parav@mellanox.com wrote:
> >
> >
> >> -----Original Message-----
> >> From: netdev-owner@vger.kernel.org <netdev-owner@vger.kernel.org> On
> >> Behalf Of Jiri Pirko
> >> Sent: Wednesday, February 27, 2019 6:17 AM
> >> To: Jakub Kicinski <jakub.kicinski@netronome.com>
> >> Cc: davem@davemloft.net; oss-drivers@netronome.com;
> >> netdev@vger.kernel.org
> >> Subject: Re: [PATCH net-next 2/8] devlink: add PF and VF port
> >> flavours
> >>
> >> Tue, Feb 26, 2019 at 07:24:30PM CET, jakub.kicinski@netronome.com wrote:
> >> >Current port flavours cover simple switches and DSA. Add PF and VF
> >> >flavours to cover "switchdev" SR-IOV NICs.
> >> >
> >> >Example devlink user space output:
> >> >
> >> >$ devlink port
> >> >pci/0000:82:00.0/0: type eth netdev p4p1 flavour physical
> >> >pci/0000:82:00.0/10000: type eth netdev eth0 flavour pcie_pf pf 0
> >> >pci/0000:82:00.0/10001: type eth netdev eth1 flavour pcie_vf pf 0 vf
> >> >0
> >> >pci/0000:82:00.0/10002: type eth netdev eth2 flavour pcie_vf pf 0 vf
> >> >1
> >>
> >A given port is of its parent device.
> >In current scenario, its PF or VF.
> >Hence it should be device attribute and not a port attribute.
>
> I think that this works. You have VF_rep ports, PF_rep ports and PHYSICAL ports.
> In mlxsw for example, there are only PHYSICAL ports.
> In sr-iov world, there is also a PHYSICAL port on the eswitch. The others are
> either facing PF of VF. Looks accurate. I don't see any need for "devlink dev"
> flavour.

I see what you're trying to do here, with VF_rep ports being independent of PF_rep ports and PHYSICAL ports - however, my question is how do you categorize VF_rep ports of the same parent PF physical ports (say you have multi-port device, with 2 or more PFs), at least for identification purposes per physical port? Do we need to have pci_vf_number appended to physical port number?

Thanks,
~Akeem
>
>
> >So devlink dev show command have to show what device flavour is.
> >Is it well known PCI VF or PF or something else.
> >It will show subdev device attribute and its parent PCI (PF/VF) devlink device.
> >So we should have device flovour as PCI_PF or PCI_VF or SUBDEV.
> >
> >Again VF number showcasing here is very restrictive model.
> >Every PF/VF/Subdev represents its own 'port' and it is connected to eswitch
> 'port'.
> >Instead of showing VF here, it must be this 'port' or 'link' number that gives
> right view.
> >Which netdev represents which VF is already linked in the VF rep-netdev sysfs
> property.
>
> I think you confuse the eswtich ports (in Jakub's output it's them) and the actual
> VF.
>
>
> >
> >So flavour should be something like 'hostport' and when port is registered for
> the eswitch side it should be 'switchport'.
> >With this there is very clear picture of which hostport is connected to which
> eswitch port.
> >Just like how we see in the physical world.
> >