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: 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 [1] SubFunction in kernel: https://lore.kernel.org/netdev/20201112192424.2742-1-pa...@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 [4] EAL part to support SF representor: http://patchwork.dpdk.org/project/dpdk/list/?series=14834 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(-) -- 2.25.1