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 D911AA034F; Wed, 31 Mar 2021 07:49:24 +0200 (CEST) Received: from [217.70.189.124] (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id BDBD14069E; Wed, 31 Mar 2021 07:49:24 +0200 (CEST) Received: from NAM02-DM3-obe.outbound.protection.outlook.com (mail-dm3nam07on2067.outbound.protection.outlook.com [40.107.95.67]) by mails.dpdk.org (Postfix) with ESMTP id 8036640141 for ; Wed, 31 Mar 2021 07:49:23 +0200 (CEST) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=QqlcV314+PsOH9fYui3mys+FBBtuiesWq8MV/R5xyv066oxfm1BgMTCNoEVwPAa5WajnpgsruodnP/1/uNKUO3WyyscWTwKjrpOd0vk0ScNSSfH+TC8hlec5O4TY38JJg0fRYYpT/aHiK7Hxb+HH1vdQaSWfpR1dIaQVAn9o6BEa7+B+xDRa3/dsgzvhDYwh0F+HavTWrxLsgJjO50ORxPRqDxXCbs1agvR4qbuJUReqHxasPJxJ49esLWZAL3GW2ZJ8zLAcJYwi8HwKaGG4DNULDnvf4du5iYJGOfN03Ovj7/6YGRTPmRmeNpIM/I8mZcRze7W74KpWDZNdLEeByA== 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=N+iNlStnUHWvdetaJPQLCxVu8j0vv52qNJthxbadwys=; b=Zdq4FSZR4lWmVpHqEET6r1F604LcA8XfG1wWhwJymCl0YrRGFy8mxlUSlfcORHeebT9CUvLmpN4h6IcwcOK91qtH8x27tIruiWMZa6OM8Oyl0OK00LJcec0oBMrg3iNTkunjbcyq9OlMu6lWlIs2EhSt6iIQc1UyqLOJsnhDT0rP8zqOP/cRwuO5I72EMPBBQ07R9PI/hN2KwuaLqkiCvp7TZbhJQ9EYXRxCq9TPaCYalXfCud9qrnxhcBm0Ge44USV5jGPK2rVOqLEYadZnDqiSL9oOpY/bsa8k4C1O2kafIB2Dby99FsU7dkUhYYtwILgVKXJFtfO+rZeTr2/PsA== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=nvidia.com; dmarc=pass action=none header.from=nvidia.com; dkim=pass header.d=nvidia.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=Nvidia.com; s=selector2; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=N+iNlStnUHWvdetaJPQLCxVu8j0vv52qNJthxbadwys=; b=rtxXbcT2aQZJ12w1jcU3gfPNjFtLNAx9+FrmkLZ2Z/9vKCCyHwom+r5wsxGfaWNIQ92Jnbz2l0P61E8QWz8A+gshOPVS5aGoiMEQ7JEO42MqCnB9x3CdI6i2gbNQeHUok+y2yE91EKjbQrRpNoIZtkN+mrk8Y4XJv55FVlF7hfqoJJyUZLxt0bsuPRS9SdFMMUnohhQYDdPZCsB+YIn5KXmxFYo+fU+Mk6jLlMppx6Vw7EO0LFifbGKYoc4raKZOj7lMa7gPNcMvYwma+V2OIIvmsIh9t08HszZoauNnei0mQOAi/wKArPgRyv2WOlDtXpFH67MoB20KwQA5cHNnqw== Received: from BY5PR12MB4324.namprd12.prod.outlook.com (2603:10b6:a03:209::10) by BY5PR12MB3811.namprd12.prod.outlook.com (2603:10b6:a03:1a1::27) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.3977.24; Wed, 31 Mar 2021 05:49:21 +0000 Received: from BY5PR12MB4324.namprd12.prod.outlook.com ([fe80::b919:53f4:6757:331c]) by BY5PR12MB4324.namprd12.prod.outlook.com ([fe80::b919:53f4:6757:331c%5]) with mapi id 15.20.3977.033; Wed, 31 Mar 2021 05:49:21 +0000 From: "Xueming(Steven) Li" To: "Wang, Haiyue" , Stephen Hemminger CC: "dev@dpdk.org" , Slava Ovsiienko , Asaf Penso Thread-Topic: [dpdk-dev] [PATCH v6 0/9] ethdev: support SubFunction representor Thread-Index: AQHXAoCvAbhl2+JarE+9Tv+NEu6dkaplCKWAgAClNACAOC/x4A== Date: Wed, 31 Mar 2021 05:49:21 +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: authentication-results: intel.com; dkim=none (message not signed) header.d=none;intel.com; dmarc=none action=none header.from=nvidia.com; x-originating-ip: [207.244.67.150] x-ms-publictraffictype: Email x-ms-office365-filtering-correlation-id: c6049a93-9680-406b-a645-08d8f408bb58 x-ms-traffictypediagnostic: BY5PR12MB3811: x-ms-exchange-transport-forked: True 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: u289lGytrNZkabizHK3rajyQCzrKQvaJL2GemFVz6r5wjSoLQuNALSeIEuKrw8nUOI6yHZPhpYlN2qB+jDbJ7t7sDRz37g0Q9cX1BQCCTu2uVCGbudhmmc4e2gwHEsC0IEmHSh+H7i+xCg6fHRmz5BuCfJnWRLWhg1yBK6kyaeSVRkX2/B15TJDV9m7QM7vMeSDvqj1BLgQqoW/2hF5ALhZo8SYIDNPGem3Na51qis55mL1Ad+bJscD1U1zjDmCp0I9xXXTfHOZK91q+V1Amz+hKJvnInvfoLQhBYOml/Hc0yp5t5SEF72oAahqyI3erW04LLcsE4B9SAU7PkbwoKo4OWNmZ+BNUulduDxsp9pSUw137balcsihwmwi1ZrIGdzwy5ZdfkqLAG3J6Y6gR2dSj5uJYcZg1wrjurVqscEfnKM4WDrU9jxY2/EpiZUZ5htPGTKCnNyKOKOtKTTXkiE2oXlpTnsIsW3JGk/8/B0zi0Uz/XABLCKo8uieKilmyyLUrw4+79S4tEAzRSIaLp2jMpQCpdNJJjdTxulYoyzpP5879k0l7pwrZaQ4WgofxKzeR9pQM6tx1+YeRk78moj/a+RvxffesK2M1KXjXNrWZ7+L9p7fvgCHCuG8xrV0R/QqEZkVXotbLR7zAYkSSH6z1Dxb2zdm7wIhsWOqwW0LX7rb5BXlUryqQtlItrMdNacbyKbgeKNNJmGQ7Em35kXF/wOAW1lnmUNJXPA6V5hM= x-forefront-antispam-report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:BY5PR12MB4324.namprd12.prod.outlook.com; PTR:; CAT:NONE; SFS:(4636009)(136003)(376002)(346002)(396003)(39860400002)(366004)(4326008)(5660300002)(71200400001)(478600001)(7696005)(55016002)(86362001)(9686003)(38100700001)(83380400001)(8676002)(55236004)(6506007)(53546011)(8936002)(316002)(76116006)(107886003)(110136005)(66556008)(66476007)(2906002)(66946007)(64756008)(186003)(33656002)(66446008)(26005)(966005)(52536014)(54906003); DIR:OUT; SFP:1101; x-ms-exchange-antispam-messagedata: =?us-ascii?Q?m70fpZHgMg/mQxmdJ0IrENE8tS04TwUhJc/HZ1740FJmDh+QDXIoCszSWBrz?= =?us-ascii?Q?Umin/k9ryzBunDSPx75FA1GoqnRSFg/rIkVdk3H2iCe7Rz7/y1Lwt3WTZ3l7?= =?us-ascii?Q?n6gMl+k1BrbFCO27yLwBPgi+GPDCDssBJg/7bJnpB1Dn3sUXuGPU09/n4v9e?= =?us-ascii?Q?NXbj/K+Zofl2/hHfH9cgrmxpMpIXfVl+ZI2d1na2rSMe6QosM7q1punCSCP4?= =?us-ascii?Q?KEiO/0DpiNM2oMLJ+4RqdJGP7zQSseOgbsdjlD3GduC3Ajo7MLBYm85vvFJN?= =?us-ascii?Q?Zdo1UrGv8oSdnYNgkeN1Ptat9AfoMJ3ui7pUyD2r4gzgCLpeeTriXrwD0Agl?= =?us-ascii?Q?G5mfSlM5qQFe4nzfGVLITqPHhebMLi+doBrIoTs8lorwY0QNvgS8BHfFC4gV?= =?us-ascii?Q?apq41szVoyrlPrWxgaUzpqsvzdIezcGRzgExK1DTSa9QPHtX4VIYnIo2sYkM?= =?us-ascii?Q?4E/aoYFG5C4KUxI7VuW8Q5l4b+qOSoXgEe42fPFla6XVuSdUo4ZAaCf/XeBg?= =?us-ascii?Q?LeUwx5xkDuBskLXxYM2ZNsGI4V/mezt4O+rfdP+kZCyAKLU4cFyGTfLF+0Rb?= =?us-ascii?Q?r0+2mwp84gmyWKS6qt3JFP1XeJ2wpFeRic1tNTMNyuwyEOlQnBu2TaLZtmEU?= =?us-ascii?Q?IBn7AKzwiwYBL566X4gLZbDklhbC2qBRDqle3CAEWW//487cK8+7lALo0rLI?= =?us-ascii?Q?SyCQv1er/23vsHEAZL7B4jdLzLli+L7UvwtMWybYl3yqJpIKKFN918UP4EcO?= =?us-ascii?Q?CQ2tGyVjZktImT1LOMFn5X2VXxaCufBbU70J3Qmw3FXvY65awCqv3NRNN5G1?= =?us-ascii?Q?eQZd2v2h4Wj5k9lfZ6YQvYvTF+TzJGeXAccuStBlaXVHWMrW3YBZkDedeqGF?= =?us-ascii?Q?GgD9XRIvOZeUDhgyx9CxTg+RO/dgvSWABG23ifNU0Z2dDMvEwilhDhWUTB9p?= =?us-ascii?Q?tR+bBUpnf3iO19opsIdZmgjl0P3One0hA07EpDa9eYKltyHlkrIeeovzUQLo?= =?us-ascii?Q?KQxN4VMWUvAzBSm2KbN7E836svuf4YYlam+zRk3Eojb+B4ukDn1ISAcQKWlR?= =?us-ascii?Q?yk+Sh45SK01BRzj7tJvES56+nu6mF3GAfpRHk4F04cffKVv1YlMKSN8LhKKT?= =?us-ascii?Q?6liBEVfqp6zNPHWNodF9N7jQQtRqkQpYMZ9bUFEujxAQuhlZBmE80unTnLXf?= =?us-ascii?Q?7iY3De7lzHi9D4NR2okZvkj7zdWIG93ghJ4VcsybrBNEA9FKXd/zhY3SVC6F?= =?us-ascii?Q?9NMFkHgZixNR/KMztI1qGyoTRXOV6uR6XMaLZpUQavWLsvi7Ce+Nqg+PLASl?= =?us-ascii?Q?Ic0f0pSAo15UJ57pc94ew1bn?= Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: quoted-printable MIME-Version: 1.0 X-OriginatorOrg: Nvidia.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-AuthSource: BY5PR12MB4324.namprd12.prod.outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: c6049a93-9680-406b-a645-08d8f408bb58 X-MS-Exchange-CrossTenant-originalarrivaltime: 31 Mar 2021 05:49:21.1476 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: 43083d15-7273-40c1-b7db-39efd9ccc17a X-MS-Exchange-CrossTenant-mailboxtype: HOSTED X-MS-Exchange-CrossTenant-userprincipalname: XhDt9Lio4PlctQUuQypueUcOwdty6+1ap/FHcrRDAjTarYPOtuHRv7xbNmw2QP6Slf0yDe5Ng3A5aAl8849nXA== X-MS-Exchange-Transport-CrossTenantHeadersStamped: BY5PR12MB3811 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: Wang, Haiyue >Sent: Tuesday, February 23, 2021 7:46 PM >To: Stephen Hemminger ; Xueming(Steven) Li >Cc: dev@dpdk.org; Slava Ovsiienko ; Asaf Penso >Subject: RE: [dpdk-dev] [PATCH v6 0/9] ethdev: support SubFunction represe= ntor > >> -----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 PC= I 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 an= d >> > 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 your= hardware. >> Is there a PCI standard for this? > >> 3. Maybe a more general solution where these were represented as buses w= ould >> 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/drivers/base/auxiliary.c > >mlx5 subfunction support >https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/= ?id=3D24a790da0ac4d9bcce2a9becc8799241716672f6 Hi, The Auxiliary driver for DPDK posted, welcome to have a look :) http://patchwork.dpdk.org/project/dpdk/patch/20210311130113.31382-1-xueming= l@nvidia.com/ Thanks