netdev.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [iwl-next v1 00/15] ice: support devlink subfunctions
@ 2024-02-13  7:27 Michal Swiatkowski
  2024-02-13  7:27 ` [iwl-next v1 01/15] ice: move devlink port code to a separate file Michal Swiatkowski
                   ` (14 more replies)
  0 siblings, 15 replies; 36+ messages in thread
From: Michal Swiatkowski @ 2024-02-13  7:27 UTC (permalink / raw)
  To: intel-wired-lan
  Cc: netdev, jacob.e.keller, michal.kubiak, maciej.fijalkowski,
	sridhar.samudrala, przemyslaw.kitszel, wojciech.drewek,
	pio.raczynski, Michal Swiatkowski

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

Patch 1    -> Move devlink port related code to separate file
Patch 2-5  -> Add basic support for devlink subfunctions
Patch 6    -> Expose auxiliary bus devices for subfunctions
Patch 7    -> Expose auxiliary device sfnum attribute in sysfs
Patch 8-13 -> Add eswitch support for subfunctions

Michal Swiatkowski (8):
  ice: store SF data in VSI struct
  ice: store representor ID in bridge port
  ice: create port representor for SF
  ice: check if SF is ready in ethtool ops
  ice: netdevice ops for SF representor
  ice: support subfunction devlink Tx topology
  ice: basic support for VLAN in subfunctions
  ice: move ice_devlink.[ch] to devlink folder

Pawel Chmielewski (1):
  ice: add subfunctions ethtool ops

Piotr Raczynski (6):
  ice: move devlink port code to a separate file
  ice: add new VSI type for subfunctions
  ice: export ice ndo_ops functions
  ice: add basic devlink subfunctions support
  ice: add subfunction aux driver support
  ice: add auxiliary device sfnum attribute

 drivers/net/ethernet/intel/ice/Makefile       |   6 +-
 .../intel/ice/{ => devlink}/ice_devlink.c     | 468 +--------
 .../intel/ice/{ => devlink}/ice_devlink.h     |   3 +
 .../intel/ice/devlink/ice_devlink_port.c      | 986 ++++++++++++++++++
 .../intel/ice/devlink/ice_devlink_port.h      |  49 +
 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  |   3 +-
 drivers/net/ethernet/intel/ice/ice_eswitch.c  |  84 +-
 drivers/net/ethernet/intel/ice/ice_eswitch.h  |  22 +-
 .../net/ethernet/intel/ice/ice_eswitch_br.c   |   4 +-
 .../net/ethernet/intel/ice/ice_eswitch_br.h   |   1 +
 drivers/net/ethernet/intel/ice/ice_ethtool.c  |  43 +-
 drivers/net/ethernet/intel/ice/ice_lib.c      |  53 +-
 drivers/net/ethernet/intel/ice/ice_lib.h      |   3 +
 drivers/net/ethernet/intel/ice/ice_main.c     |  70 +-
 drivers/net/ethernet/intel/ice/ice_repr.c     | 197 ++--
 drivers/net/ethernet/intel/ice/ice_repr.h     |  23 +-
 drivers/net/ethernet/intel/ice/ice_sf_eth.c   | 354 +++++++
 drivers/net/ethernet/intel/ice/ice_sf_eth.h   |  36 +
 .../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 +-
 28 files changed, 1902 insertions(+), 578 deletions(-)
 rename drivers/net/ethernet/intel/ice/{ => devlink}/ice_devlink.c (80%)
 rename drivers/net/ethernet/intel/ice/{ => devlink}/ice_devlink.h (90%)
 create mode 100644 drivers/net/ethernet/intel/ice/devlink/ice_devlink_port.c
 create mode 100644 drivers/net/ethernet/intel/ice/devlink/ice_devlink_port.h
 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] 36+ messages in thread

end of thread, other threads:[~2024-02-14 19:45 UTC | newest]

Thread overview: 36+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2024-02-13  7:27 [iwl-next v1 00/15] ice: support devlink subfunctions Michal Swiatkowski
2024-02-13  7:27 ` [iwl-next v1 01/15] ice: move devlink port code to a separate file Michal Swiatkowski
2024-02-13  7:27 ` [iwl-next v1 02/15] ice: add new VSI type for subfunctions Michal Swiatkowski
2024-02-13  7:27 ` [iwl-next v1 03/15] ice: export ice ndo_ops functions Michal Swiatkowski
2024-02-13  7:27 ` [iwl-next v1 04/15] ice: add basic devlink subfunctions support Michal Swiatkowski
2024-02-13  8:55   ` Jiri Pirko
2024-02-13  9:39     ` [Intel-wired-lan] " Michal Swiatkowski
2024-02-13 11:27       ` Jiri Pirko
2024-02-13 12:02         ` Michal Swiatkowski
2024-02-13 14:57           ` Jiri Pirko
2024-02-14  6:26             ` Michal Swiatkowski
2024-02-14 19:45     ` Jacob Keller
2024-02-13  7:27 ` [iwl-next v1 05/15] ice: add subfunctions ethtool ops Michal Swiatkowski
2024-02-13  7:27 ` [iwl-next v1 06/15] ice: add subfunction aux driver support Michal Swiatkowski
2024-02-13  8:57   ` Jiri Pirko
2024-02-13  9:43     ` Michal Swiatkowski
2024-02-13 11:28       ` Jiri Pirko
2024-02-13 12:03         ` Michal Swiatkowski
2024-02-13  7:27 ` [iwl-next v1 07/15] ice: add auxiliary device sfnum attribute Michal Swiatkowski
2024-02-13  8:59   ` Jiri Pirko
2024-02-13  9:53     ` Michal Swiatkowski
2024-02-13 11:29       ` Jiri Pirko
2024-02-13 11:55         ` Michal Swiatkowski
2024-02-13 22:04           ` Jacob Keller
2024-02-14  8:45             ` Jiri Pirko
2024-02-14 19:41               ` Keller, Jacob E
2024-02-13  7:27 ` [iwl-next v1 08/15] ice: store SF data in VSI struct Michal Swiatkowski
2024-02-13  7:27 ` [iwl-next v1 09/15] ice: store representor ID in bridge port Michal Swiatkowski
2024-02-13  7:27 ` [iwl-next v1 10/15] ice: create port representor for SF Michal Swiatkowski
2024-02-13  9:00   ` Jiri Pirko
2024-02-13  9:55     ` Michal Swiatkowski
2024-02-13  7:27 ` [iwl-next v1 11/15] ice: check if SF is ready in ethtool ops Michal Swiatkowski
2024-02-13  7:27 ` [iwl-next v1 12/15] ice: netdevice ops for SF representor Michal Swiatkowski
2024-02-13  7:27 ` [iwl-next v1 13/15] ice: support subfunction devlink Tx topology Michal Swiatkowski
2024-02-13  7:27 ` [iwl-next v1 14/15] ice: basic support for VLAN in subfunctions Michal Swiatkowski
2024-02-13  7:27 ` [iwl-next v1 15/15] ice: move ice_devlink.[ch] to devlink folder Michal Swiatkowski

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