[dpdk-dev] [PATCH v5 0/9] net/mlx5: support SubFunction representor

Xueming Li xuemingl at nvidia.com
Sun Mar 28 15:48:06 CEST 2021


SubFunction [1] is a portion of the PCI device, a SF netdev has its own
dedicated queues(txq, rxq). A SF netdev supports E-Switch representation
offload similar to existing PF and VF representors. A SF shares PCI
level resources with other SFs and/or with its parent PCI function.

This patch set introduces SubFunction representor support for mlx5
PMD driver.

Version history:
 RFC:
 	initial version [2]
 V2:
    - support bonding representor probe with new pf#vf# devargs
    - adapt EAL api V2 [3] changes
    - update document
 V3:
    - support list of representor PF section for bonding device:
      example: representor=pf[0,1]vf[0-3]
    - add bonding information to shared PMD data
    - fix setting VF MAC through representor
    - fix bonding xstats, sum xstats from PF members.
 V4:
    - combine unexpected patch, thanks Slava
 V5:
    - support new ethdev ops api to return representor info
    - new api to encode and decode representor ID
    - new patch to allow BF2 HPF(-1) probe with sf-1

[1] SubFunction in kernel:
https://lore.kernel.org/netdev/20201112192424.2742-1-parav@nvidia.com/

[2] RFC:
http://patchwork.dpdk.org/project/dpdk/list/?series=14376

[3] V2:
http://patchwork.dpdk.org/project/dpdk/list/?series=14560

[3] V3:
http://patchwork.dpdk.org/project/dpdk/list/?series=14810

[3] V4:
http://patchwork.dpdk.org/project/dpdk/list/?series=14836


Xueming Li (9):
  common/mlx5: sub-function representor port name parsing
  net/mlx5: support representor of sub function
  net/mlx5: revert setting bonding representor to first PF
  net/mlx5: refactor bonding representor probe
  net/mlx5: support list value of representor PF
  net/mlx5: save bonding member ports information
  net/mlx5: fix setting VF default MAC through representor
  net/mlx5: improve xstats of bonding port
  net/mlx5: probe host PF representor with SubFunction

 doc/guides/nics/mlx5.rst                   |  62 +++-
 drivers/common/mlx5/linux/mlx5_common_os.c |  32 +-
 drivers/common/mlx5/linux/mlx5_nl.c        |   3 +
 drivers/common/mlx5/mlx5_common.h          |   2 +
 drivers/net/mlx5/linux/mlx5_ethdev_os.c    | 136 +++++--
 drivers/net/mlx5/linux/mlx5_os.c           | 395 ++++++++++++++-------
 drivers/net/mlx5/mlx5.c                    |  24 +-
 drivers/net/mlx5/mlx5.h                    |  35 +-
 drivers/net/mlx5/mlx5_defs.h               |   4 -
 drivers/net/mlx5/mlx5_ethdev.c             | 149 ++++++--
 drivers/net/mlx5/mlx5_mac.c                |  23 +-
 11 files changed, 652 insertions(+), 213 deletions(-)

-- 
2.25.1



More information about the dev mailing list