DPDK patches and discussions
 help / color / mirror / Atom feed
* [dpdk-dev] [RFC 0/7] support SubFunction representor
@ 2020-12-18 14:55 Xueming Li
  2020-12-18 14:55 ` [dpdk-dev] [RFC 1/7] ethdev: support sub function representor Xueming Li
                   ` (7 more replies)
  0 siblings, 8 replies; 209+ messages in thread
From: Xueming Li @ 2020-12-18 14:55 UTC (permalink / raw)
  To: Viacheslav Ovsiienko, Thomas Monjalon, Ferruh Yigit,
	Andrew Rybchenko, Olivier Matz, Matan Azrad
  Cc: dev, xuemingl, Asaf Penso

SubFunction [1] is a portion of the PCI device, a SF netdev has its own
dedicated queues(txq, rxq). A SF netdev supports eswitch 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.

From SmartNIC perspective, when PCI device is shared for multi-host,
representors for host controller and host PF is required.

This patch set introduces new representor types in addtion to existing
VF representor. Syntax:

[[c#]pf#]vf#: VF port representor/s from controller/pf
[[c#]pf#]sf#: SF port representor/s from controller/pf
#: VF representor - for backwards compatibility

"#" is number instance, list or range, valid examples:
  1, [1,3,5], [0-3], [0,2-4,6]

For flexibility, this patch also introduces new netdev capability
to indicate the capability to support new representor types.

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



Xueming Li (7):
  ethdev: support sub function representor
  ethdev: support multi-host representor
  devarg: change reprsentor ID to bitmap
  ethdev: capability for new representor syntax
  kvargs: update parser for new representor syntax
  common/mlx5: update representor name parsing
  net/mlx5: support representor of sub function

 0000-cover-letter.patch                    |  44 ++++++
 config/rte_config.h                        |   1 +
 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    |   5 +
 drivers/net/mlx5/linux/mlx5_os.c           |  69 ++++++++-
 drivers/net/mlx5/mlx5_ethdev.c             |   2 +
 lib/librte_ethdev/ethdev_private.c         | 164 ++++++++++++++-------
 lib/librte_ethdev/ethdev_private.h         |   3 -
 lib/librte_ethdev/rte_class_eth.c          |   7 +-
 lib/librte_ethdev/rte_ethdev.c             |   5 +-
 lib/librte_ethdev/rte_ethdev.h             |   2 +
 lib/librte_ethdev/rte_ethdev_driver.h      |  35 +++++
 lib/librte_kvargs/rte_kvargs.c             |  82 +++++++----
 15 files changed, 351 insertions(+), 104 deletions(-)
 create mode 100644 0000-cover-letter.patch

-- 
2.25.1


^ permalink raw reply	[flat|nested] 209+ messages in thread

end of thread, other threads:[~2021-04-12 16:42 UTC | newest]

Thread overview: 209+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2020-12-18 14:55 [dpdk-dev] [RFC 0/7] support SubFunction representor Xueming Li
2020-12-18 14:55 ` [dpdk-dev] [RFC 1/7] ethdev: support sub function representor Xueming Li
2020-12-28 11:59   ` Andrew Rybchenko
2021-01-06 16:17   ` [dpdk-dev] [PATCH v2 0/9] support SubFunction representor Xueming Li
2021-01-06 16:17   ` [dpdk-dev] [PATCH v2 1/9] ethdev: refactor representor infrastructure Xueming Li
2021-01-07  6:31     ` Somnath Kotur
2021-01-07  6:38       ` Xueming(Steven) Li
2021-01-07  6:40         ` Somnath Kotur
2021-01-06 16:17   ` [dpdk-dev] [PATCH v2 2/9] ethdev: support new VF representor syntax Xueming Li
2021-01-06 16:17   ` [dpdk-dev] [PATCH v2 3/9] ethdev: support sub function representor Xueming Li
2021-01-06 16:17   ` [dpdk-dev] [PATCH v2 4/9] ethdev: support PF index in representor Xueming Li
2021-01-06 16:17   ` [dpdk-dev] [PATCH v2 5/9] ethdev: support multi-host representor Xueming Li
2021-01-06 16:17   ` [dpdk-dev] [PATCH v2 6/9] devarg: change reprsentor ID to bitmap Xueming Li
2021-01-06 16:17   ` [dpdk-dev] [PATCH v2 7/9] ethdev: capability of new representor syntax Xueming Li
2021-01-06 16:17   ` [dpdk-dev] [PATCH v2 8/9] kvargs: update parser for " Xueming Li
2021-01-06 16:17   ` [dpdk-dev] [PATCH v2 9/9] eal: allow PCI device with different representors Xueming Li
2021-01-06 16:39   ` [dpdk-dev] [PATCH v2 0/4] net/mlx5: support SubFunction representor Xueming Li
2021-01-06 16:39   ` [dpdk-dev] [PATCH v2 1/4] common/mlx5: update representor name parsing Xueming Li
2021-01-06 16:39   ` [dpdk-dev] [PATCH v2 2/4] net/mlx5: support representor of sub function Xueming Li
2021-01-06 16:39   ` [dpdk-dev] [PATCH v2 3/4] net/mlx5: revert setting representor to first PF Xueming Li
2021-01-06 16:39   ` [dpdk-dev] [PATCH v2 4/4] net/mlx5: improve bonding representor probe Xueming Li
2021-01-13 13:44   ` [dpdk-dev] [PATCH v3 0/9] ethdev: support SubFunction representor Xueming Li
2021-01-13 13:44   ` [dpdk-dev] [PATCH v3 1/9] ethdev: refactor representor infrastructure Xueming Li
2021-01-13 13:44   ` [dpdk-dev] [PATCH v3 2/9] ethdev: support new VF representor syntax Xueming Li
2021-01-13 13:44   ` [dpdk-dev] [PATCH v3 3/9] ethdev: support sub function representor Xueming Li
2021-01-13 13:44   ` [dpdk-dev] [PATCH v3 4/9] ethdev: support PF index in representor Xueming Li
2021-01-13 13:44   ` [dpdk-dev] [PATCH v3 5/9] ethdev: support multi-host representor Xueming Li
2021-01-13 13:44   ` [dpdk-dev] [PATCH v3 6/9] devarg: change reprsentor ID to bitmap Xueming Li
2021-01-13 13:44   ` [dpdk-dev] [PATCH v3 7/9] ethdev: capability of new representor syntax Xueming Li
2021-01-13 13:44   ` [dpdk-dev] [PATCH v3 8/9] kvargs: update parser for " Xueming Li
2021-01-13 13:44   ` [dpdk-dev] [PATCH v3 9/9] eal: probe devices of same PCI but different devargs Xueming Li
2021-01-18 11:16   ` [dpdk-dev] [PATCH v4 0/9] ethdev: support SubFunction representor Xueming Li
2021-01-18 16:24     ` Thomas Monjalon
2021-01-18 11:16   ` [dpdk-dev] [PATCH v4 1/9] ethdev: introduce representor type Xueming Li
2021-01-18 15:44     ` Thomas Monjalon
2021-01-18 17:42     ` Ajit Khaparde
2021-01-18 17:57       ` Thomas Monjalon
2021-01-18 18:00         ` Ajit Khaparde
2021-01-18 18:15           ` Thomas Monjalon
2021-01-18 18:17             ` Ajit Khaparde
2021-01-18 23:41               ` Xueming(Steven) Li
2021-01-19  7:39                 ` Ajit Khaparde
2021-01-19  7:24     ` Andrew Rybchenko
2021-01-19  7:37       ` Xueming(Steven) Li
2021-01-19  7:49         ` Andrew Rybchenko
2021-01-19  7:56           ` Xueming(Steven) Li
2021-01-19  8:39             ` Thomas Monjalon
2021-01-18 11:16   ` [dpdk-dev] [PATCH v4 2/9] ethdev: support representor port list Xueming Li
2021-01-18 16:18     ` Thomas Monjalon
2021-01-18 23:23       ` Xueming(Steven) Li
2021-01-19  7:45     ` Andrew Rybchenko
2021-01-19  8:59       ` Xueming(Steven) Li
2021-01-19  9:03         ` Andrew Rybchenko
2021-01-19 10:19           ` Xueming(Steven) Li
2021-01-18 11:16   ` [dpdk-dev] [PATCH v4 3/9] ethdev: support new VF representor syntax Xueming Li
2021-01-18 11:16   ` [dpdk-dev] [PATCH v4 4/9] ethdev: support sub function representor Xueming Li
2021-01-18 11:16   ` [dpdk-dev] [PATCH v4 5/9] ethdev: support PF index in representor Xueming Li
2021-01-18 11:17   ` [dpdk-dev] [PATCH v4 6/9] ethdev: support multi-host " Xueming Li
2021-01-18 11:17   ` [dpdk-dev] [PATCH v4 7/9] devarg: change representor ID to bitmap Xueming Li
2021-01-18 19:01     ` Ajit Khaparde
2021-01-20  5:51       ` Xueming(Steven) Li
2021-01-18 11:17   ` [dpdk-dev] [PATCH v4 8/9] ethdev: add capability of sub-function representor Xueming Li
2021-01-18 11:17   ` [dpdk-dev] [PATCH v4 9/9] kvargs: update parser to support lists Xueming Li
2021-01-19  7:13   ` [dpdk-dev] [PATCH v5 0/9] ethdev: support SubFunction representor Xueming Li
2021-01-19  8:40     ` Andrew Rybchenko
2021-01-19 14:24       ` Xueming(Steven) Li
2021-01-22  8:21         ` Andrew Rybchenko
2021-01-27  3:04           ` Xueming(Steven) Li
2021-01-27 12:10             ` Andrew Rybchenko
2021-01-28 14:31               ` Xueming(Steven) Li
2021-02-01  8:39                 ` Andrew Rybchenko
2021-02-04 14:15                   ` Xueming(Steven) Li
2021-02-05  7:34                     ` Andrew Rybchenko
2021-02-05  9:13                       ` Xueming(Steven) Li
2021-02-05  9:37                         ` Andrew Rybchenko
2021-01-27 17:43             ` Ajit Khaparde
2021-01-28 11:45               ` Xueming(Steven) Li
2021-01-21  3:32     ` Tu, Lijuan
2021-01-19  7:14   ` [dpdk-dev] [PATCH v5 1/9] ethdev: introduce representor type Xueming Li
2021-01-19  7:14   ` [dpdk-dev] [PATCH v5 2/9] ethdev: support representor port list Xueming Li
2021-01-19  7:48     ` Andrew Rybchenko
2021-01-19  8:19       ` Xueming(Steven) Li
2021-01-19  7:14   ` [dpdk-dev] [PATCH v5 3/9] ethdev: support new VF representor syntax Xueming Li
2021-01-19  7:51     ` Andrew Rybchenko
2021-01-19  7:14   ` [dpdk-dev] [PATCH v5 4/9] ethdev: support sub function representor Xueming Li
2021-01-19  7:53     ` Andrew Rybchenko
2021-01-19  7:14   ` [dpdk-dev] [PATCH v5 5/9] ethdev: support PF index in representor Xueming Li
2021-01-19  8:00     ` Andrew Rybchenko
2021-01-19  9:30       ` Xueming(Steven) Li
2021-01-19  9:36         ` Andrew Rybchenko
2021-01-19 11:57           ` Xueming(Steven) Li
2021-01-19  7:14   ` [dpdk-dev] [PATCH v5 6/9] ethdev: support multi-host " Xueming Li
2021-01-19  8:03     ` Andrew Rybchenko
2021-01-19  9:32       ` Xueming(Steven) Li
2021-01-19  7:14   ` [dpdk-dev] [PATCH v5 7/9] devarg: change representor ID to bitmap Xueming Li
2021-01-19  7:36     ` Wang, Haiyue
2021-01-19  8:11       ` Xueming(Steven) Li
2021-01-19  8:20     ` Andrew Rybchenko
2021-01-19  8:33       ` Thomas Monjalon
2021-01-19 11:04       ` Xueming(Steven) Li
2021-01-19 11:15         ` Andrew Rybchenko
2021-01-19  7:15   ` [dpdk-dev] [PATCH v5 8/9] ethdev: add capability of sub-function representor Xueming Li
2021-01-19  8:06     ` Andrew Rybchenko
2021-01-19 11:19       ` Xueming(Steven) Li
2021-01-19 11:29         ` Andrew Rybchenko
2021-01-19  7:15   ` [dpdk-dev] [PATCH v5 9/9] kvargs: update parser to support lists Xueming Li
2021-02-14  3:21   ` [dpdk-dev] [PATCH v6 0/9] ethdev: support SubFunction representor Xueming Li
2021-02-23  1:54     ` Stephen Hemminger
2021-02-23 11:45       ` Wang, Haiyue
2021-02-28 13:51         ` Xueming(Steven) Li
2021-03-31  5:49         ` Xueming(Steven) Li
2021-03-31  5:58           ` Wang, Haiyue
2021-02-14  3:21   ` [dpdk-dev] [PATCH v6 1/9] ethdev: introduce representor type Xueming Li
2021-02-15  2:25     ` Hyong Youb Kim (hyonkim)
2021-02-14  3:21   ` [dpdk-dev] [PATCH v6 2/9] ethdev: support representor port list Xueming Li
2021-02-15  8:13     ` Andrew Rybchenko
2021-02-14  3:21   ` [dpdk-dev] [PATCH v6 3/9] ethdev: support new VF representor syntax Xueming Li
2021-02-14  3:21   ` [dpdk-dev] [PATCH v6 4/9] ethdev: support sub function representor Xueming Li
2021-02-15  8:25     ` Andrew Rybchenko
2021-02-16  9:00       ` Xueming(Steven) Li
2021-02-14  3:21   ` [dpdk-dev] [PATCH v6 5/9] ethdev: support PF index in representor Xueming Li
2021-02-15  8:28     ` Andrew Rybchenko
2021-02-15  8:35     ` Andrew Rybchenko
2021-02-16 14:54       ` Xueming(Steven) Li
2021-02-14  3:21   ` [dpdk-dev] [PATCH v6 6/9] ethdev: support multi-host " Xueming Li
2021-02-15  8:37     ` Andrew Rybchenko
2021-02-14  3:21   ` [dpdk-dev] [PATCH v6 7/9] ethdev: new API to get representor info Xueming Li
2021-02-15  8:50     ` Andrew Rybchenko
2021-02-16 15:11       ` Xueming(Steven) Li
2021-02-14  3:21   ` [dpdk-dev] [PATCH v6 8/9] ethdev: representor iterator compare complete info Xueming Li
2021-02-15  9:31     ` Andrew Rybchenko
2021-02-16 16:35       ` Xueming(Steven) Li
2021-02-25  7:32         ` Andrew Rybchenko
2021-02-14  3:21   ` [dpdk-dev] [PATCH v6 9/9] kvargs: update parser to support lists Xueming Li
2021-03-02 11:40   ` [dpdk-dev] [PATCH v7 0/9] ethdev: support SubFunction representor Xueming Li
2021-03-02 11:40   ` [dpdk-dev] [PATCH v7 1/9] ethdev: introduce representor type Xueming Li
2021-03-02 11:42   ` [dpdk-dev] [PATCH v7 3/9] ethdev: support new VF representor syntax Xueming Li
2021-03-02 11:42   ` [dpdk-dev] [PATCH v7 4/9] ethdev: support sub function representor Xueming Li
2021-03-02 11:42   ` [dpdk-dev] [PATCH v7 5/9] ethdev: support PF index in representor Xueming Li
2021-03-02 11:51     ` Andrew Rybchenko
2021-03-02 11:43   ` [dpdk-dev] [PATCH v7 6/9] ethdev: support multi-host " Xueming Li
2021-03-02 11:43   ` [dpdk-dev] [PATCH v7 7/9] ethdev: new API to get representor info Xueming Li
2021-03-02 11:56     ` Andrew Rybchenko
2021-03-02 11:43   ` [dpdk-dev] [PATCH v7 8/9] ethdev: representor iterator compare complete info Xueming Li
2021-03-02 14:10     ` Andrew Rybchenko
2021-03-02 15:18       ` Xueming(Steven) Li
2021-03-02 11:44   ` [dpdk-dev] [PATCH v7 9/9] kvargs: update parser to support lists Xueming Li
2021-03-04 14:30   ` [dpdk-dev] [PATCH v8 0/9] ethdev: support SubFunction representor Xueming Li
2021-03-08 16:43     ` Ferruh Yigit
2021-03-09  7:13       ` Xueming(Steven) Li
2021-03-04 14:30   ` [dpdk-dev] [PATCH v8 1/9] ethdev: introduce representor type Xueming Li
2021-03-08 14:35     ` Ferruh Yigit
2021-03-04 14:30   ` [dpdk-dev] [PATCH v8 2/9] ethdev: support representor port list Xueming Li
2021-03-08 14:38     ` Ferruh Yigit
2021-03-08 15:58       ` Xueming(Steven) Li
2021-03-08 16:22         ` Ferruh Yigit
2021-03-09  6:16           ` Xueming(Steven) Li
2021-03-04 14:30   ` [dpdk-dev] [PATCH v8 3/9] ethdev: support new VF representor syntax Xueming Li
2021-03-04 14:30   ` [dpdk-dev] [PATCH v8 4/9] ethdev: support sub function representor Xueming Li
2021-03-04 14:30   ` [dpdk-dev] [PATCH v8 5/9] ethdev: support PF index in representor Xueming Li
2021-03-04 14:30   ` [dpdk-dev] [PATCH v8 6/9] ethdev: support multi-host " Xueming Li
2021-03-04 14:30   ` [dpdk-dev] [PATCH v8 7/9] ethdev: new API to get representor info Xueming Li
2021-03-08 14:43     ` Ferruh Yigit
2021-03-08 15:31       ` Xueming(Steven) Li
2021-03-08 16:12         ` Ferruh Yigit
2021-03-09  4:13           ` Xueming(Steven) Li
2021-03-04 14:30   ` [dpdk-dev] [PATCH v8 8/9] ethdev: representor iterator compare complete info Xueming Li
2021-03-08 16:18     ` Ferruh Yigit
2021-03-09  6:00       ` Xueming(Steven) Li
2021-03-09  8:19     ` Andrew Rybchenko
2021-03-11 13:18       ` Xueming(Steven) Li
2021-03-04 14:30   ` [dpdk-dev] [PATCH v8 9/9] kvargs: update parser to support lists Xueming Li
2021-03-08 14:45     ` Ferruh Yigit
2021-03-08 14:59       ` Xueming(Steven) Li
2021-03-08 15:54         ` Ferruh Yigit
2021-03-08 16:01           ` Xueming(Steven) Li
2021-03-11 13:13   ` [dpdk-dev] [PATCH v9 00/10] ethdev: support SubFunction representor Xueming Li
2021-03-16 19:18     ` Ferruh Yigit
2021-03-17  9:00       ` Xueming(Steven) Li
2021-03-11 13:13   ` [dpdk-dev] [PATCH v9 01/10] ethdev: introduce representor type Xueming Li
2021-03-11 13:13   ` [dpdk-dev] [PATCH v9 02/10] ethdev: refactor representor port list parsing Xueming Li
2021-03-11 13:13   ` [dpdk-dev] [PATCH v9 03/10] ethdev: support new VF representor syntax Xueming Li
2021-03-11 13:13   ` [dpdk-dev] [PATCH v9 04/10] ethdev: support sub function representor Xueming Li
2021-03-11 13:13   ` [dpdk-dev] [PATCH v9 05/10] kvargs: update parser to support multiple lists Xueming Li
2021-04-12 16:42     ` Kinsella, Ray
2021-03-11 13:13   ` [dpdk-dev] [PATCH v9 06/10] ethdev: support PF index in representor Xueming Li
2021-03-11 13:13   ` [dpdk-dev] [PATCH v9 07/10] ethdev: support multi-host " Xueming Li
2021-03-11 13:13   ` [dpdk-dev] [PATCH v9 08/10] ethdev: new API to get representor info Xueming Li
2021-03-16 19:18     ` Ferruh Yigit
2021-03-16 21:19       ` Thomas Monjalon
2021-03-16 23:34         ` Ferruh Yigit
2021-03-17  6:57           ` Thomas Monjalon
2021-03-17 17:11             ` Ferruh Yigit
2021-03-11 13:13   ` [dpdk-dev] [PATCH v9 09/10] ethdev: representor iterator compare complete info Xueming Li
2021-03-11 13:13   ` [dpdk-dev] [PATCH v9 10/10] doc/release: add representor enhancements Xueming Li
2020-12-18 14:55 ` [dpdk-dev] [RFC 2/7] ethdev: support multi-host representor Xueming Li
2020-12-28 13:43   ` Andrew Rybchenko
2020-12-18 14:55 ` [dpdk-dev] [RFC 3/7] devarg: change reprsentor ID to bitmap Xueming Li
2020-12-28 13:36   ` Andrew Rybchenko
2021-01-05  6:19     ` Xueming(Steven) Li
2020-12-18 14:55 ` [dpdk-dev] [RFC 4/7] ethdev: capability for new representor syntax Xueming Li
2020-12-28 12:02   ` Andrew Rybchenko
2020-12-18 14:55 ` [dpdk-dev] [RFC 5/7] kvargs: update parser " Xueming Li
2020-12-28 13:21   ` Andrew Rybchenko
2020-12-18 14:55 ` [dpdk-dev] [RFC 6/7] common/mlx5: update representor name parsing Xueming Li
2020-12-18 14:55 ` [dpdk-dev] [RFC 7/7] net/mlx5: support representor of sub function Xueming Li
2020-12-28 13:44 ` [dpdk-dev] [RFC 0/7] support SubFunction representor Andrew Rybchenko
2020-12-30  8:54   ` Xueming(Steven) Li
2020-12-30 11:07     ` Thomas Monjalon

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).