Thread (44 messages) 44 messages, 6 authors, 2019-03-21

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

From: Jiri Pirko <jiri@resnulli.us>
Date: 2019-03-21 12:37:23

Wed, Mar 20, 2019 at 06:29:44PM CET, akeem.g.abodunrin@intel.com wrote:
quoted
-----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 <redacted>
Cc: Jakub Kicinski <redacted>; 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:
quoted
quoted
-----Original Message-----
From: netdev-owner@vger.kernel.org <redacted> On
Behalf Of Jiri Pirko
Sent: Wednesday, February 27, 2019 6:17 AM
To: Jakub Kicinski <redacted>
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:
quoted
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?
Please wrap your messages at 80 cols.

Thanks,
~Akeem
quoted
quoted
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'.
quoted
Instead of showing VF here, it must be this 'port' or 'link' number that gives
right view.
quoted
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.

quoted
So flavour should be something like 'hostport' and when port is registered for
the eswitch side it should be 'switchport'.
quoted
With this there is very clear picture of which hostport is connected to which
eswitch port.
quoted
Just like how we see in the physical world.
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help