[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Message-ID: <20240213072724.77275-1-michal.swiatkowski@linux.intel.com>
Date: Tue, 13 Feb 2024 08:27:09 +0100
From: Michal Swiatkowski <michal.swiatkowski@...ux.intel.com>
To: intel-wired-lan@...ts.osuosl.org
Cc: netdev@...r.kernel.org,
jacob.e.keller@...el.com,
michal.kubiak@...el.com,
maciej.fijalkowski@...el.com,
sridhar.samudrala@...el.com,
przemyslaw.kitszel@...el.com,
wojciech.drewek@...el.com,
pio.raczynski@...il.com,
Michal Swiatkowski <michal.swiatkowski@...ux.intel.com>
Subject: [iwl-next v1 00/15] ice: support devlink subfunctions
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
Powered by blists - more mailing lists