mbox series

[v3,0/9] net/mlx5: support SubFunction representor

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

Message

Xueming(Steven) Li Jan. 18, 2021, 11:29 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-14809 ("support SubFunction representor")

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.

[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

[4] EAL part to support SF representor:
http://patchwork.dpdk.org/project/dpdk/list/?series=14809


Xueming Li (9):
  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: 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(-)