Netdev Archive on lore.kernel.org help / color / mirror / Atom feed
From: Parav Pandit <parav@mellanox.com> To: kuba@kernel.org, davem@davemloft.net, netdev@vger.kernel.org Cc: Parav Pandit <parav@nvidia.com> Subject: [PATCH net-next v2 0/6] devlink show controller number Date: Tue, 8 Sep 2020 17:42:35 +0300 [thread overview] Message-ID: <20200908144241.21673-1-parav@mellanox.com> (raw) In-Reply-To: <20200825135839.106796-1-parav@mellanox.com> From: Parav Pandit <parav@nvidia.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
next prev parent reply other threads:[~2020-09-08 17:30 UTC|newest] Thread overview: 51+ messages / expand[flat|nested] mbox.gz Atom feed top 2020-08-25 13:58 [PATCH net-next 0/3] devlink show controller info Parav Pandit 2020-08-25 13:58 ` [PATCH net-next 1/3] devlink: Add comment block for missing port attributes Parav Pandit 2020-08-25 13:58 ` [PATCH net-next 2/3] devlink: Consider other controller while building phys_port_name Parav Pandit 2020-08-26 0:32 ` Jakub Kicinski 2020-08-26 4:27 ` Parav Pandit 2020-08-26 20:07 ` Jakub Kicinski 2020-08-27 4:31 ` Parav Pandit 2020-08-27 18:32 ` Jakub Kicinski 2020-08-27 20:15 ` Parav Pandit 2020-08-27 21:42 ` Jakub Kicinski 2020-08-28 4:27 ` Parav Pandit 2020-08-28 5:08 ` Parav Pandit 2020-08-28 16:43 ` Jakub Kicinski 2020-08-29 3:43 ` Parav Pandit 2020-09-01 8:19 ` Jiri Pirko 2020-09-01 8:53 ` Parav Pandit 2020-09-01 9:17 ` Jiri Pirko 2020-09-01 21:28 ` Jakub Kicinski 2020-09-02 4:26 ` Parav Pandit 2020-09-02 4:44 ` Parav Pandit 2020-09-02 8:00 ` Jiri Pirko 2020-09-02 15:23 ` Jakub Kicinski 2020-09-02 16:18 ` Parav Pandit 2020-09-02 20:10 ` Parav Pandit 2020-09-03 5:54 ` Jiri Pirko 2020-09-03 19:31 ` Jakub Kicinski 2020-09-04 8:43 ` Jiri Pirko 2020-09-06 3:08 ` Parav Pandit 2020-09-06 16:46 ` Jakub Kicinski 2020-09-07 7:21 ` Jiri Pirko 2020-09-07 16:18 ` Jakub Kicinski 2020-08-25 13:58 ` [PATCH net-next 3/3] net/mlx5: E-switch, Set controller attribute for PCI PF and VF ports Parav Pandit 2020-09-08 14:42 ` Parav Pandit [this message] 2020-09-08 14:42 ` [PATCH net-next v2 1/6] net/mlx5: E-switch, Read controller number from device Parav Pandit 2020-09-08 14:42 ` [PATCH net-next v2 2/6] devlink: Add comment block for missing port attributes Parav Pandit 2020-09-08 14:42 ` [PATCH net-next v2 3/6] devlink: Move structure comments outside of structure Parav Pandit 2020-09-08 14:42 ` [PATCH net-next v2 4/6] devlink: Introduce external controller flag Parav Pandit 2020-09-08 14:42 ` [PATCH net-next v2 5/6] devlink: Introduce controller number Parav Pandit 2020-09-08 18:50 ` Jakub Kicinski 2020-09-09 3:06 ` Parav Pandit 2020-09-08 14:42 ` [PATCH net-next v2 6/6] devlink: Use controller while building phys_port_name Parav Pandit 2020-09-09 4:50 ` [PATCH net-next v3 0/6] devlink show controller number Parav Pandit 2020-09-09 4:50 ` [PATCH net-next v3 1/6] net/mlx5: E-switch, Read controller number from device Parav Pandit 2020-09-09 4:50 ` [PATCH net-next v3 2/6] devlink: Add comment block for missing port attributes Parav Pandit 2020-09-09 4:50 ` [PATCH net-next v3 3/6] devlink: Move structure comments outside of structure Parav Pandit 2020-09-09 4:50 ` [PATCH net-next v3 4/6] devlink: Introduce external controller flag Parav Pandit 2020-09-09 4:50 ` [PATCH net-next v3 5/6] devlink: Introduce controller number Parav Pandit 2020-09-09 4:50 ` [PATCH net-next v3 6/6] devlink: Use controller while building phys_port_name Parav Pandit 2020-09-10 15:02 ` David Ahern 2020-09-09 15:34 ` [PATCH net-next v3 0/6] devlink show controller number Jakub Kicinski 2020-09-09 21:20 ` David Miller
Reply instructions: You may reply publicly to this message via plain-text email using any one of the following methods: * Save the following mbox file, import it into your mail client, and reply-to-all from there: mbox Avoid top-posting and favor interleaved quoting: https://en.wikipedia.org/wiki/Posting_style#Interleaved_style * Reply using the --to, --cc, and --in-reply-to switches of git-send-email(1): git send-email \ --in-reply-to=20200908144241.21673-1-parav@mellanox.com \ --to=parav@mellanox.com \ --cc=davem@davemloft.net \ --cc=kuba@kernel.org \ --cc=netdev@vger.kernel.org \ --cc=parav@nvidia.com \ /path/to/YOUR_REPLY https://kernel.org/pub/software/scm/git/docs/git-send-email.html * If your mail client supports setting the In-Reply-To header via mailto: links, try the mailto: linkBe sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox; as well as URLs for NNTP newsgroup(s).