mbox series

[net-next,v2,0/9] Introduce RVU representors

Message ID 20240422095401.14245-1-gakula@marvell.com (mailing list archive)
Headers show
Series Introduce RVU representors | expand

Message

Geetha sowjanya April 22, 2024, 9:53 a.m. UTC
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.

-----------
v1-v2:
 -Fixed build warnings.
 -Address review comments provided by "Kalesh Anakkur Purayil".

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

Comments

Jiri Pirko April 23, 2024, 1:03 p.m. UTC | #1
Mon, Apr 22, 2024 at 11:53:52AM 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.


Could you please add some command outputs to the cover letter? Like
$ devlink dev
$ devlink port

outputs at least.


>
>-----------
>v1-v2:
> -Fixed build warnings.
> -Address review comments provided by "Kalesh Anakkur Purayil".
>
>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
>
>
Jiri Pirko April 23, 2024, 1:10 p.m. UTC | #2
Mon, Apr 22, 2024 at 11:53:52AM 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.

You are missing devlink port created for each representor. Please check
mlx5 for example for the implementation.

git grep DEVLINK_PORT_FLAVOUR_PCI_VF
Geetha sowjanya April 23, 2024, 3:39 p.m. UTC | #3
> -----Original Message-----
> From: Jiri Pirko <jiri@resnulli.us>
> Sent: Tuesday, April 23, 2024 6:33 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 v2 0/9] Introduce RVU representors
> 
> Prioritize security for external emails: Confirm sender and content safety
> before clicking links or opening attachments
> 
> ----------------------------------------------------------------------
> Mon, Apr 22, 2024 at 11:53:52AM 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.
> 
> 
> Could you please add some command outputs to the cover letter? Like $
> devlink dev $ devlink port
> 
#devlink dev eswitch set pci/0002:1c:00.0 mode switchdev
> outputs at least.
> 
> 
> >
> >-----------
> >v1-v2:
> > -Fixed build warnings.
> > -Address review comments provided by "Kalesh Anakkur Purayil".
> >
> >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
> >
> >
Jiri Pirko April 24, 2024, 2:42 p.m. UTC | #4
Tue, Apr 23, 2024 at 05:39:15PM CEST, gakula@marvell.com wrote:
>
>
>> -----Original Message-----
>> From: Jiri Pirko <jiri@resnulli.us>
>> Sent: Tuesday, April 23, 2024 6:33 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 v2 0/9] Introduce RVU representors
>> 
>> Prioritize security for external emails: Confirm sender and content safety
>> before clicking links or opening attachments
>> 
>> ----------------------------------------------------------------------
>> Mon, Apr 22, 2024 at 11:53:52AM 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.
>> 
>> 
>> Could you please add some command outputs to the cover letter? Like $
>> devlink dev $ devlink port
>> 
>#devlink dev eswitch set pci/0002:1c:00.0 mode switchdev

?

>> outputs at least.
>> 
>> 
>> >
>> >-----------
>> >v1-v2:
>> > -Fixed build warnings.
>> > -Address review comments provided by "Kalesh Anakkur Purayil".
>> >
>> >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
>> >
>> >
Geetha sowjanya April 25, 2024, 5:09 a.m. UTC | #5
> -----Original Message-----
> From: Jiri Pirko <jiri@resnulli.us>
> Sent: Wednesday, April 24, 2024 8:12 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: Re: [EXTERNAL] Re: [net-next PATCH v2 0/9] Introduce RVU
> representors
> 
> Tue, Apr 23, 2024 at 05:39:15PM CEST, gakula@marvell.com wrote:
> >
> >
> >> -----Original Message-----
> >> From: Jiri Pirko <jiri@resnulli.us>
> >> Sent: Tuesday, April 23, 2024 6:33 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 v2 0/9] Introduce RVU
> >> representors
> >> ---------------------------------------------------------------------
> >> - Mon, Apr 22, 2024 at 11:53:52AM 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.
> >>
> >>
> >> Could you please add some command outputs to the cover letter? Like $
> >> devlink dev $ devlink port
> >>
> >#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 
# 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

Sorry if I was not clear before. Hope these answers you question.

> 
> ?
> 
> >> outputs at least.
> >>
> >>
> >> >
> >> >-----------
> >> >v1-v2:
> >> > -Fixed build warnings.
> >> > -Address review comments provided by "Kalesh Anakkur Purayil".
> >> >
> >> >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
> >> >
> >> >
Jiri Pirko April 25, 2024, 7 a.m. UTC | #6
Thu, Apr 25, 2024 at 07:09:01AM CEST, gakula@marvell.com wrote:
>
>
>> -----Original Message-----
>> From: Jiri Pirko <jiri@resnulli.us>
>> Sent: Wednesday, April 24, 2024 8:12 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: Re: [EXTERNAL] Re: [net-next PATCH v2 0/9] Introduce RVU
>> representors
>> 
>> Tue, Apr 23, 2024 at 05:39:15PM CEST, gakula@marvell.com wrote:
>> >
>> >
>> >> -----Original Message-----
>> >> From: Jiri Pirko <jiri@resnulli.us>
>> >> Sent: Tuesday, April 23, 2024 6:33 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 v2 0/9] Introduce RVU
>> >> representors
>> >> ---------------------------------------------------------------------
>> >> - Mon, Apr 22, 2024 at 11:53:52AM 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.
>> >>
>> >>
>> >> Could you please add some command outputs to the cover letter? Like $
>> >> devlink dev $ devlink port
>> >>
>> >#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 
># 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
>
>Sorry if I was not clear before. Hope these answers you question.


Again, please add outputs of:
devlink dev
devlink port

I'm not sure why this was not clear the first time I wrote it.

>
>> 
>> ?
>> 
>> >> outputs at least.
>> >>
>> >>
>> >> >
>> >> >-----------
>> >> >v1-v2:
>> >> > -Fixed build warnings.
>> >> > -Address review comments provided by "Kalesh Anakkur Purayil".
>> >> >
>> >> >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
>> >> >
>> >> >
Geetha sowjanya April 28, 2024, 10:49 a.m. UTC | #7
> -----Original Message-----
> From: Jiri Pirko <jiri@resnulli.us>
> Sent: Thursday, April 25, 2024 12:31 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: Re: [EXTERNAL] Re: [net-next PATCH v2 0/9] Introduce RVU
> representors
> 
> Thu, Apr 25, 2024 at 07:09:01AM CEST, gakula@marvell.com wrote:
> >
> >
> >> -----Original Message-----
> >> From: Jiri Pirko <jiri@resnulli.us>
> >> Sent: Wednesday, April 24, 2024 8:12 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: Re: [EXTERNAL] Re: [net-next PATCH v2 0/9] Introduce RVU
> >> representors
> >>
> >> Tue, Apr 23, 2024 at 05:39:15PM CEST, gakula@marvell.com wrote:
> >> >
> >> >
> >> >> -----Original Message-----
> >> >> From: Jiri Pirko <jiri@resnulli.us>
> >> >> Sent: Tuesday, April 23, 2024 6:33 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 v2 0/9] Introduce RVU
> >> >> representors
> >> >> ------------------------------------------------------------------
> >> >> ---
> >> >> - Mon, Apr 22, 2024 at 11:53:52AM 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.
> >> >>
> >> >>
> >> >> Could you please add some command outputs to the cover letter?
> >> >> Like $ devlink dev $ devlink port
> >> >>
> >> >#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 # 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
> >
> >Sorry if I was not clear before. Hope these answers you question.
> 
> 
> Again, please add outputs of:
> devlink dev
> devlink port
~# 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
pci/0002:1c:00.0
pci/0002:01:00.1
pci/0002:01:00.2
pci/0002:01:00.3
pci/0002:01:00.4
pci/0002:01:00.5
pci/0002:01:00.6
pci/0002:01:00.7
pci/0002:01:01.0
pci/0002:01:01.1
pci/0002:01:01.2
pci/0002:01:01.3
pci/0002:01:01.4
pci/0002:01:01.5
pci/0002:01:01.6
pci/0002:01:01.7
pci/0002:01:02.0
> 
> I'm not sure why this was not clear the first time I wrote it.
> 
> >
> >>
> >> ?
> >>
> >> >> outputs at least.
> >> >>
> >> >>
> >> >> >
> >> >> >-----------
> >> >> >v1-v2:
> >> >> > -Fixed build warnings.
> >> >> > -Address review comments provided by "Kalesh Anakkur Purayil".
> >> >> >
> >> >> >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
> >> >> >
> >> >> >