[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-Id: <20200908144241.21673-1-parav@mellanox.com>
Date: Tue, 8 Sep 2020 17:42:35 +0300
From: Parav Pandit <parav@...lanox.com>
To: kuba@...nel.org, davem@...emloft.net, netdev@...r.kernel.org
Cc: Parav Pandit <parav@...dia.com>
Subject: [PATCH net-next v2 0/6] devlink show controller number
From: Parav Pandit <parav@...dia.com>
Hi Jakub, Dave,
Currently a devlink instance that supports an eswitch handles eswitch
ports of two type of controllers.
(1) controller discovered on same system where eswitch resides.
This is the case where PCI PF/VF of a controller and devlink eswitch
instance both are located on a single system.
(2) controller located on external system.
This is the case where a controller is plugged in one system and its
devlink eswitch ports are located in a different system. In this case
devlink instance of the eswitch only have access to ports of the
controller.
However, there is no way to describe that a eswitch devlink port
belongs to which controller (mainly which external host controller).
This problem is more prevalent when port attribute such as PF and VF
numbers are overlapping between multiple controllers of same eswitch.
Due to this, for a specific switch_id, unique phys_port_name cannot
be constructed for such devlink ports.
This short series overcomes this limitation by defining two new
attributes.
(a) external: Indicates if port belongs to external controller
(b) controller number: Indicates a controller number of the port
Based on this a unique phys_port_name is prepared using controller
number.
phys_port_name construction using unique controller number is only
applicable to external controller ports. This ensures that for
non smartnic usecases where there is no external controller,
phys_port_name stays same as before.
Patch summary:
Patch-1 Added mlx5 driver to read controller number
Patch-2 Adds the missing comment for the port attributes
Patch-3 Move structure comments away from structure fields
Patch-4 external attribute added for PCI port flavours
Patch-5 Add controller number
Patch-6 Use controller number to build phys_port_name
---
Changelog:
v5->v6:
- Added mising code for ECPF check; occurred when split the net/mlx5
patch to individual devlink patches.
v4->v5:
- Removed controller abstract names 'A' and 'B', instead used
controller numbers in the commit log description
v3->v4:
- Split patch for controller number attribute addition and building
phsy_port_name
- Removed prefix net/mlx5
v2->v3:
- Removed controller number setting invokation as it
is part of different API
Parav Pandit (6):
net/mlx5: E-switch, Read controller number from device
devlink: Add comment block for missing port attributes
devlink: Move structure comments outside of structure
devlink: Introduce external controller flag
devlink: Introduce controller number
devlink: Use controller while building phys_port_name
.../net/ethernet/mellanox/mlx5/core/en_rep.c | 13 +++--
.../net/ethernet/mellanox/mlx5/core/eswitch.h | 1 +
.../mellanox/mlx5/core/eswitch_offloads.c | 22 +++++++++
include/net/devlink.h | 33 ++++++++++---
include/uapi/linux/devlink.h | 2 +
net/core/devlink.c | 47 +++++++++++++++----
6 files changed, 99 insertions(+), 19 deletions(-)
--
2.26.2
Powered by blists - more mailing lists