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 31593A00C3; Tue, 16 Aug 2022 07:56:57 +0200 (CEST) Received: from [217.70.189.124] (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id 12E054068E; Tue, 16 Aug 2022 07:56:57 +0200 (CEST) Received: from mx0b-0016f401.pphosted.com (mx0a-0016f401.pphosted.com [67.231.148.174]) by mails.dpdk.org (Postfix) with ESMTP id 819E14067C for ; Tue, 16 Aug 2022 07:56:55 +0200 (CEST) Received: from pps.filterd (m0045849.ppops.net [127.0.0.1]) by mx0a-0016f401.pphosted.com (8.17.1.5/8.17.1.5) with ESMTP id 27G4Z0Rm003749; Mon, 15 Aug 2022 22:56:54 -0700 Received: from nam11-co1-obe.outbound.protection.outlook.com (mail-co1nam11lp2172.outbound.protection.outlook.com [104.47.56.172]) by mx0a-0016f401.pphosted.com (PPS) with ESMTPS id 3j04b98784-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT); Mon, 15 Aug 2022 22:56:54 -0700 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=GKcPMtqwdXTVVmfHzyOIU1KEzNZ25JgjRTLTDSTdHeNrhFiIs6sqhV+4Wqksn72ajt2qipfbn8OiutWHalfAuYs/4NzNt+yK89DeiR/rLClj6RDn3t+nRYrhwwXSNNaVtLjgmobQmi1EaRT7J3JMtrCyZK7X91Hi2CnPnRzVw836R3gfPr/Uiwjz2tEImB8N2IEwcEfJMVde00NTlgsZh6I1XNquGBWIS1mGAnaAOvYUb/7kydHnEUktda/xg8mUEG2+x3TtNCum1CZNSZu3OUmcpO7olMdcWCdTV+803Q/18OpTmOqjihO8Cu1oO+cex6Mslpb+18E4/UWwgF7rtA== 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-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=z7/2gZnIB7q/vD5ifbv5E5vstdoOISeOoj9Sa/ChSRo=; b=YpOHPfAzMP8QqK1UK59j96aMSOy+LOUQWEAeJJAHgvM9XEqvJvhPghqy1hy53G99qrpjKI0wpM66lrL3629x/EpuWIe0uYqtD5/DIbnX7KbYySAFU2ZlbKpj2fn7SL1D768bPsbROQblAUmjg3yz1+XRs3gcyMvKlB1/I153aYmJ0ghLoDnoE0t0CxEDTCSCAR8n2IpdIw6aL+ZEu5fWLZslyNoSmpyg43RnmIujzsMt2IcOHyPE8XOFy8ordY12jB6GKIQbd8hxE1KK7TZPrjqMnYHQ7O6/czB4xNVmEToAhLfONck9UfsB/qDBuXA1OFvgpT8nMgCvQVBT7KwKuw== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=marvell.com; dmarc=pass action=none header.from=marvell.com; dkim=pass header.d=marvell.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=marvell.onmicrosoft.com; s=selector1-marvell-onmicrosoft-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=z7/2gZnIB7q/vD5ifbv5E5vstdoOISeOoj9Sa/ChSRo=; b=ZXp2YQuSBqFJ73sGYRtZ/4uNCVngELtUKwrexuEc5HCsT7ZAecRDQE71dau/vIh43ligUsZdSvh4ZOvif0LNAIPN3Uoep2rQkLVEHGnsY8QnHbWXJpS6JQKTTRcjK05MZki+i9iRGYGZ848RYloz9mOvtKMy1BpAmh9saOeTSz4= Received: from CO6PR18MB3860.namprd18.prod.outlook.com (2603:10b6:5:34d::12) by DM6PR18MB2457.namprd18.prod.outlook.com (2603:10b6:5:183::20) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5525.11; Tue, 16 Aug 2022 05:56:51 +0000 Received: from CO6PR18MB3860.namprd18.prod.outlook.com ([fe80::2c0b:4536:34f6:e73f]) by CO6PR18MB3860.namprd18.prod.outlook.com ([fe80::2c0b:4536:34f6:e73f%9]) with mapi id 15.20.5525.018; Tue, 16 Aug 2022 05:56:50 +0000 From: Sunil Kumar Kori To: Cristian Dumitrescu , Aman Singh , Yuying Zhang , Nithin Kumar Dabilpuram , Kiran Kumar Kokkilagadda , Satha Koteswara Rao Kottidi , Jasvinder Singh , Thomas Monjalon , Ferruh Yigit , Andrew Rybchenko CC: "dev@dpdk.org" Subject: RE: [PATCH] ethdev: add protocol param to color table update Thread-Topic: [PATCH] ethdev: add protocol param to color table update Thread-Index: AQHYkc7k1cekBTqWgUC46rfd21q1yK2IhCQQgCjCIrA= Date: Tue, 16 Aug 2022 05:56:50 +0000 Message-ID: References: <20220707065743.76932-1-skori@marvell.com> In-Reply-To: Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: x-dg-rorf: true x-dg-ref: =?us-ascii?Q?PG1ldGE+PGF0IG5tPSJib2R5LnR4dCIgcD0iYzpcdXNlcnNcc2tvcmlcYXBw?= =?us-ascii?Q?ZGF0YVxyb2FtaW5nXDA5ZDg0OWI2LTMyZDMtNGE0MC04NWVlLTZiODRiYTI5?= =?us-ascii?Q?ZTM1Ylxtc2dzXG1zZy0zNTk1N2ZmOC0xZDI4LTExZWQtYjZiOC05NGU2Zjc5?= =?us-ascii?Q?MjY4OTBcYW1lLXRlc3RcMzU5NTdmZmEtMWQyOC0xMWVkLWI2YjgtOTRlNmY3?= =?us-ascii?Q?OTI2ODkwYm9keS50eHQiIHN6PSIxNzI4NyIgdD0iMTMzMDUxMDMwMDYzNDM4?= =?us-ascii?Q?MTExIiBoPSJiaUdLc3lSUlNPNWdxMVpvZ0grMGVxb2d3ekU9IiBpZD0iIiBi?= =?us-ascii?Q?bD0iMCIgYm89IjEiIGNpPSJjQUFBQUVSSFUxUlNSVUZOQ2dVQUFQNEZBQUFm?= =?us-ascii?Q?V2U3M05MSFlBV2RMc3FNWHNlaDZaMHV5b3hleDZIb0pBQUFBQUFBQUFBQUFB?= =?us-ascii?Q?QUFBQUFBQUFBQUFBSEFBQUFDT0JRQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB?= =?us-ascii?Q?RUFBUUFCQUFBQUVDRjdYQUFBQUFBQUFBQUFBQUFBQUo0QUFBQmhBR1FBWkFC?= =?us-ascii?Q?eUFHVUFjd0J6QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB?= =?us-ascii?Q?QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB?= =?us-ascii?Q?QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB?= =?us-ascii?Q?QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFF?= =?us-ascii?Q?QUFBQUFBQUFBQWdBQUFBQUFuZ0FBQUdNQWRRQnpBSFFBYndCdEFGOEFjQUJs?= =?us-ascii?Q?QUhJQWN3QnZBRzRBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB?= =?us-ascii?Q?QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB?= =?us-ascii?Q?QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB?= =?us-ascii?Q?QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBUUFBQUFBQUFBQUNBQUFB?= =?us-ascii?Q?QUFDZUFBQUFZd0IxQUhNQWRBQnZBRzBBWHdCd0FHZ0Fid0J1QUdVQWJnQjFB?= =?us-ascii?Q?RzBBWWdCbEFISUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB?= =?us-ascii?Q?QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB?= =?us-ascii?Q?QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB?= =?us-ascii?Q?QUFBQUFBQUFBQUFBQUFBQkFBQUFBQUFBQUFJQUFBQUFBSjRBQUFCakFIVUFj?= =?us-ascii?Q?d0IwQUc4QWJRQmZBSE1BY3dCdUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB?= =?us-ascii?Q?QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB?= x-dg-refone: =?us-ascii?Q?QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB?= =?us-ascii?Q?QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB?= =?us-ascii?Q?QUFBQUFBQUFBQUFBQUFBQUFBQUVBQUFBQUFBQUFBZ0FBQUFBQW5nQUFBR1FB?= =?us-ascii?Q?YkFCd0FGOEFjd0JyQUhrQWNBQmxBRjhBWXdCb0FHRUFkQUJmQUcwQVpRQnpB?= =?us-ascii?Q?SE1BWVFCbkFHVUFYd0IyQURBQU1nQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB?= =?us-ascii?Q?QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB?= =?us-ascii?Q?QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB?= =?us-ascii?Q?QUFBQUFRQUFBQUFBQUFBQ0FBQUFBQUNlQUFBQVpBQnNBSEFBWHdCekFHd0FZ?= =?us-ascii?Q?UUJqQUdzQVh3QmpBR2dBWVFCMEFGOEFiUUJsQUhNQWN3QmhBR2NBWlFBQUFB?= =?us-ascii?Q?QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB?= =?us-ascii?Q?QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB?= =?us-ascii?Q?QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFCQUFBQUFBQUFB?= =?us-ascii?Q?QUlBQUFBQUFKNEFBQUJrQUd3QWNBQmZBSFFBWlFCaEFHMEFjd0JmQUc4QWJn?= =?us-ascii?Q?QmxBR1FBY2dCcEFIWUFaUUJmQUdZQWFRQnNBR1VBQUFBQUFBQUFBQUFBQUFB?= =?us-ascii?Q?QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB?= =?us-ascii?Q?QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB?= =?us-ascii?Q?QUFBQUFBQUFBQUFBQUFBQUFBQUFBRUFBQUFBQUFBQUFnQUFBQUFBbmdBQUFH?= =?us-ascii?Q?VUFiUUJoQUdrQWJBQmZBR0VBWkFCa0FISUFaUUJ6QUhNQUFBQUFBQUFBQUFB?= =?us-ascii?Q?QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB?= =?us-ascii?Q?QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB?= =?us-ascii?Q?QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFIUUFBQUFBQUFB?= =?us-ascii?Q?QUFBQUFBQVFBQUFBQUFBQUFDQUFBQUFBQ2VBQUFBYlFCaEFISUFkZ0JsQUd3?= =?us-ascii?Q?QWJBQmZBSFFBWlFCeUFHMEFhUUJ1QUhVQWN3QUFBQUFBQUFBQUFBQUFBQUFB?= =?us-ascii?Q?QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB?= =?us-ascii?Q?QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB?= =?us-ascii?Q?QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB?= x-dg-reftwo: QUFBQUFBQUFBQUJBQUFBQUFBQUFBSUFBQUFBQUE9PSIvPjwvbWV0YT4= x-ms-publictraffictype: Email x-ms-office365-filtering-correlation-id: 237ed73f-8c96-49c6-243e-08da7f4c1cdf x-ms-traffictypediagnostic: DM6PR18MB2457:EE_ x-ms-exchange-senderadcheck: 1 x-ms-exchange-antispam-relay: 0 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: P3XMwmbSPsLV8+aV9gpLzXCDOGmKVDsOxd74HLTXW3bOO/MbZUnTGBh0PT8efzufhFc2W0wlBQG0X9XP26BR4fhLK2YLYVyqiZgrlRM++C9VSAwepUq1US6BtE+UN7UeMQSh4fQK8KK3gcynq4xyOwomBIlB22oepT9JIAmTwEQxLlYT+DyFpGXeA6iA9DKCQZ+0lM8EiqqZUHFhGhLUE/bQ0/0DdduZ8ImXlCvDKzmOs8xT7vc4UX5RjJgGbOaIvUT+ZeRoJLwMuWR6MMjC0eL8csIGzM6WMLQi+GM9kj/WkJcfV5tOQbcp3FAYJKABvqMlW2gTGj6tkDtpjHhQKixptxVRvIs9WiLWlQ84uFIVnNHKhVq2qFOwp2ltNxeywHMvLlLCbDy7AdMOxYQkl3rrAcJkfQJOfFdpZZTGdSsBBOqWH6aOpU1ZiSHGMFYypS73X+27U3MjXyY4q5I70WTYVd60SfmnhJJ3yBMqvyw7HjDAp+k+9ijgvPWxFarF7Sz8zAX9PSzPKYwzbgG99/ZwezNCWzSVOWi42tIkyCXaYsyu/z4OK0W/MmPpEGPiAP79xBr9u6A8SqrJjiTw6lDfB4rBYmtjHuOrXpZCUl2V+2kChvN1l6A+fdFh2OMLJZ2n1RXB5lgb7dAkkpGfCOtf+iV/elq5y3iVO2D/5cf42Znisn0K1g6naHgty94KMG0y6Gzfxicl3jYm9MBgLHhZdITaKkeKuwKOjAkC0O1AijzrrHehWh7lID9nNPYHob0yg3gIDxT3I8wpt+hGs1epThtDsfec455Y28Ud4wZ4QAgtBzEmaovP80fwyXbh x-forefront-antispam-report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:CO6PR18MB3860.namprd18.prod.outlook.com; PTR:; CAT:NONE; SFS:(13230016)(4636009)(136003)(376002)(366004)(346002)(396003)(39860400002)(71200400001)(53546011)(7696005)(9686003)(86362001)(41300700001)(6506007)(186003)(55016003)(26005)(110136005)(83380400001)(316002)(76116006)(4326008)(66946007)(66476007)(33656002)(66446008)(66556008)(2906002)(15650500001)(478600001)(5660300002)(30864003)(52536014)(921005)(8676002)(38070700005)(122000001)(8936002)(64756008)(38100700002); DIR:OUT; SFP:1101; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?us-ascii?Q?Wj7qtCT+vs/dAe2Bj2NSymK/TCCXQ1giUXdM9p5EtJeg5HOVYlKUfgTfoU04?= =?us-ascii?Q?Voq5p1Sv58prLf/c+s6MQsbD/f1YW+mjRsOAElhhY4MhQayvLLw9Q2O3TdCn?= =?us-ascii?Q?LE67DW5JJjAvlnPpGiWlKJnOO4oCNp0tMpIxpCq/+YSLlQ84qzjAPBxcsdXO?= =?us-ascii?Q?WkNDV46L5MJ6IAYvqUzdbJU5p27J/2LcIJ9JKgIhUCsmC70J7rEa4fNoVVIA?= =?us-ascii?Q?+8Mxi2Q+MPaOYzTL07QWHi/5h9M+XRque/whLypagM+JjD6MRmE3pR/GhI/g?= =?us-ascii?Q?mg5UGuUA49jsB93EjSadoCmPYwO+5orVR6YZJxMDsnVHTM9OgdeFBjCghqOR?= =?us-ascii?Q?O+npfbN6NtEPzH8N6mSGMVav318BmRR4xFBiPrZfOMzIChxSmnhfJNT3ln7d?= =?us-ascii?Q?uU/LxUWFQxwTcGZYZ47jg8GndesJWt/bGT8G2f52WvMl4mu9jl5Tp18Y7X5k?= =?us-ascii?Q?QZHpmy81IrQjx2qngtarE8pCCV6/0/+6cybIRG8G392ovzFO3AnaWdwtjyJP?= =?us-ascii?Q?qJbX0zdVuFvSBBDpq14eFBHrcEdW3lZlTEIea5rx+CRI7EjxFTPrxibOyJQT?= =?us-ascii?Q?UvnJb8Mz4/C47ULtzbEdUL02JdnOYZOrgjGv3fRFaJRnLUjwyn461eFcEejJ?= =?us-ascii?Q?5U5B9BQQF3+9Q1Z56Tt3LFGqMcTBr1oBRwtjM6LJC4MCKMMsNOuYPauyuL2I?= =?us-ascii?Q?DQK8JPe8Bk+dohwaSdX/9tjUYZU5qksuLZZxMnfUrsoypf23MzHT9rRn4vJY?= =?us-ascii?Q?56mR1xCyCHhplnVuMPm1UEoV+Xd/yXkAHmMVxqGihs/0bXedXBWdbjFRkXjO?= =?us-ascii?Q?XBHa9i8HepWBY5/En3MHCRMb5cgFU7QGmev4K2IGlbujXextbDWMcA9Phb08?= =?us-ascii?Q?lGbqp3QhCpyjV/6C7SI/ag5qd/wb66TuN9y37HEKhza3Lojl2nfgYNLj4gyO?= =?us-ascii?Q?rMCBWhnxuR0m/x4nQ2K7f6BJ4LGlmN2KjZzXcXiWZGTV7bz2hbpkteqjXAJJ?= =?us-ascii?Q?XLAxF5BBRU20wRg8+T/SGSdBfO3bHyWyTjxl5etYUQpS4x3ZGRzpevInkgAG?= =?us-ascii?Q?BQQpg6WKL5xHQ/RBBpZ/wQJ8DUxG+v97gFdF0IEHt2zIU+a5Qruryws9Ekt0?= =?us-ascii?Q?wImmSmtr3yBcpITZRwS37K1tAlDun7KUPBkmH4hMZl56CaFqzHr3Zuok9uaW?= =?us-ascii?Q?5oQ3FVuskh8019hf4T10/UkTR1Px3c6k7Qslqa9caRf6N9MTobg1hDbWZGZ6?= =?us-ascii?Q?vFwCG1oD6SgLUn7CYXj3h6MWyAhiMudaTJPGBBV5C6L2oYQVDHcK+v9cDniX?= =?us-ascii?Q?4Yjpu3MyXMf8P4wVs8exHsISm7hItsN53L4Okx5qWMh5R15LKq3ZmLlllaLF?= =?us-ascii?Q?pWvvv2Y9CPl5RJQVPA63Ct5S7KXNiS++K7vlQ4dY90iHaF9DHRBHobMiig/i?= =?us-ascii?Q?BC3uWIX3ITuPly1DPDR9e1CnULlydb7b9VgjJp6r/KtKHD3RthibiJyif7qO?= =?us-ascii?Q?6EuhKSjxD13xjuonu82Q6569CB4KdKmFQdYKVKfhcLmtgFDBkNxe79oXWM+4?= =?us-ascii?Q?N2kGgHsH66QodCmMm+A=3D?= Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: quoted-printable MIME-Version: 1.0 X-OriginatorOrg: marvell.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-AuthSource: CO6PR18MB3860.namprd18.prod.outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: 237ed73f-8c96-49c6-243e-08da7f4c1cdf X-MS-Exchange-CrossTenant-originalarrivaltime: 16 Aug 2022 05:56:50.4818 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: 70e1fb47-1155-421d-87fc-2e58f638b6e0 X-MS-Exchange-CrossTenant-mailboxtype: HOSTED X-MS-Exchange-CrossTenant-userprincipalname: bwUjJSdL3pobQBHD2stfg9WCKyldyvCqoG/Lgkgfll0JpkNfDNIwYzrAk4nRDdS8OT3u0WgyD52d05iC9qRyKQ== X-MS-Exchange-Transport-CrossTenantHeadersStamped: DM6PR18MB2457 X-Proofpoint-GUID: NqvmJB74ucm0JpPrMJ_OPmhqS_fa3nzW X-Proofpoint-ORIG-GUID: NqvmJB74ucm0JpPrMJ_OPmhqS_fa3nzW X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.205,Aquarius:18.0.883,Hydra:6.0.517,FMLib:17.11.122.1 definitions=2022-08-16_03,2022-08-16_01,2022-06-22_01 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 Ping. > -----Original Message----- > From: Sunil Kumar Kori > Sent: Thursday, July 21, 2022 1:02 PM > To: Sunil Kumar Kori ; Cristian Dumitrescu > ; Aman Singh > ; Yuying Zhang ; > Nithin Kumar Dabilpuram ; Kiran Kumar > Kokkilagadda ; Satha Koteswara Rao Kottidi > ; Jasvinder Singh ; > Thomas Monjalon ; Ferruh Yigit > ; Andrew Rybchenko > > Cc: dev@dpdk.org > Subject: RE: [PATCH] ethdev: add protocol param to color table update >=20 > Hello all, > Please have look on it and provide your feedback. >=20 > Regards > Sunil Kumar Kori >=20 > > -----Original Message----- > > From: skori@marvell.com > > Sent: Thursday, July 7, 2022 12:28 PM > > To: Cristian Dumitrescu ; Aman Singh > > ; Yuying Zhang ; > > Nithin Kumar Dabilpuram ; Kiran Kumar > > Kokkilagadda ; Sunil Kumar Kori > > ; Satha Koteswara Rao Kottidi > > ; Jasvinder Singh ; > > Thomas Monjalon ; Ferruh Yigit > > ; Andrew Rybchenko > > > > Cc: dev@dpdk.org > > Subject: [PATCH] ethdev: add protocol param to color table update > > > > From: Sunil Kumar Kori > > > > Using rte_mtr_color_in_protocol_set(), user can configure combination > > of protocol headers, like outer_vlan and outer_ip, can be enabled on > > given meter object. > > > > But rte_mtr_meter_vlan_table_update() and > > rte_mtr_meter_dscp_table_update() do not have information that which > > table needs to be updated corresponding to protocol header i.e. inner > > or outer. > > > > Adding protocol paramreter will allow user to provide required > > protocol information so that corresponding inner or outer table can be > > updated corresponding to protocol header. > > > > If user wishes to configure both inner and outer table then API must > > be called twice with correct protocol information. > > > > Depends-on: series-23647 ("common/cnxk: update precolor table setup > > for > > VLAN") > > > > Signed-off-by: Sunil Kumar Kori > > --- > > app/test-pmd/cmdline_mtr.c | 42 ++++++++++++++++----- > > doc/guides/testpmd_app_ug/testpmd_funcs.rst | 8 ++-- > > drivers/net/cnxk/cnxk_ethdev_mtr.c | 20 +++++++++- > > drivers/net/softnic/rte_eth_softnic_meter.c | 4 +- > > lib/ethdev/rte_mtr.c | 8 ++-- > > lib/ethdev/rte_mtr.h | 7 +++- > > lib/ethdev/rte_mtr_driver.h | 4 +- > > 7 files changed, 70 insertions(+), 23 deletions(-) > > > > diff --git a/app/test-pmd/cmdline_mtr.c b/app/test-pmd/cmdline_mtr.c > > index b92e66cedb..c3644ef443 100644 > > --- a/app/test-pmd/cmdline_mtr.c > > +++ b/app/test-pmd/cmdline_mtr.c > > @@ -293,8 +293,8 @@ parse_meter_color_str(char *c_str, uint32_t > > *use_prev_meter_color, } > > > > static int > > -parse_multi_token_string(char *t_str, uint16_t *port_id, > > - uint32_t *mtr_id, enum rte_color **dscp_table) > > +parse_multi_token_string(char *t_str, uint16_t *port_id, uint32_t > *mtr_id, > > + enum rte_mtr_color_in_protocol *proto, enum rte_color > > **dscp_table) > > { > > char *token; > > uint64_t val; > > @@ -322,6 +322,16 @@ parse_multi_token_string(char *t_str, uint16_t > > *port_id, > > > > *mtr_id =3D val; > > > > + /* Third token: protocol */ > > + token =3D strtok_r(t_str, PARSE_DELIMITER, &t_str); > > + if (token =3D=3D NULL) > > + return 0; > > + > > + if (strcmp(token, "outer_ip") =3D=3D 0) > > + *proto =3D RTE_MTR_COLOR_IN_PROTO_OUTER_IP; > > + else if (strcmp(token, "inner_ip") =3D=3D 0) > > + *proto =3D RTE_MTR_COLOR_IN_PROTO_INNER_IP; > > + > > ret =3D parse_dscp_table_entries(t_str, dscp_table); > > if (ret !=3D 0) > > return -1; > > @@ -331,7 +341,7 @@ parse_multi_token_string(char *t_str, uint16_t > > *port_id, > > > > static int > > parse_multi_token_vlan_str(char *t_str, uint16_t *port_id, uint32_t > > *mtr_id, > > - enum rte_color **vlan_table) > > + enum rte_mtr_color_in_protocol *proto, enum rte_color > > **vlan_table) > > { > > uint64_t val; > > char *token; > > @@ -359,6 +369,16 @@ parse_multi_token_vlan_str(char *t_str, uint16_t > > *port_id, uint32_t *mtr_id, > > > > *mtr_id =3D val; > > > > + /* Third token: protocol */ > > + token =3D strtok_r(t_str, PARSE_DELIMITER, &t_str); > > + if (token =3D=3D NULL) > > + return 0; > > + > > + if (strcmp(token, "outer_vlan") =3D=3D 0) > > + *proto =3D RTE_MTR_COLOR_IN_PROTO_OUTER_VLAN; > > + else if (strcmp(token, "inner_vlan") =3D=3D 0) > > + *proto =3D RTE_MTR_COLOR_IN_PROTO_INNER_VLAN; > > + > > ret =3D parse_vlan_table_entries(t_str, vlan_table); > > if (ret !=3D 0) > > return -1; > > @@ -1384,6 +1404,7 @@ static void > > cmd_set_port_meter_dscp_table_parsed(void *parsed_result, > > __rte_unused void *data) > > { > > struct cmd_set_port_meter_dscp_table_result *res =3D parsed_result; > > + enum rte_mtr_color_in_protocol proto =3D 0; > > struct rte_mtr_error error; > > enum rte_color *dscp_table =3D NULL; > > char *t_str =3D res->token_string; > > @@ -1392,7 +1413,8 @@ static void > > cmd_set_port_meter_dscp_table_parsed(void *parsed_result, > > int ret; > > > > /* Parse string */ > > - ret =3D parse_multi_token_string(t_str, &port_id, &mtr_id, > > &dscp_table); > > + ret =3D parse_multi_token_string(t_str, &port_id, &mtr_id, &proto, > > + &dscp_table); > > if (ret) { > > fprintf(stderr, " Multi token string parse error\n"); > > return; > > @@ -1402,7 +1424,7 @@ static void > > cmd_set_port_meter_dscp_table_parsed(void *parsed_result, > > goto free_table; > > > > /* Update Meter DSCP Table*/ > > - ret =3D rte_mtr_meter_dscp_table_update(port_id, mtr_id, > > + ret =3D rte_mtr_meter_dscp_table_update(port_id, mtr_id, proto, > > dscp_table, &error); > > if (ret !=3D 0) > > print_err_msg(&error); > > @@ -1414,7 +1436,7 @@ static void > > cmd_set_port_meter_dscp_table_parsed(void *parsed_result, > > cmdline_parse_inst_t cmd_set_port_meter_dscp_table =3D { > > .f =3D cmd_set_port_meter_dscp_table_parsed, > > .data =3D NULL, > > - .help_str =3D "set port meter dscp table " > > + .help_str =3D "set port meter dscp table " > > "[ ... > > ]", > > .tokens =3D { > > (void *)&cmd_set_port_meter_dscp_table_set, > > @@ -1457,6 +1479,7 @@ static void > > cmd_set_port_meter_vlan_table_parsed(void *parsed_result, > > __rte_unused void *data) > > { > > struct cmd_set_port_meter_vlan_table_result *res =3D parsed_result; > > + enum rte_mtr_color_in_protocol proto =3D 0; > > struct rte_mtr_error error; > > enum rte_color *vlan_table =3D NULL; > > char *t_str =3D res->token_string; > > @@ -1465,7 +1488,8 @@ static void > > cmd_set_port_meter_vlan_table_parsed(void *parsed_result, > > int ret; > > > > /* Parse string */ > > - ret =3D parse_multi_token_vlan_str(t_str, &port_id, &mtr_id, > > &vlan_table); > > + ret =3D parse_multi_token_vlan_str(t_str, &port_id, &mtr_id, &proto, > > + &vlan_table); > > if (ret) { > > fprintf(stderr, " Multi token string parse error\n"); > > return; > > @@ -1475,7 +1499,7 @@ static void > > cmd_set_port_meter_vlan_table_parsed(void *parsed_result, > > goto free_table; > > > > /* Update Meter VLAN Table*/ > > - ret =3D rte_mtr_meter_vlan_table_update(port_id, mtr_id, > > + ret =3D rte_mtr_meter_vlan_table_update(port_id, mtr_id, proto, > > vlan_table, &error); > > if (ret !=3D 0) > > print_err_msg(&error); > > @@ -1487,7 +1511,7 @@ static void > > cmd_set_port_meter_vlan_table_parsed(void *parsed_result, > > cmdline_parse_inst_t cmd_set_port_meter_vlan_table =3D { > > .f =3D cmd_set_port_meter_vlan_table_parsed, > > .data =3D NULL, > > - .help_str =3D "set port meter vlan table " > > + .help_str =3D "set port meter vlan table " > > "[ ... > > ]", > > .tokens =3D { > > (void *)&cmd_set_port_meter_vlan_table_set, > > diff --git a/doc/guides/testpmd_app_ug/testpmd_funcs.rst > > b/doc/guides/testpmd_app_ug/testpmd_funcs.rst > > index 330e34427d..ce40e3b6f2 100644 > > --- a/doc/guides/testpmd_app_ug/testpmd_funcs.rst > > +++ b/doc/guides/testpmd_app_ug/testpmd_funcs.rst > > @@ -2597,15 +2597,15 @@ set port meter dscp table > > > > Set meter dscp table for the ethernet device:: > > > > - testpmd> set port meter dscp table (port_id) (mtr_id) [(dscp_tbl_en= try0) > \ > > - (dscp_tbl_entry1)...(dscp_tbl_entry63)] > > + testpmd> set port meter dscp table (port_id) (mtr_id) (proto) \ > > + [(dscp_tbl_entry0) (dscp_tbl_entry1)...(dscp_tbl_entry63)] > > > > set port meter vlan table > > ~~~~~~~~~~~~~~~~~~~~~~~~~ > > Set meter VLAN table for the Ethernet device:: > > > > - testpmd> set port meter vlan table (port_id) (mtr_id) [(vlan_tbl_en= try0) \ > > - (vlan_tbl_entry1)...(vlan_tbl_entry15)] > > + testpmd> set port meter vlan table (port_id) (mtr_id) (proto) \ > > + [(vlan_tbl_entry0) (vlan_tbl_entry1)...(vlan_tbl_entry15)] > > > > set port meter protocol > > ~~~~~~~~~~~~~~~~~~~~~~~ > > diff --git a/drivers/net/cnxk/cnxk_ethdev_mtr.c > > b/drivers/net/cnxk/cnxk_ethdev_mtr.c > > index be2cb7d628..0fa18f01c7 100644 > > --- a/drivers/net/cnxk/cnxk_ethdev_mtr.c > > +++ b/drivers/net/cnxk/cnxk_ethdev_mtr.c > > @@ -720,6 +720,7 @@ cnxk_nix_mtr_disable(struct rte_eth_dev *eth_dev, > > uint32_t mtr_id, > > > > static int > > cnxk_nix_mtr_dscp_table_update(struct rte_eth_dev *eth_dev, uint32_t > > mtr_id, > > + enum rte_mtr_color_in_protocol proto, > > enum rte_color *dscp_table, > > struct rte_mtr_error *error) { @@ -750,7 +751,7 > @@ > > cnxk_nix_mtr_dscp_table_update(struct rte_eth_dev *eth_dev, uint32_t > > mtr_id, > > > > table.count =3D ROC_NIX_BPF_PRECOLOR_TBL_SIZE_DSCP; > > > > - switch (dev->proto) { > > + switch (proto) { > > case RTE_MTR_COLOR_IN_PROTO_OUTER_IP: > > table.mode =3D ROC_NIX_BPF_PC_MODE_DSCP_OUTER; > > break; > > @@ -764,6 +765,13 @@ cnxk_nix_mtr_dscp_table_update(struct > > rte_eth_dev *eth_dev, uint32_t mtr_id, > > goto exit; > > } > > > > + if (dev->proto !=3D proto) { > > + rc =3D -rte_mtr_error_set(error, EINVAL, > > + RTE_MTR_ERROR_TYPE_UNSPECIFIED, NULL, > > + "input color protocol is not configured"); > > + goto exit; > > + } > > + > > for (i =3D 0; i < ROC_NIX_BPF_PRECOLOR_TBL_SIZE_DSCP; i++) > > table.color[i] =3D nix_dscp_tbl[i]; > > > > @@ -784,6 +792,7 @@ cnxk_nix_mtr_dscp_table_update(struct > rte_eth_dev > > *eth_dev, uint32_t mtr_id, > > > > static int > > cnxk_nix_mtr_vlan_table_update(struct rte_eth_dev *eth_dev, uint32_t > > mtr_id, > > + enum rte_mtr_color_in_protocol proto, > > enum rte_color *vlan_table, > > struct rte_mtr_error *error) { @@ -814,7 +823,7 > @@ > > cnxk_nix_mtr_vlan_table_update(struct rte_eth_dev *eth_dev, uint32_t > > mtr_id, > > > > table.count =3D ROC_NIX_BPF_PRECOLOR_TBL_SIZE_VLAN; > > > > - switch (dev->proto) { > > + switch (proto) { > > case RTE_MTR_COLOR_IN_PROTO_OUTER_VLAN: > > table.mode =3D ROC_NIX_BPF_PC_MODE_VLAN_OUTER; > > break; > > @@ -828,6 +837,13 @@ cnxk_nix_mtr_vlan_table_update(struct > > rte_eth_dev *eth_dev, uint32_t mtr_id, > > goto exit; > > } > > > > + if (dev->proto !=3D proto) { > > + rc =3D -rte_mtr_error_set(error, EINVAL, > > + RTE_MTR_ERROR_TYPE_UNSPECIFIED, NULL, > > + "input color protocol is not configured"); > > + goto exit; > > + } > > + > > for (i =3D 0; i < ROC_NIX_BPF_PRECOLOR_TBL_SIZE_VLAN; i++) > > table.color[i] =3D nix_vlan_tbl[i]; > > > > diff --git a/drivers/net/softnic/rte_eth_softnic_meter.c > > b/drivers/net/softnic/rte_eth_softnic_meter.c > > index 6b02f43e31..3e635a3cfe 100644 > > --- a/drivers/net/softnic/rte_eth_softnic_meter.c > > +++ b/drivers/net/softnic/rte_eth_softnic_meter.c > > @@ -636,7 +636,7 @@ pmd_mtr_meter_profile_update(struct > rte_eth_dev > > *dev, > > /* MTR object meter DSCP table update */ static int > > pmd_mtr_meter_dscp_table_update(struct rte_eth_dev *dev, > > - uint32_t mtr_id, > > + uint32_t mtr_id, enum rte_mtr_color_in_protocol proto, > > enum rte_color *dscp_table, > > struct rte_mtr_error *error) > > { > > @@ -648,6 +648,8 @@ pmd_mtr_meter_dscp_table_update(struct > > rte_eth_dev *dev, > > uint32_t table_id, i; > > int status; > > > > + RTE_SET_USED(proto); > > + > > /* MTR object id must be valid */ > > m =3D softnic_mtr_find(p, mtr_id); > > if (m =3D=3D NULL) > > diff --git a/lib/ethdev/rte_mtr.c b/lib/ethdev/rte_mtr.c index > > c460e4f4e0..e4dff20f76 100644 > > --- a/lib/ethdev/rte_mtr.c > > +++ b/lib/ethdev/rte_mtr.c > > @@ -197,25 +197,25 @@ rte_mtr_meter_policy_update(uint16_t port_id, > > /** MTR object meter DSCP table update */ int > > rte_mtr_meter_dscp_table_update(uint16_t port_id, > > - uint32_t mtr_id, > > + uint32_t mtr_id, enum rte_mtr_color_in_protocol proto, > > enum rte_color *dscp_table, > > struct rte_mtr_error *error) > > { > > struct rte_eth_dev *dev =3D &rte_eth_devices[port_id]; > > return RTE_MTR_FUNC(port_id, meter_dscp_table_update)(dev, > > - mtr_id, dscp_table, error); > > + mtr_id, proto, dscp_table, error); > > } > > > > /** MTR object meter VLAN table update */ int > > rte_mtr_meter_vlan_table_update(uint16_t port_id, > > - uint32_t mtr_id, > > + uint32_t mtr_id, enum rte_mtr_color_in_protocol proto, > > enum rte_color *vlan_table, > > struct rte_mtr_error *error) > > { > > struct rte_eth_dev *dev =3D &rte_eth_devices[port_id]; > > return RTE_MTR_FUNC(port_id, meter_vlan_table_update)(dev, > > - mtr_id, vlan_table, error); > > + mtr_id, proto, vlan_table, error); > > } > > > > /** Set the input color protocol on MTR object */ diff --git > > a/lib/ethdev/rte_mtr.h b/lib/ethdev/rte_mtr.h index > > 008bc84f0d..5e4f7ba73b 100644 > > --- a/lib/ethdev/rte_mtr.h > > +++ b/lib/ethdev/rte_mtr.h > > @@ -913,6 +913,8 @@ rte_mtr_meter_policy_update(uint16_t port_id, > > * The port identifier of the Ethernet device. > > * @param[in] mtr_id > > * MTR object ID. Needs to be valid. > > + * @param[in] proto > > + * Input color protocol. > > * @param[in] dscp_table > > * When non-NULL: it points to a pre-allocated and pre-populated tab= le > > with > > * exactly 64 elements providing the input color for each value of t= he > > @@ -927,7 +929,7 @@ rte_mtr_meter_policy_update(uint16_t port_id, > > __rte_experimental int rte_mtr_meter_dscp_table_update(uint16_t > > port_id, > > - uint32_t mtr_id, > > + uint32_t mtr_id, enum rte_mtr_color_in_protocol proto, > > enum rte_color *dscp_table, > > struct rte_mtr_error *error); > > > > @@ -938,6 +940,8 @@ rte_mtr_meter_dscp_table_update(uint16_t > port_id, > > * The port identifier of the Ethernet device. > > * @param[in] mtr_id > > * MTR object ID. Needs to be valid. > > + * @param[in] proto > > + * Input color protocol. > > * @param[in] vlan_table > > * When non-NULL: it points to a pre-allocated and pre-populated tab= le > > with > > * exactly 16 elements providing the input color for each value of t= he > > @@ -952,6 +956,7 @@ rte_mtr_meter_dscp_table_update(uint16_t > port_id, > > __rte_experimental int rte_mtr_meter_vlan_table_update(uint16_t > > port_id, uint32_t mtr_id, > > + enum rte_mtr_color_in_protocol proto, > > enum rte_color *vlan_table, > > struct rte_mtr_error *error); > > > > diff --git a/lib/ethdev/rte_mtr_driver.h b/lib/ethdev/rte_mtr_driver.h > > index > > f7dca9a54c..a8b652a607 100644 > > --- a/lib/ethdev/rte_mtr_driver.h > > +++ b/lib/ethdev/rte_mtr_driver.h > > @@ -93,13 +93,13 @@ typedef int > > (*rte_mtr_meter_policy_update_t)(struct > > rte_eth_dev *dev, > > > > /** @internal MTR object meter DSCP table update. */ typedef int > > (*rte_mtr_meter_dscp_table_update_t)(struct rte_eth_dev *dev, > > - uint32_t mtr_id, > > + uint32_t mtr_id, enum rte_mtr_color_in_protocol proto, > > enum rte_color *dscp_table, > > struct rte_mtr_error *error); > > > > /** @internal mtr object meter vlan table update. */ typedef int > > (*rte_mtr_meter_vlan_table_update_t)(struct rte_eth_dev *dev, > > - uint32_t mtr_id, > > + uint32_t mtr_id, enum rte_mtr_color_in_protocol proto, > > enum rte_color *vlan_table, > > struct rte_mtr_error *error); > > > > -- > > 2.25.1