From: Michal Swiatkowski <michal.swiatkowski@linux.intel.com>
To: Geetha sowjanya <gakula@marvell.com>
Cc: netdev@vger.kernel.org, linux-kernel@vger.kernel.org,
kuba@kernel.org, davem@davemloft.net, pabeni@redhat.com,
edumazet@google.com, sgoutham@marvell.com, sbhatta@marvell.com,
hkelam@marvell.com
Subject: Re: [net-next PATCH v7 00/10] Introduce RVU representors
Date: Wed, 3 Jul 2024 12:44:27 +0200 [thread overview]
Message-ID: <ZoUri0XggubbjQvg@mev-dev.igk.intel.com> (raw)
In-Reply-To: <20240628133517.8591-1-gakula@marvell.com>
On Fri, Jun 28, 2024 at 07:05:07PM +0530, Geetha sowjanya wrote:
> This series adds representor support for each rvu devices.
> When switchdev mode is enabled, representor netdev is registered
> for each rvu device. In implementation of representor model,
> one NIX HW LF with multiple SQ and RQ is reserved, where each
> RQ and SQ of the LF are mapped to a representor. A loopback channel
> is reserved to support packet path between representors and VFs.
> CN10K silicon supports 2 types of MACs, RPM and SDP. This
> patch set adds representor support for both RPM and SDP MAC
> interfaces.
>
> - Patch 1: Refactors and exports the shared service functions.
> - Patch 2: Implements basic representor driver.
> - Patch 3: Add devlink support to create representor netdevs that
> can be used to manage VFs.
> - Patch 4: Implements basec netdev_ndo_ops.
> - Patch 5: Installs tcam rules to route packets between representor and
> VFs.
> - Patch 6: Enables fetching VF stats via representor interface
> - Patch 7: Adds support to sync link state between representors and VFs .
> - Patch 8: Enables configuring VF MTU via representor netdevs.
> - Patch 9: Add representors for sdp MAC.
> - Patch 10: Add devlink port support.
>
> Command to create VF representor
> #devlink dev eswitch set pci/0002:1c:00.0 mode switchdev
> VF representors are created for each VF when switch mode is set switchdev on representor PCI device
Does it mean that VFs needs to be created before going to switchdev
mode? (in legacy mode). Keep in mind that in both mellanox and ice
driver assume that VFs are created after chaning mode to switchdev (mode
can't be changed if VFs).
Different order can be problematic. For example (AFAIK) kubernetes
scripts for switchdev assume that first is switching to switchdev and
VFs creation is done after that.
Thanks,
Michal
> # devlink dev eswitch set pci/0002:1c:00.0 mode switchdev
> # ip link show
> 25: r0p1: <BROADCAST,MULTICAST> mtu 1500 qdisc noop state DOWN mode DEFAULT group default qlen 1000
> link/ether 32:0f:0f:f0:60:f1 brd ff:ff:ff:ff:ff:ff
> 26: r1p1: <BROADCAST,MULTICAST> mtu 1500 qdisc noop state DOWN mode DEFAULT group default qlen 1000
> link/ether 3e:5d:9a:4d:e7:7b brd ff:ff:ff:ff:ff:ff
>
> #devlink dev
> pci/0002:01:00.0
> pci/0002:02:00.0
> pci/0002:03:00.0
> pci/0002:04:00.0
> pci/0002:05:00.0
> pci/0002:06:00.0
> pci/0002:07:00.0
>
> ~# devlink port
> pci/0002:1c:00.0/0: type eth netdev r0p1v0 flavour pcipf controller 0 pfnum 1 vfnum 0 external false splittable false
> pci/0002:1c:00.0/1: type eth netdev r1p1v1 flavour pcivf controller 0 pfnum 1 vfnum 1 external false splittable false
> pci/0002:1c:00.0/2: type eth netdev r2p1v2 flavour pcivf controller 0 pfnum 1 vfnum 2 external false splittable false
> pci/0002:1c:00.0/3: type eth netdev r3p1v3 flavour pcivf controller 0 pfnum 1 vfnum 3 external false splittable false
>
> -----------
> v1-v2:
> -Fixed build warnings.
> -Address review comments provided by "Kalesh Anakkur Purayil".
>
> v2-v3:
> - Used extack for error messages.
> - As suggested reworked commit messages.
> - Fixed sparse warning.
>
> v3-v4:
> - Patch 2 & 3: Fixed coccinelle reported warnings.
> - Patch 10: Added devlink port support.
>
> v4-v5:
> - Patch 3: Removed devm_* usage in rvu_rep_create()
> - Patch 3: Fixed build warnings.
>
> v5-v6:
> - Addressed review comments provided by "Simon Horman".
> - Added review tag.
>
> v6-v7:
> - Rebased on top net-next branch.
>
> Geetha sowjanya (10):
> octeontx2-pf: Refactoring RVU driver
> octeontx2-pf: RVU representor driver
> octeontx2-pf: Create representor netdev
> octeontx2-pf: Add basic net_device_ops
> octeontx2-af: Add packet path between representor and VF
> octeontx2-pf: Get VF stats via representor
> octeontx2-pf: Add support to sync link state between representor and
> VFs
> octeontx2-pf: Configure VF mtu via representor
> octeontx2-pf: Add representors for sdp MAC
> octeontx2-pf: Add devlink port support
>
> .../net/ethernet/marvell/octeontx2/Kconfig | 8 +
> .../ethernet/marvell/octeontx2/af/Makefile | 3 +-
> .../ethernet/marvell/octeontx2/af/common.h | 2 +
> .../net/ethernet/marvell/octeontx2/af/mbox.h | 74 ++
> .../net/ethernet/marvell/octeontx2/af/npc.h | 1 +
> .../net/ethernet/marvell/octeontx2/af/rvu.c | 11 +
> .../net/ethernet/marvell/octeontx2/af/rvu.h | 30 +-
> .../marvell/octeontx2/af/rvu_debugfs.c | 27 -
> .../marvell/octeontx2/af/rvu_devlink.c | 6 +
> .../ethernet/marvell/octeontx2/af/rvu_nix.c | 81 ++-
> .../marvell/octeontx2/af/rvu_npc_fs.c | 5 +
> .../ethernet/marvell/octeontx2/af/rvu_reg.h | 4 +
> .../ethernet/marvell/octeontx2/af/rvu_rep.c | 464 ++++++++++++
> .../marvell/octeontx2/af/rvu_struct.h | 26 +
> .../marvell/octeontx2/af/rvu_switch.c | 20 +-
> .../ethernet/marvell/octeontx2/nic/Makefile | 2 +
> .../ethernet/marvell/octeontx2/nic/cn10k.c | 4 +-
> .../ethernet/marvell/octeontx2/nic/cn10k.h | 2 +-
> .../marvell/octeontx2/nic/otx2_common.c | 56 +-
> .../marvell/octeontx2/nic/otx2_common.h | 84 ++-
> .../marvell/octeontx2/nic/otx2_devlink.c | 49 ++
> .../ethernet/marvell/octeontx2/nic/otx2_pf.c | 305 +++++---
> .../marvell/octeontx2/nic/otx2_txrx.c | 38 +-
> .../marvell/octeontx2/nic/otx2_txrx.h | 3 +-
> .../ethernet/marvell/octeontx2/nic/otx2_vf.c | 19 +-
> .../net/ethernet/marvell/octeontx2/nic/rep.c | 684 ++++++++++++++++++
> .../net/ethernet/marvell/octeontx2/nic/rep.h | 53 ++
> 27 files changed, 1834 insertions(+), 227 deletions(-)
> create mode 100644 drivers/net/ethernet/marvell/octeontx2/af/rvu_rep.c
> create mode 100644 drivers/net/ethernet/marvell/octeontx2/nic/rep.c
> create mode 100644 drivers/net/ethernet/marvell/octeontx2/nic/rep.h
>
> --
> 2.25.1
>
next prev parent reply other threads:[~2024-07-03 10:45 UTC|newest]
Thread overview: 33+ messages / expand[flat|nested] mbox.gz Atom feed top
2024-06-28 13:35 [net-next PATCH v7 00/10] Introduce RVU representors Geetha sowjanya
2024-06-28 13:35 ` [net-next PATCH v7 01/10] octeontx2-pf: Refactoring RVU driver Geetha sowjanya
2024-07-01 10:49 ` Simon Horman
2024-06-28 13:35 ` [net-next PATCH v7 02/10] octeontx2-pf: RVU representor driver Geetha sowjanya
2024-07-01 10:49 ` Simon Horman
2024-07-03 17:33 ` William Tu
2024-07-04 9:33 ` [EXTERNAL] " Geethasowjanya Akula
2024-06-28 13:35 ` [net-next PATCH v7 03/10] octeontx2-pf: Create representor netdev Geetha sowjanya
2024-07-01 10:50 ` Simon Horman
2024-06-28 13:35 ` [net-next PATCH v7 04/10] octeontx2-pf: Add basic net_device_ops Geetha sowjanya
2024-07-01 10:50 ` Simon Horman
2024-06-28 13:35 ` [net-next PATCH v7 05/10] octeontx2-af: Add packet path between representor and VF Geetha sowjanya
2024-07-01 10:50 ` Simon Horman
2024-06-28 13:35 ` [net-next PATCH v7 06/10] octeontx2-pf: Get VF stats via representor Geetha sowjanya
2024-07-02 3:13 ` Jakub Kicinski
2024-07-02 6:41 ` [EXTERNAL] " Geethasowjanya Akula
2024-07-02 13:56 ` Jakub Kicinski
2024-07-03 9:08 ` Geethasowjanya Akula
2024-07-03 18:33 ` Jakub Kicinski
2024-07-04 9:39 ` Geethasowjanya Akula
2024-06-28 13:35 ` [net-next PATCH v7 07/10] octeontx2-pf: Add support to sync link state between representor and VFs Geetha sowjanya
2024-06-28 13:35 ` [net-next PATCH v7 08/10] octeontx2-pf: Configure VF mtu via representor Geetha sowjanya
2024-06-28 13:35 ` [net-next PATCH v7 09/10] octeontx2-pf: Add representors for sdp MAC Geetha sowjanya
2024-07-01 10:51 ` Simon Horman
2024-06-28 13:35 ` [net-next PATCH v7 10/10] octeontx2-pf: Add devlink port support Geetha sowjanya
2024-07-02 3:12 ` [net-next PATCH v7 00/10] Introduce RVU representors Jakub Kicinski
2024-07-03 9:10 ` [EXTERNAL] " Geethasowjanya Akula
2024-07-03 10:44 ` Michal Swiatkowski [this message]
2024-07-03 14:34 ` Geethasowjanya Akula
2024-07-04 7:14 ` Michal Swiatkowski
2024-07-04 13:48 ` Geethasowjanya Akula
2024-07-05 8:34 ` Michal Swiatkowski
2024-07-05 11:12 ` Geethasowjanya Akula
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=ZoUri0XggubbjQvg@mev-dev.igk.intel.com \
--to=michal.swiatkowski@linux.intel.com \
--cc=davem@davemloft.net \
--cc=edumazet@google.com \
--cc=gakula@marvell.com \
--cc=hkelam@marvell.com \
--cc=kuba@kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=netdev@vger.kernel.org \
--cc=pabeni@redhat.com \
--cc=sbhatta@marvell.com \
--cc=sgoutham@marvell.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: link
Be 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).