From patchwork Sun Mar 28 13:48:06 2021 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Xueming Li X-Patchwork-Id: 89966 Return-Path: X-Original-To: patchwork@inbox.dpdk.org Delivered-To: patchwork@inbox.dpdk.org Received: from mails.dpdk.org (mails.dpdk.org [217.70.189.124]) by inbox.dpdk.org (Postfix) with ESMTP id 978CDA034F; Sun, 28 Mar 2021 15:48:50 +0200 (CEST) Received: from [217.70.189.124] (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id 23E7740042; Sun, 28 Mar 2021 15:48:50 +0200 (CEST) Received: from mellanox.co.il (mail-il-dmz.mellanox.com [193.47.165.129]) by mails.dpdk.org (Postfix) with ESMTP id D905D40040 for ; Sun, 28 Mar 2021 15:48:48 +0200 (CEST) Received: from Internal Mail-Server by MTLPINE1 (envelope-from xuemingl@nvidia.com) with SMTP; 28 Mar 2021 16:48:47 +0300 Received: from nvidia.com (pegasus05.mtr.labs.mlnx [10.210.16.100]) by labmailer.mlnx (8.13.8/8.13.8) with ESMTP id 12SDmlHi018703; Sun, 28 Mar 2021 16:48:47 +0300 From: Xueming Li To: Viacheslav Ovsiienko Cc: dev@dpdk.org, xuemingl@nvidia.com, Asaf Penso Date: Sun, 28 Mar 2021 13:48:06 +0000 Message-Id: <1616939297-15627-1-git-send-email-xuemingl@nvidia.com> X-Mailer: git-send-email 1.8.3.1 In-Reply-To: <1608304614-13908-2-git-send-email-xuemingl@nvidia.com> References: <1608304614-13908-2-git-send-email-xuemingl@nvidia.com> Subject: [dpdk-dev] [PATCH v5 0/9] net/mlx5: support SubFunction representor X-BeenThere: dev@dpdk.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: DPDK patches and discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dev-bounces@dpdk.org Sender: "dev" 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(-)