Tue, May 07, 2024 at 01:45:01PM CEST, [email protected] wrote: >Hi, > >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. > >Most recent previous patchset (not containing port representor for SF >support). [1] > >[1] >https://lore.kernel.org/netdev/[email protected]/ >
I don't understand howcome the patchset is v1, yet there are patches that came through multiple iterations alread. Changelog is missing completely :/ >Michal Swiatkowski (7): > ice: treat subfunction VSI the same as PF VSI > ice: create port representor for SF > ice: don't set target VSI for subfunction > 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 > >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 | 48 ++ > .../net/ethernet/intel/ice/devlink/devlink.h | 1 + > .../ethernet/intel/ice/devlink/devlink_port.c | 516 ++++++++++++++++++ > .../ethernet/intel/ice/devlink/devlink_port.h | 43 ++ > 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 | 85 ++- > 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 | 195 +++++-- > drivers/net/ethernet/intel/ice/ice_repr.h | 22 +- > drivers/net/ethernet/intel/ice/ice_sf_eth.c | 329 +++++++++++ > 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, 1362 insertions(+), 138 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 > >
