netdev.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH net-next 00/15][pull request] ice: support devlink subfunction
@ 2024-07-29 22:34 Tony Nguyen
  2024-07-29 22:34 ` [PATCH net-next 01/15] ice: add new VSI type for subfunctions Tony Nguyen
                   ` (15 more replies)
  0 siblings, 16 replies; 18+ messages in thread
From: Tony Nguyen @ 2024-07-29 22:34 UTC (permalink / raw)
  To: davem, kuba, pabeni, edumazet, netdev; +Cc: Tony Nguyen, michal.swiatkowski

Michal Swiatkowski says:

Currently ice driver does not allow creating more than one networking
device per physical function. The only way to have more hardware backed
netdev is to use SR-IOV.

Following patchset adds support for devlink port API. For each new
pcisf type port, driver allocates new VSI, configures all resources
needed, including dynamically MSIX vectors, program rules and registers
new netdev.

This series supports only one Tx/Rx queue pair per subfunction.

Example commands:
devlink port add pci/0000:31:00.1 flavour pcisf pfnum 1 sfnum 1000
devlink port function set pci/0000:31:00.1/1 hw_addr 00:00:00:00:03:14
devlink port function set pci/0000:31:00.1/1 state active
devlink port function del pci/0000:31:00.1/1

Make the port representor and eswitch code generic to support
subfunction representor type.

VSI configuration is slightly different between VF and SF. It needs to
be reflected in the code.

The following are changes since commit 1722389b0d863056d78287a120a1d6cadb8d4f7b:
  Merge tag 'net-6.11-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/netdev/net
and are available in the git repository at:
  git://git.kernel.org/pub/scm/linux/kernel/git/tnguy/next-queue 100GbE

Michal Swiatkowski (8):
  ice: treat subfunction VSI the same as PF VSI
  ice: make representor code generic
  ice: create port representor for SF
  ice: don't set target VSI for subfunction
  ice: check if SF is ready in ethtool ops
  ice: implement netdevice ops for SF representor
  ice: support subfunction devlink Tx topology
  ice: basic support for VLAN in subfunctions

Piotr Raczynski (7):
  ice: add new VSI type for subfunctions
  ice: export ice ndo_ops functions
  ice: add basic devlink subfunctions support
  ice: allocate devlink for subfunction
  ice: base subfunction aux driver
  ice: implement netdev for subfunction
  ice: allow to activate and deactivate subfunction

 drivers/net/ethernet/intel/ice/Makefile       |   2 +
 .../net/ethernet/intel/ice/devlink/devlink.c  |  47 ++
 .../net/ethernet/intel/ice/devlink/devlink.h  |   1 +
 .../ethernet/intel/ice/devlink/devlink_port.c | 503 ++++++++++++++++++
 .../ethernet/intel/ice/devlink/devlink_port.h |  46 ++
 drivers/net/ethernet/intel/ice/ice.h          |  19 +-
 drivers/net/ethernet/intel/ice/ice_base.c     |   5 +-
 drivers/net/ethernet/intel/ice/ice_dcb_lib.c  |   1 +
 drivers/net/ethernet/intel/ice/ice_eswitch.c  | 111 +++-
 drivers/net/ethernet/intel/ice/ice_eswitch.h  |  22 +-
 drivers/net/ethernet/intel/ice/ice_ethtool.c  |   7 +-
 drivers/net/ethernet/intel/ice/ice_lib.c      |  52 +-
 drivers/net/ethernet/intel/ice/ice_lib.h      |   3 +
 drivers/net/ethernet/intel/ice/ice_main.c     |  66 ++-
 drivers/net/ethernet/intel/ice/ice_repr.c     | 211 ++++++--
 drivers/net/ethernet/intel/ice/ice_repr.h     |  22 +-
 drivers/net/ethernet/intel/ice/ice_sf_eth.c   | 331 ++++++++++++
 drivers/net/ethernet/intel/ice/ice_sf_eth.h   |  33 ++
 .../ethernet/intel/ice/ice_sf_vsi_vlan_ops.c  |  21 +
 .../ethernet/intel/ice/ice_sf_vsi_vlan_ops.h  |  13 +
 drivers/net/ethernet/intel/ice/ice_sriov.c    |   4 +-
 drivers/net/ethernet/intel/ice/ice_txrx.c     |   2 +-
 drivers/net/ethernet/intel/ice/ice_type.h     |   1 +
 drivers/net/ethernet/intel/ice/ice_vf_lib.c   |   4 +-
 .../net/ethernet/intel/ice/ice_vsi_vlan_ops.c |   4 +
 drivers/net/ethernet/intel/ice/ice_xsk.c      |   2 +-
 26 files changed, 1396 insertions(+), 137 deletions(-)
 create mode 100644 drivers/net/ethernet/intel/ice/ice_sf_eth.c
 create mode 100644 drivers/net/ethernet/intel/ice/ice_sf_eth.h
 create mode 100644 drivers/net/ethernet/intel/ice/ice_sf_vsi_vlan_ops.c
 create mode 100644 drivers/net/ethernet/intel/ice/ice_sf_vsi_vlan_ops.h

-- 
2.42.0


^ permalink raw reply	[flat|nested] 18+ messages in thread

end of thread, other threads:[~2024-07-31 15:45 UTC | newest]

Thread overview: 18+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2024-07-29 22:34 [PATCH net-next 00/15][pull request] ice: support devlink subfunction Tony Nguyen
2024-07-29 22:34 ` [PATCH net-next 01/15] ice: add new VSI type for subfunctions Tony Nguyen
2024-07-29 22:34 ` [PATCH net-next 02/15] ice: export ice ndo_ops functions Tony Nguyen
2024-07-29 22:34 ` [PATCH net-next 03/15] ice: add basic devlink subfunctions support Tony Nguyen
2024-07-29 22:34 ` [PATCH net-next 04/15] ice: treat subfunction VSI the same as PF VSI Tony Nguyen
2024-07-29 22:34 ` [PATCH net-next 05/15] ice: allocate devlink for subfunction Tony Nguyen
2024-07-29 22:34 ` [PATCH net-next 06/15] ice: base subfunction aux driver Tony Nguyen
2024-07-29 22:34 ` [PATCH net-next 07/15] ice: implement netdev for subfunction Tony Nguyen
2024-07-29 22:34 ` [PATCH net-next 08/15] ice: make representor code generic Tony Nguyen
2024-07-29 22:34 ` [PATCH net-next 09/15] ice: create port representor for SF Tony Nguyen
2024-07-29 22:34 ` [PATCH net-next 10/15] ice: don't set target VSI for subfunction Tony Nguyen
2024-07-29 22:34 ` [PATCH net-next 11/15] ice: check if SF is ready in ethtool ops Tony Nguyen
2024-07-29 22:34 ` [PATCH net-next 12/15] ice: implement netdevice ops for SF representor Tony Nguyen
2024-07-29 22:34 ` [PATCH net-next 13/15] ice: support subfunction devlink Tx topology Tony Nguyen
2024-07-29 22:34 ` [PATCH net-next 14/15] ice: basic support for VLAN in subfunctions Tony Nguyen
2024-07-29 22:34 ` [PATCH net-next 15/15] ice: allow to activate and deactivate subfunction Tony Nguyen
2024-07-31  1:45 ` [PATCH net-next 00/15][pull request] ice: support devlink subfunction Jakub Kicinski
2024-07-31 15:45   ` Tony Nguyen

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).