[PATCH 0/6] common/sfc_efx/base: add Medford4 VF support

Stephen Hemminger stephen at networkplumber.org
Tue Aug 11 23:05:51 CEST 2026


On Tue, 11 Aug 2026 21:50:19 +0400
Ivan Malov <ivan.malov at arknetworks.am> wrote:

> This series enables DPDK to use the sfc driver
> on a Medford4 VF alongside the PF.
> 
> The first patch wires EVB switch operations into the Medford4
> libefx implementation, allowing the PF to manage VFs.
> 
> Starting with MCFW 1.4.0.8, VFs may use the netport MCDI for basic port
> configuration, though several operations remain restricted. The
> remaining four patches address each restriction: dummy fixed
> port properties, suppressed event subscription, denied FCS
> and flow control, and ENOTSUP for periodic MAC stats DMA.
> 
> This series depends on the VADAPTER statistics series.
> 
> Ivan Malov (6):
>   common/sfc_efx/base: let Medford4 PF manage VFs
>   common/sfc_efx/base: indicate dummy netport properties on VF
>   common/sfc_efx/base: skip netport event subscriptions on VFs
>   common/sfc_efx/base: deny tuning FCS and flow control to VFs
>   common/sfc_efx/base: deny periodic MAC stats delivery to VFs
>   doc: announce VF support of AMD Solarflare X45xx family NICs
> 
>  doc/guides/rel_notes/release_26_11.rst |  4 ++
>  drivers/common/sfc_efx/base/efx_evb.c  |  6 ++
>  drivers/common/sfc_efx/base/efx_np.c   | 91 ++++++++++++++++++++++----
>  3 files changed, 89 insertions(+), 12 deletions(-)
> 

Some AI feedback, no real errors

Series: [PATCH 0/6] SFC Medford4 VF support (Ivan Malov)
Reviewed against DPDK main @ c1a46b9; all 6 patches apply with git am.
Full-series build (gcc 13, -Dwerror=true) is clean.

Patch 2/6: common/sfc_efx/base: indicate dummy netport properties on VF

Warning: The dummy capability mask makes the VF report a 1 Gbps port.

  efx_np_get_fixed_port_props() returns only EFX_PHY_CAP_1000FDX as the
  supported link speed. That value flows to epp->ep_phy_cap_mask, then to
  sfc_port_attach() via efx_phy_adv_cap_get(EFX_PHY_CAP_PERM), and finally
  to dev_info.speed_capa in sfc_dev_infos_get(). A VF on an X4522/X4542
  will therefore advertise RTE_ETH_LINK_SPEED_1G and nothing else.

  The consequence is not cosmetic. sfc_check_conf() computes

      sa->port.phy_adv_cap = sfc_phy_cap_from_link_speeds(conf->link_speeds)
                             & sa->port.phy_adv_cap_mask;

  and fails configure with EINVAL if the result is empty. An application
  that requests a specific speed (RTE_ETH_LINK_SPEED_25G, for example)
  rather than autoneg cannot configure the VF at all, and one that reads
  speed_capa to pick a speed will pick 1G.

  efx_np_link_state() is called a few lines later in efx_np_attach() and
  does work on a VF; ls.enls_adv_cap_mask holds the real advertised
  abilities. Suggest deriving the VF capability mask from that instead of
  hardcoding 1000FDX, e.g. fold ls.enls_adv_cap_mask into
  epp->ep_phy_cap_mask for VFs after the efx_np_link_state() call.

Info: sup_cap_rawp and loopback_cap_maskp are left untouched on the VF
  path. This is not a use-of-uninitialised bug -- efx_nic_create() uses
  EFSYS_KMEM_ALLOC, which is rte_zmalloc, so epp->ep_np_cap_data_raw and
  ep_np_loopback_cap_mask are zero. Worth a note in the commit message
  that zero is the intended value, since efx_np_assign_lane_counts() and
  efx_np_assign_loopback_props() both consume them.

Info: The dummy mask sets EFX_PHY_CAP_AN, and efx_np_attach() sets the
  same bit again from ls.enls_an_supported at line 1026. Harmless, but
  one of the two is redundant.

Patch 6/6: doc: announce VF support of AMD Solarflare X45xx family NICs

Warning: Commit message claims work that is not in this series.

  "The Solarflare PMD has been updated to support VADAPTER statistics and
  to let the user attach to the X4 VFs". There is no VADAPTER statistics
  change in this series, and grep finds no vadaptor/VADAPTER reference in
  drivers/net/sfc or in the release notes hunk. Either drop that clause or
  add the corresponding release notes entry.

Warning: doc/guides/nics/sfc_efx.rst is not updated.

  The feature list has "SR-IOV PF" but not VF. The features matrix
  (doc/guides/nics/features/sfc.ini) already has SR-IOV = Y, so only the
  prose list is stale. Since the series makes VF attach work on Medford4,
  the driver guide should say so.


More information about the dev mailing list