From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mails.dpdk.org (mails.dpdk.org [217.70.189.124]) by inbox.dpdk.org (Postfix) with ESMTP id B541BA034F; Wed, 31 Mar 2021 07:58:48 +0200 (CEST) Received: from [217.70.189.124] (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id 44EA24069E; Wed, 31 Mar 2021 07:58:48 +0200 (CEST) Received: from mga06.intel.com (mga06.intel.com [134.134.136.31]) by mails.dpdk.org (Postfix) with ESMTP id 6E17F40141 for ; Wed, 31 Mar 2021 07:58:46 +0200 (CEST) IronPort-SDR: 2HVInqX2uL0Xs8QzV7WEl/IxJJQ8eGv+dkz1TGgxmqhrXyA3NIIq09wV/x4Xjr+0cUXr6V6zrx 24vdnXREl9Cw== X-IronPort-AV: E=McAfee;i="6000,8403,9939"; a="253260646" X-IronPort-AV: E=Sophos;i="5.81,291,1610438400"; d="scan'208";a="253260646" Received: from fmsmga005.fm.intel.com ([10.253.24.32]) by orsmga104.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 30 Mar 2021 22:58:45 -0700 IronPort-SDR: 1aAHRSZ0by1BcrpAxez1tuwgqLqO4AhzdBjAorULeWZ3zQc26YxB76tiPOGAuzRnSwlUF+0r9t tVVBlpJvwSQQ== X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.81,291,1610438400"; d="scan'208";a="610362955" Received: from fmsmsx606.amr.corp.intel.com ([10.18.126.86]) by fmsmga005.fm.intel.com with ESMTP; 30 Mar 2021 22:58:45 -0700 Received: from fmsmsx603.amr.corp.intel.com (10.18.126.83) by fmsmsx606.amr.corp.intel.com (10.18.126.86) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2106.2; Tue, 30 Mar 2021 22:58:44 -0700 Received: from FMSEDG603.ED.cps.intel.com (10.1.192.133) by fmsmsx603.amr.corp.intel.com (10.18.126.83) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2106.2 via Frontend Transport; Tue, 30 Mar 2021 22:58:44 -0700 Received: from NAM11-DM6-obe.outbound.protection.outlook.com (104.47.57.168) by edgegateway.intel.com (192.55.55.68) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.1.2106.2; Tue, 30 Mar 2021 22:58:44 -0700 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=CFS4CMwBSKPrLgBFRORW0JeHif90INMa43k/anQH5YzPPh7og+T+3Pc2nkWwzjSKC+Xye1ORZ93ZC3epQmsVdmIp2nS9OymTgQ2TEXUt2oZbsRCDZT/V1cxGZMapDB7NVkmE3pUB74dz3i4cWXYrauZxhRCY68NO28GJFObX8KX8yhWmG/zjdwxLrz6DzTaOOyK8N1L6PxJS3gd2hidPikMHn+/t/ubsdn67dzNijGQSVeuGolKmjyjWW4f8cSTz9FdEPIjX3BpfgAvYjlsay0pHeHiTATMif6A2Wca8cikqqLKJZuYeSpP62/V5cDX095tM43rC2T4mZia+8xhoqg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=WiqC+bA4sMMbObfmaL/qG11kl1+MQB0NJKgNGUX5pIk=; b=Ikds0hs5CO2/ukkqb1g3sYeDC1Hlo7EadM+k+EdxvH4LejCDH6MsnZDyGGz4bYwoTgTnB+nMinNZAQ+Owhc8hJ3JuxM7B0eSk3EY593CxoxBLPYOK6x+J4ThXANAaLaDIsnpAqpUhbbhq/siqt906WDjSalzhW/z6ZUUSJuqJlzRYzGH2mbeXEwEI0bxY/Pr+bDscw+N1h+rkZgW5Xalldpo2JJTSV5jgHww+yXI8cDwwqXzTXuWML8W9Hbulg4/zIa5tFrCSVQPbygNy+hdH9CGkYypR1D5hS/KC+Egx+UBDDa8RbUTgEaVzvaDwM41osV5uhinNS28kh+aOyoqwg== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=intel.com; dmarc=pass action=none header.from=intel.com; dkim=pass header.d=intel.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=intel.onmicrosoft.com; s=selector2-intel-onmicrosoft-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=WiqC+bA4sMMbObfmaL/qG11kl1+MQB0NJKgNGUX5pIk=; b=etcSneljclZ5dpHF3jzrcoR/eUbmaeRDvF8O8dMGof+zGv0+4HFTFFm/1S72/HLOHX2ZS1NG2u1SgTHk5v41DOdcxy0ybyJqGdz9nk5kK3G/0sTjsry/a9UxlceI/q44YOpisAlkBOF7Lu8/bkr4DezDXDhynL1D3Sru/f93RJo= Received: from BN8PR11MB3795.namprd11.prod.outlook.com (20.178.218.159) by BN6PR11MB1412.namprd11.prod.outlook.com (10.173.32.17) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.3977.29; Wed, 31 Mar 2021 05:58:43 +0000 Received: from BN8PR11MB3795.namprd11.prod.outlook.com ([fe80::ec6a:25a8:8c59:89e]) by BN8PR11MB3795.namprd11.prod.outlook.com ([fe80::ec6a:25a8:8c59:89e%2]) with mapi id 15.20.3977.033; Wed, 31 Mar 2021 05:58:43 +0000 From: "Wang, Haiyue" To: "Xueming(Steven) Li" , Stephen Hemminger CC: "dev@dpdk.org" , Slava Ovsiienko , Asaf Penso Thread-Topic: [dpdk-dev] [PATCH v6 0/9] ethdev: support SubFunction representor Thread-Index: AQHXAoDlMoYK8OPy9U6ntanMAOCvbaplCKWAgACjT2CAODI7gIAAAoHw Date: Wed, 31 Mar 2021 05:58:43 +0000 Message-ID: References: <1608303356-13089-2-git-send-email-xuemingl@nvidia.com> <1613272907-22563-1-git-send-email-xuemingl@nvidia.com> <20210222175431.05de1f2b@hermes.local> In-Reply-To: Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: dlp-product: dlpe-windows dlp-reaction: no-action dlp-version: 11.6.0.76 authentication-results: nvidia.com; dkim=none (message not signed) header.d=none;nvidia.com; dmarc=none action=none header.from=intel.com; x-originating-ip: [192.55.46.52] x-ms-publictraffictype: Email x-ms-office365-filtering-correlation-id: c6270421-be0f-4d21-fea7-08d8f40a0a77 x-ms-traffictypediagnostic: BN6PR11MB1412: x-microsoft-antispam-prvs: x-ms-oob-tlc-oobclassifiers: OLM:4941; x-ms-exchange-senderadcheck: 1 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: ZXk66yjFFydrSoIsq0NWmjQr9wOsE0WW5IV/HrjRpeJudtoFMvrn5pUYTk20zddG/JBVzq/uPmiw+EqGZKJzQwbY5UWbYGvWTasPmm5nglWUj2XefWn2yWR1mGwrI1wkIZee3W717uh83XkeG4m/zwPKT30w1TTQo+DradqwyMC160p2rZt/lCKZpjCV8fjeCBD9wCXfo718hZ90ibz7OmVxWX6BDIq0njCOrUYCRmwx5ekm17VWeLw9wZ7gFdX5iSGgYRavFKrMoD9drd0RFKXHmRC+wZUd5ec3ynKpASoHuI4VfOhxL2SluVZKbN6rwSujbRvni/+fnUcEL7m4268Or/4p1BZAIPZkTNZ/fvT0QWI5wXL12Hsf/PLT6kMifvSwPEd3yzfdAPhH8TvY28sUWK01N1j7touUsIcgI8P4ODB7rY+oNeNfyWeyaZc07Xl8OWqeUweE2yDUWY3zprQCVXWQ8sq3Auphp7Rpx/iVw5CQFxF2XRi2IuLllV6mHPiL6fhn/xUHB0t02Q+wrZF7PeR2GlJKJjjWZei7LDPF9b9Lt2h4ioP0Rzvwkzk9E/rWP48U6M/FE0r0nzWC6C0ngB1JF5q8w3bh5H2C2V+E5pRRfv8KS50xYMOFae3LqdMEaBNW47/rylW5WZkeffWkxcydiF0YA29IkXIrqgcUQBMzWAURcUv49oXIuZZVQM00GAF76nJssNFZln1taq5w0RlYm0O5J+PCu+8Jg0c= x-forefront-antispam-report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:BN8PR11MB3795.namprd11.prod.outlook.com; PTR:; CAT:NONE; SFS:(346002)(376002)(396003)(39860400002)(366004)(136003)(2906002)(966005)(71200400001)(110136005)(66946007)(316002)(38100700001)(64756008)(33656002)(4326008)(6506007)(53546011)(9686003)(83380400001)(478600001)(54906003)(86362001)(26005)(8936002)(7696005)(66476007)(5660300002)(66556008)(186003)(55016002)(8676002)(52536014)(76116006)(66446008); DIR:OUT; SFP:1102; x-ms-exchange-antispam-messagedata: =?us-ascii?Q?7VeKC/nzutj9Tld7z43lfPbP7jVO2JOT8xCTLLJzCak96PUxsR48uULpdq09?= =?us-ascii?Q?S0batETpM91fQoU9tZEPtDk8t2ZNmUcjZ+DxlN6fKMWbG0OYZvLmAmkVQd+g?= =?us-ascii?Q?3Fkdwk9q+w2tOu77S1mZBlNoIw87qW3I0mC1w1YKZnZqw09JwYEeiSIz7Gb2?= =?us-ascii?Q?VSKxowcBegKVmJ/0ohzuE6Ul6pJovB7HOlN5RiE9JCqw08OP7xfX243onmn9?= =?us-ascii?Q?lI4+qvnW2Ug/RnrFSmwRBy/kQ/IGqRGLOacEHW4g9ncDuHd+jEqKYOMXStUv?= =?us-ascii?Q?LwIoccWATl2JfGJBP6+iiMm6YaA0teEClWeLbDNzKRsySto/TvvINkY5ObgQ?= =?us-ascii?Q?c+ms3U5/bz5x9Xhq7t0VQ2h+S6wr0pUD8MT1ivZCdcn7p4jELD/rtBc1szWD?= =?us-ascii?Q?e2mV1WmG5rUaDnc2oIJpzys8aHfRsAJx+xlyiW5Vciq+D5B8hioc24wRgnBf?= =?us-ascii?Q?SvBn0Rjui1NEF6dzucfY894TJWmzAiXrh3f1EPeCtx0UkW9Xf+cpWozMwvO/?= =?us-ascii?Q?IS45vLvajelfrXskHwOnx4AvebweDsfFUdI0xrhYHvUxkqC9iLS73l8pAIq3?= =?us-ascii?Q?xh5A7887mYHl8R/acMg7eQiYPOiSZAdHz4dIpuirA5bQHXOGxouaLG60iHxG?= =?us-ascii?Q?y8fosqbYZ5pOX1GE0MOv8DkX0sjK+7z7acqua7LwUwb1WthLZ32/ehnP7II+?= =?us-ascii?Q?Q9LRQI/Je2jb+i9CIUvxj3L1kEzVVyHfGNwPdNJ2bDRxxTYG8Ocy0lKvpYbN?= =?us-ascii?Q?rxPaI147wLFkE5/f5ypXj63Ruo+oKRwBhW1RQUYiP2Lip1yXBVxOS+Pxp81D?= =?us-ascii?Q?e0ybTTgDaUwwyc6N7zES2ag/Cf8aPQ0SjIUnAHQoEsOXdjwWadTekQztzJg3?= =?us-ascii?Q?Luh+7fs/53HwUt90d5TYKsE1OSK/au90tjr8MV8ZkgXb1d2Ln0ZZ+kuXTjW4?= =?us-ascii?Q?OhouDuCnrTU1O4LGUmJ5qpLj58md4P1k034UMkf/M9Y46P6jDpTOB7NTy9B/?= =?us-ascii?Q?OGAGzcOmZG5NKLJCrK7m2m2dF8jrbcJ+UeNSL7L+rOjsye5Klas6O+ICu+Ll?= =?us-ascii?Q?sk0c9xV/O+1PYw1V6EqRXIF3wHVNVI/47FycxwSg64gq/7wlolUl8lx+7134?= =?us-ascii?Q?X+Ljeoxid566qvVYS87lzS1TuDAwmDiAV60C6N/wu0ITRWphebSCo8YbjGXY?= =?us-ascii?Q?xYo2pD8SHCDh7Nlob7Sw1cqecrO7f7PEjGFIIqgfoQalN3RtnLc5NFruFP7/?= =?us-ascii?Q?x1Y+kam0vDyezAousL4fBLt59Bxj3CWN+tWbUNQVNTp1T7gQgisREoQOMGvU?= =?us-ascii?Q?JsA=3D?= x-ms-exchange-transport-forked: True Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: quoted-printable MIME-Version: 1.0 X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-AuthSource: BN8PR11MB3795.namprd11.prod.outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: c6270421-be0f-4d21-fea7-08d8f40a0a77 X-MS-Exchange-CrossTenant-originalarrivaltime: 31 Mar 2021 05:58:43.4042 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: 46c98d88-e344-4ed4-8496-4ed7712e255d X-MS-Exchange-CrossTenant-mailboxtype: HOSTED X-MS-Exchange-CrossTenant-userprincipalname: pCT/dSq4UGx/J24j6SOUdtA9wqp5g/ZL/asciIwSwWFkhI/Fm61b7BDq6B8oFukng+Anx0Q9WS5qHoMsC6G47Q== X-MS-Exchange-Transport-CrossTenantHeadersStamped: BN6PR11MB1412 X-OriginatorOrg: intel.com Subject: Re: [dpdk-dev] [PATCH v6 0/9] ethdev: 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" > -----Original Message----- > From: Xueming(Steven) Li > Sent: Wednesday, March 31, 2021 13:49 > To: Wang, Haiyue ; Stephen Hemminger > Cc: dev@dpdk.org; Slava Ovsiienko ; Asaf Penso > Subject: RE: [dpdk-dev] [PATCH v6 0/9] ethdev: support SubFunction repres= entor >=20 >=20 >=20 > >-----Original Message----- > >From: Wang, Haiyue > >Sent: Tuesday, February 23, 2021 7:46 PM > >To: Stephen Hemminger ; Xueming(Steven) Li <= xuemingl@nvidia.com> > >Cc: dev@dpdk.org; Slava Ovsiienko ; Asaf Penso <= asafp@nvidia.com> > >Subject: RE: [dpdk-dev] [PATCH v6 0/9] ethdev: support SubFunction repre= sentor > > > >> -----Original Message----- > >> From: dev On Behalf Of Stephen Hemminger > >> Sent: Tuesday, February 23, 2021 09:55 > >> To: Xueming Li > >> Cc: dev@dpdk.org; Viacheslav Ovsiienko ; Asaf > >> Penso > >> Subject: Re: [dpdk-dev] [PATCH v6 0/9] ethdev: support SubFunction > >> representor > >> > >> On Sun, 14 Feb 2021 03:21:30 +0000 > >> Xueming Li wrote: > >> > >> > 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. > >> > > >> > 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 backward compatibility, this patch also introduces new netdev > >> > capability to indicate the capability of supportting SF representor. > >> > > >> > Version history: > >> > RFC: > >> > initial version [2] > >> > V2: > >> > - separate patch for represnetor infrastructure, controller, pf = and > >> > sf. > >> > - replace representor ID macro with functions: > >> > rte_eth_representor_id_encode() > >> > rte_eth_representor_id_parse() > >> > - new patch to allow devargs with same PCI BDF but different > >> > representors. > >> > - other minor code updates according to comments, thanks Andrew! > >> > - update document > >> > V3: > >> > - improve probing of allowed devargs with same name. > >> > - parse single word of kvargs as key. > >> > - update kvargs test cases. > >> > V4: > >> > - split first representor refactor patch into > >> > 1: add representor type > >> > 2: refector representor list parsing > >> > - push the patch supporting multi-devargs for same device. > >> > V5: > >> > - add comments for parsing functions > >> > - update switch_representation.rst - Thanks Ajit > >> > V6: > >> > - split representor types into different patches, move to > >> > rte_ethdev.h > >> > - improvements of rte_eth_devargs_process_list() according to > >> > Andrew's suggestion > >> > - fixed PF probe failure for Intel i40e > >> > - replace ethdev SF capability with rte_eth_representor_info_get= () > >> > - add new ethdev ops api to get representor info from PMD > >> > - replace representor ID encode/decode with conversion from > >> > representor info > >> > - change ethdev representor iterator to use new ID encoding > >> > > >> > > >> > Xueming Li (9): > >> > ethdev: introduce representor type > >> > ethdev: support representor port list > >> > ethdev: support new VF representor syntax > >> > ethdev: support sub function representor > >> > ethdev: support PF index in representor > >> > ethdev: support multi-host in representor > >> > ethdev: new API to get representor info > >> > ethdev: representor iterator compare complete info > >> > kvargs: update parser to support lists > >> > > >> > app/test/test_kvargs.c | 46 ++++- > >> > config/rte_config.h | 1 + > >> > doc/guides/prog_guide/poll_mode_drv.rst | 13 +- > >> > .../prog_guide/switch_representation.rst | 35 +++- > >> > drivers/net/bnxt/bnxt_ethdev.c | 7 + > >> > drivers/net/enic/enic_ethdev.c | 6 + > >> > drivers/net/i40e/i40e_ethdev.c | 7 + > >> > drivers/net/ixgbe/ixgbe_ethdev.c | 7 + > >> > drivers/net/mlx5/linux/mlx5_os.c | 11 ++ > >> > lib/librte_ethdev/ethdev_driver.h | 49 ++++- > >> > lib/librte_ethdev/ethdev_private.c | 173 ++++++++++++---= --- > >> > lib/librte_ethdev/ethdev_private.h | 3 - > >> > lib/librte_ethdev/rte_class_eth.c | 40 ++-- > >> > lib/librte_ethdev/rte_ethdev.c | 102 ++++++++++- > >> > lib/librte_ethdev/rte_ethdev.h | 53 ++++++ > >> > lib/librte_ethdev/version.map | 4 + > >> > lib/librte_kvargs/rte_kvargs.c | 101 +++++++--- > >> > 17 files changed, 535 insertions(+), 123 deletions(-) > >> > > >> > >> A couple of higher level design questions: > >> 1. How does Linux and other OS handle this in their API? > >> 2. This solution seems quite tied into a specific implementation on yo= ur hardware. > >> Is there a PCI standard for this? > > > >> 3. Maybe a more general solution where these were represented as buses= would > >> allow for other connection methods in the future? > > > >It should be "auxiliary bus", I think. ;-) > https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/tree/d= rivers/base/auxiliary.c > > > >mlx5 subfunction support > >https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commi= t/?id=3D24a790da0ac4d9bcce2a9be > cc8799241716672f6 >=20 > Hi, >=20 > The Auxiliary driver for DPDK posted, welcome to have a look :) > http://patchwork.dpdk.org/project/dpdk/patch/20210311130113.31382-1-xuemi= ngl@nvidia.com/ Cool. ;-) >=20 > Thanks >=20