Message ID | 20240428105312.9731-1-gakula@marvell.com (mailing list archive) |
---|---|
Headers | show |
Series | Introduce RVU representors | expand |
Sun, Apr 28, 2024 at 12:53:03PM CEST, gakula@marvell.com 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 > >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 ># devlink dev eswitch set pci/0002:1c:00.0 mode switchdev I specifically asked for output of: devlink dev devlink port Why you ignored my requests? ># 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 > >----------- >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. > >Geetha sowjanya (9): > 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 > > .../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 | 73 +++ > .../net/ethernet/marvell/octeontx2/af/npc.h | 1 + > .../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 | 75 ++- > .../marvell/octeontx2/af/rvu_npc_fs.c | 4 + > .../ethernet/marvell/octeontx2/af/rvu_rep.c | 457 ++++++++++++++ > .../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 | 53 +- > .../marvell/octeontx2/nic/otx2_common.h | 83 ++- > .../marvell/octeontx2/nic/otx2_devlink.c | 47 ++ > .../ethernet/marvell/octeontx2/nic/otx2_pf.c | 305 ++++++--- > .../ethernet/marvell/octeontx2/nic/otx2_reg.h | 1 + > .../marvell/octeontx2/nic/otx2_txrx.c | 35 +- > .../marvell/octeontx2/nic/otx2_txrx.h | 3 +- > .../ethernet/marvell/octeontx2/nic/otx2_vf.c | 18 +- > .../net/ethernet/marvell/octeontx2/nic/rep.c | 596 ++++++++++++++++++ > .../net/ethernet/marvell/octeontx2/nic/rep.h | 51 ++ > 26 files changed, 1707 insertions(+), 225 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 > >
> -----Original Message----- > From: Jiri Pirko <jiri@resnulli.us> > Sent: Monday, April 29, 2024 5:01 PM > To: Geethasowjanya Akula <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; Sunil > Kovvuri Goutham <sgoutham@marvell.com>; Subbaraya Sundeep Bhatta > <sbhatta@marvell.com>; Hariprasad Kelam <hkelam@marvell.com> > Subject: [EXTERNAL] Re: [net-next PATCH v3 0/9] Introduce RVU representors > > ---------------------------------------------------------------------- > Sun, Apr 28, 2024 at 12:53:03PM CEST, gakula@marvell.com 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 > > > >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 # devlink dev eswitch set pci/0002:1c:00.0 > >mode switchdev > > I specifically asked for output of: > devlink dev > devlink port > > Why you ignored my requests? > Sorry, I have interrupted wrongly and sent the output as response to the previous email. Will add output to the commit message in next version. > > ># 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 > > > >----------- > >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. > > > >Geetha sowjanya (9): > > 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 > > > > .../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 | 73 +++ > > .../net/ethernet/marvell/octeontx2/af/npc.h | 1 + > > .../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 | 75 ++- > > .../marvell/octeontx2/af/rvu_npc_fs.c | 4 + > > .../ethernet/marvell/octeontx2/af/rvu_rep.c | 457 ++++++++++++++ > > .../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 | 53 +- > > .../marvell/octeontx2/nic/otx2_common.h | 83 ++- > > .../marvell/octeontx2/nic/otx2_devlink.c | 47 ++ > > .../ethernet/marvell/octeontx2/nic/otx2_pf.c | 305 ++++++--- > > .../ethernet/marvell/octeontx2/nic/otx2_reg.h | 1 + > > .../marvell/octeontx2/nic/otx2_txrx.c | 35 +- > > .../marvell/octeontx2/nic/otx2_txrx.h | 3 +- > > .../ethernet/marvell/octeontx2/nic/otx2_vf.c | 18 +- > > .../net/ethernet/marvell/octeontx2/nic/rep.c | 596 ++++++++++++++++++ > > .../net/ethernet/marvell/octeontx2/nic/rep.h | 51 ++ > > 26 files changed, 1707 insertions(+), 225 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 > > > >