mbox series

[v4,0/8] net/mlx5: support SubFunction representor

Message ID 1611041295-12797-1-git-send-email-xuemingl@nvidia.com (mailing list archive)
Headers show
Series net/mlx5: support SubFunction representor | expand


Xueming(Steven) Li Jan. 19, 2021, 7:28 a.m. UTC
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.

Depends-on: series-14834 ("ethdev: support SubFunction representor")

Version history:
 	initial version [2]
    - support bonding representor probe with new pf#vf# devargs
    - adapt EAL api V2 [3] changes
    - update document
    - 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.
    - combine unexpected patch, thanks Slava

[1] SubFunction in kernel:

[2] RFC:

[3] V2:

[3] V3:

[4] EAL part to support SF representor:

Xueming Li (8):
  common/mlx5: update representor 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 representor from multiple PFs
  net/mlx5: save bonding member ports information
  net/mlx5: fix setting VF default MAC through representor
  net/mlx5: improve bonding xstats

 doc/guides/nics/mlx5.rst                   |  62 +++-
 drivers/common/mlx5/linux/mlx5_common_os.c |  32 +-
 drivers/common/mlx5/linux/mlx5_nl.c        |   2 +
 drivers/common/mlx5/mlx5_common.h          |   2 +
 drivers/net/mlx5/linux/mlx5_ethdev_os.c    | 136 +++++--
 drivers/net/mlx5/linux/mlx5_os.c           | 399 ++++++++++++++-------
 drivers/net/mlx5/mlx5.c                    |  25 +-
 drivers/net/mlx5/mlx5.h                    |  25 +-
 drivers/net/mlx5/mlx5_defs.h               |   4 -
 drivers/net/mlx5/mlx5_ethdev.c             |  34 +-
 drivers/net/mlx5/mlx5_mac.c                |  26 +-
 11 files changed, 533 insertions(+), 214 deletions(-)