Thread (31 messages) 31 messages, 3 authors, 2024-08-06

Re: [PATCH net-next v2 00/15][pull request] ice: support devlink subfunction

From: Michal Swiatkowski <hidden>
Date: 2024-08-02 04:50:02

On Thu, Aug 01, 2024 at 04:35:15PM +0200, Jiri Pirko wrote:
Thu, Aug 01, 2024 at 12:10:11AM CEST, anthony.l.nguyen@intel.com wrote:
quoted
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
Hmm, interesting. Did you run these commands or just made that up? There
is no "devlink port function del", in case you wonder why I'm asking. I
would expect you run all the commands you put into examples. Could you?
I run all commands, there is mistake in copying, should be:
devlink port del pci/0000:31:00.1/1
of course.
quoted
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.
---
v2:
- Add more recipients

v1: https://lore.kernel.org/netdev/20240729223431.681842-1-anthony.l.nguyen@intel.com/ (local)

The following are changes since commit 990c304930138dcd7a49763417e6e5313b81293e:
 Add support for PIO p flag
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
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help