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 B52F9A034C; Thu, 24 Feb 2022 14:07:53 +0100 (CET) Received: from [217.70.189.124] (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id 4CB7F41155; Thu, 24 Feb 2022 14:07:53 +0100 (CET) Received: from mga17.intel.com (mga17.intel.com [192.55.52.151]) by mails.dpdk.org (Postfix) with ESMTP id 78FE04114D for ; Thu, 24 Feb 2022 14:07:51 +0100 (CET) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=intel.com; i=@intel.com; q=dns/txt; s=Intel; t=1645708071; x=1677244071; h=message-id:date:subject:to:cc:references:from: in-reply-to:content-transfer-encoding:mime-version; bh=HMC31Z8CbgYHxcHNC42ZhxveFLvnkqM8tJJODLFJRQg=; b=eMXgMYRo/J9Yc1qxMXB7eBZjTWdGY7Koe4Z6eWhjqKPfw7FwR1VNu7ux KoJKsOr8GtIzEf3XujDCX7JmhhDXlufFqh+1300LmZdROo4SjvUQrGIy3 6bk2z+8OGPARnVwkW/YjNNaRkrI3fLsoc5vwznurza2fU+ZImZcpFr2hk iOoUhlVv80Q2aL6nIy5IRJoHrGzPjZyscLYL/CyzovD/YmzTx5S1WTwnU Ir8zxXz7PmBDjUcA3yszntu2mH0wn2HZeysFmK2bgTJfrH2vRqcD2MWGS Fzl33DPngYLMNbWpKUKKFQuwS4XG9laGVCiGhiy5tULGzWRYhmPf4+4T4 A==; X-IronPort-AV: E=McAfee;i="6200,9189,10267"; a="232851019" X-IronPort-AV: E=Sophos;i="5.88,134,1635231600"; d="scan'208";a="232851019" Received: from orsmga008.jf.intel.com ([10.7.209.65]) by fmsmga107.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 24 Feb 2022 05:07:49 -0800 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.88,134,1635231600"; d="scan'208";a="548739869" Received: from fmsmsx602.amr.corp.intel.com ([10.18.126.82]) by orsmga008.jf.intel.com with ESMTP; 24 Feb 2022 05:07:49 -0800 Received: from fmsmsx601.amr.corp.intel.com (10.18.126.81) by fmsmsx602.amr.corp.intel.com (10.18.126.82) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2308.21; Thu, 24 Feb 2022 05:07:48 -0800 Received: from fmsedg601.ED.cps.intel.com (10.1.192.135) by fmsmsx601.amr.corp.intel.com (10.18.126.81) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2308.21 via Frontend Transport; Thu, 24 Feb 2022 05:07:48 -0800 Received: from NAM10-MW2-obe.outbound.protection.outlook.com (104.47.55.100) by edgegateway.intel.com (192.55.55.70) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.1.2308.20; Thu, 24 Feb 2022 05:07:47 -0800 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=hpwopi6GXIsF6+aAfyfiwG80yX5IV65jBGPRpBiBhysuC7vGII/qxhcff8jncN1fAZ4cjD+WBL6X0rHGR6NapFXhmAF9mk9VyGSXMO2TudjUgMhNsKQk753eErb+KCy87fIJTLvDSrESyLoQs2YJw1YMyUOqxQ7uASCPhFPgZPvTpeEzJivK9+rXgz8kz4bi+BSc8b3OxNt1PdKVZRJF1P37VYzVjTRKaG4u3oQTxDI3tuk0f1RficRe8MXnoAe0xBeuyxxenJC/M8wL1vIkRO0mVcVYBZa+mvyIb32ExdE9NRICSgds4geyr9Htiu3PJDe9DFOyhf3cxJNlJLJTDg== 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=dyfGHLMH0jXLOq8vFeGuAbiu3k0FMKQ4HEDq2zFwycM=; b=QzZVknPXVCRzeggbCa82rGNTD0aNdN9gVdkS1EL6FB1jVEuSyE/f/cdIdhAjZOooW6XCcMzWn1qvXW1TLpy7JsuS1r+B1ElNchzsAlCDXzBPcuLEevNL+QtSgCJY4cUWbqjxFmgBAi/Q6lyKcBPAjaocPHOnA2zsbSf3AOASg0BpDocN6aTq7LMzjsGEWfzGYloZ4zuTAAb3FheToS3h2pxSfBrtTbHe3vZSyKmfwfFdHj3bkOg6nLOlQvlzcJze0ywNFm/s2jNbK1FxEoZtKFJP7+d006jTng7S7SfA6tYgahrpbKUTLEr1BaJaZGWWvPC3AliEbt6LM6VFx2qeBg== 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 Authentication-Results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=intel.com; Received: from SJ0PR11MB5005.namprd11.prod.outlook.com (2603:10b6:a03:2d3::21) by DM6PR11MB3180.namprd11.prod.outlook.com (2603:10b6:5:9::13) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5017.21; Thu, 24 Feb 2022 13:07:43 +0000 Received: from SJ0PR11MB5005.namprd11.prod.outlook.com ([fe80::950b:2599:c5ab:cfea]) by SJ0PR11MB5005.namprd11.prod.outlook.com ([fe80::950b:2599:c5ab:cfea%4]) with mapi id 15.20.4995.027; Thu, 24 Feb 2022 13:07:42 +0000 Message-ID: <855041b1-a6f6-6a48-8785-70e1c758b175@intel.com> Date: Thu, 24 Feb 2022 13:07:35 +0000 Subject: Re: [PATCH v10 00/11] ethdev: datapath-focused flow rules management Content-Language: en-US To: Alexander Kozyrev , CC: , , , , , , , , References: <20220221230240.2409665-1-akozyrev@nvidia.com> <20220223030240.2506513-1-akozyrev@nvidia.com> From: Ferruh Yigit X-User: ferruhy In-Reply-To: <20220223030240.2506513-1-akozyrev@nvidia.com> Content-Type: text/plain; charset="UTF-8"; format=flowed Content-Transfer-Encoding: 7bit X-ClientProxiedBy: LO4P123CA0401.GBRP123.PROD.OUTLOOK.COM (2603:10a6:600:189::10) To SJ0PR11MB5005.namprd11.prod.outlook.com (2603:10b6:a03:2d3::21) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: f978c55c-ea07-49f2-c2b0-08d9f796a416 X-MS-TrafficTypeDiagnostic: DM6PR11MB3180:EE_ X-LD-Processed: 46c98d88-e344-4ed4-8496-4ed7712e255d,ExtAddr X-Microsoft-Antispam-PRVS: X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: 2y3Hx7Z6Bs2vqLT3wneLzddHY+4P7SSDN/etbIkBKduhL9ktBK7DG3Fe3M+DCSmJCmV2goSBy6IVcgqzw8a4Tr7oIvFAIFN+dQAOTGIzSFtKWCqik4UkvIgovJr6vCDz35aKtQxdcOd7OhiHYnOeQHpUiI+nZ1MzPMaaC5WbFWPoWUL5mn5HDn3rJRcET5pWwb3foaEqxMYVfiF2AHB7d4HgYmmLzudISrkllHD9zjNnqz0JJO9VWvWtI7tYJxnykxINmAMJ8bE6UmvYLVq4VMtIb86ciSnJhsKqxH7ZpLLw5VABOYvsZFUQ6sqhE68+NbKDdI0XZAcGSEHBnrpKqlBcpPmAc3h8Gizd/+6dzeQ4XMZXzX77L8yOzqvoWd1av5Yhf5ViawfRusWYLOQdI63um74j27l2+DJu97KYsWPedlFtchYyzIen6XP2AohNGR3kp7qFGDOVO5tgDgWXkx74BxNMKe41Q6F7dHFnraWy7uxlktiQyZlhFGNR8Zi2vl5p7dfcKv9tJELoZGeXJW78rgQqMU1cNQ7TjKEIXyqR7VmA9Oddnxyr37QF4h8J+63ZJiUkaqZt4wP+F5LtcbqVu5udb5EMY/+HlC7n7HBKKu/GyJntA8+QuwgAWpsNepgK13TVPI3wv7FDX/IMZpRAo8o62SbJvfViKs0xwKtOt7V6uZFQJaJ0qwsZvS+QF9/CRO1DIrFsOECCEh4GbaTAumkYcBPPpkaV9opwoRHWCVjM8H0Jx92RURflj13Hv/46rg2nyi9a7ojbh8JdUpdztCoyOZS8NP2pDp09WrE= X-Forefront-Antispam-Report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:SJ0PR11MB5005.namprd11.prod.outlook.com; PTR:; CAT:NONE; SFS:(13230001)(366004)(82960400001)(2616005)(31696002)(31686004)(86362001)(26005)(107886003)(36756003)(38100700002)(83380400001)(186003)(6486002)(53546011)(508600001)(8676002)(6666004)(6506007)(2906002)(316002)(4326008)(66476007)(66946007)(66556008)(5660300002)(44832011)(8936002)(6512007)(45980500001); DIR:OUT; SFP:1102; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?utf-8?B?bzdmdnEvUDhyMmhXWVEvK1ZVM3ZadUJlSzdHdFJBemZ6YkRaZHYwWjBXV1VM?= =?utf-8?B?NXl4cVZKMFYydnQwMzBXRjlEeUlUUityV2pvVE9UNEcvczVER25yendwN1Rz?= =?utf-8?B?UlFFRDhtdVUrbjVFMU4vcm5DYnUrKytmOUZEbVNKblczdnVuZms2SVlqUmll?= =?utf-8?B?R0Q2YzNDNFVwMVZZd2ZIWERCY29nSWFaNGt6YU9uK2xuNTNyTHVjN0Rybk04?= =?utf-8?B?M1NaYjFScWhORlZWZ2liTDNRRnZKT2tPUnNLWUExbDhUNGI0T05YV2kwdm8z?= =?utf-8?B?R09sOFlHWlhzSDIxdUNDdnowN0dhaWJKcEJqYW81TzRsSHNqTnZpRGRXWnhE?= =?utf-8?B?QnJDNXNJSjVxUDdkenZlaWxqdFIrblJtOE1qSXlDRmN0WS9lQk5aMnZRRFk0?= =?utf-8?B?c0FsL0t4QlhGSFZhc3VtVTNBM3AzWEE5REp1WTl3Q2tDZmpmK0tCVzJEdzFD?= =?utf-8?B?R2F3Y0VGT1loN3dzTmZUY25OckQrWU51NUNkaGh1aFVBVjVpc0xQQWRsOHlP?= =?utf-8?B?Q29WVU9TeldQanBrWm9VUDBsYTNwZ1Z3WExudDhpMWZJa1dLYzUyMWxWMjZx?= =?utf-8?B?c1VwRGEvY3RhM1NvUXZ6amlCdDdDNU0yQWx4OXFxYmZ0bW94Kzd3dW56dUxu?= =?utf-8?B?OEZCWFZhMDZiSUlzUXdjWmhXMXN3T1BOVGZzekY4amR3OUpEY2hKMUJXK1VC?= =?utf-8?B?cmhxaWJoRE4vdHk5VjdJcEpJWUk4Q2FIaGlJTjN1UjZpbVlkY1ZtSXNIK3li?= =?utf-8?B?VDM2RkkwSFhQOHhjTy9yYmZ3M09IMDVzQUZzbzAxTnp6Z2hwWU1qRDM1bmov?= =?utf-8?B?VzRBRFJnMnBlRmdPVjZ6bHpHNTdReTNSNHN1WnJhUjl1TDdLejlETEQ0Yndq?= =?utf-8?B?cnRtMVZXMEFCSVhwcjNWOFZ6NGNYRzl5bXl5WHdrMmFUeldSVXdTTU1ZTk1s?= =?utf-8?B?aTRiQ2dtS2kvbXVxdUFxZGVjUlBqbnlpV0lkZTArWjJUSlIvVVVwUnEwek1z?= =?utf-8?B?SUlWMzJBKzByOFNzOXRRakNHaVZYclFGajNpMGUvcWRtblh3eXJlaXJpbzZU?= =?utf-8?B?aEQ1Wlhkd1pQQWdUN3FKRlhzeHZOSlRQNno2eVFRUjhEWjkwT3lXeFZuY3FM?= =?utf-8?B?dFBvTi9DVmpnVktraFlBZjFCTzMwbVhyUzhyT0srdWpkQlE3K1hRZmIvbno1?= =?utf-8?B?dldhTVFVMlJpeWhtenkwSlNiaHVyN1JKdy8rRVBoZmdYU3NvbW9qbTAzZ1FI?= =?utf-8?B?QytxaTRDRkV1NXNCRXJScFNMZ0dFbHBkMDlqTEttZklEeThZVlBubFlzbWtF?= =?utf-8?B?bG9GRzF5eUhYandnMjJZQS9aeGxVSHJubHpvMkwzQno3OWpDMHR3eVZFUkFU?= =?utf-8?B?bWYzeWVGbit5U0NRcGRpZkhLMW5EZnNWbkNnNEJxVloybnhNeXltaHNlN0Z5?= =?utf-8?B?T0M4SFhSVlI5VzBBb3crWHAvMHM2TmsyMjFNc2ZLR0VkNGoxMjZ3REVnUGJj?= =?utf-8?B?TDlsdFA3dExVb0YxN1RzUmw3d2ZPamdFdTloNTVVbHoyZ3RURnVrOFJjTjZl?= =?utf-8?B?VTkyNk02WnlnZzVJbG1oblFxU2g2LzRENFhiMXVlY2JuWGZUTXN3b29vVzZq?= =?utf-8?B?c2w1N1FjTFF0NFJrV0RBNXFoMzFBRTBXSEJrSEFpTEY4Vy91MlZlbkt6STlk?= =?utf-8?B?dWxzMXFJWVFzdUl2NmMyN2FzbXhQUVdZNVA5ekpiSnhzVzhVdG5BbUgzSVl4?= =?utf-8?B?TEFjejJoTGwvRldteUVCbE5GNEVMak1YSER1TldkbXozNlpEZE5hNDNNY0d1?= =?utf-8?B?ZEE2M2ZFdlVWcFFudXo1YXFxaFp0VzE0MC9UMGdOdTA2bThSclJXTTZwYmpp?= =?utf-8?B?RVdPSXlURWU2aHRhc0RtcGw5SEVrekVYVWpyNHRWdUJ6c0RzVlhoUCt4OGNt?= =?utf-8?B?cnBvazRvSUtYdUh3RUdsU2U2NXRaS1ppczZNSk14Ylk1R1lSUW5Uc2RtaGZr?= =?utf-8?B?K0J5NDZHT2xnaVlZNTVQL1p3N0RiTGwyZ2VVN1Vtam83c0NkUnphdXZZbFFo?= =?utf-8?B?b29oWFloV0NIeFY3UnkvV0pVamVLbjNacEQrUzlXSmlkRGJGT09oYWZzTFhC?= =?utf-8?B?VGdSWExxdFBydWx1cWZYRXdTVTltR0RTVlNjY0xXam42dzd1cWxWWjM4dy8w?= =?utf-8?Q?VVZEV3JglFbfMO7pymV+X+o=3D?= X-MS-Exchange-CrossTenant-Network-Message-Id: f978c55c-ea07-49f2-c2b0-08d9f796a416 X-MS-Exchange-CrossTenant-AuthSource: SJ0PR11MB5005.namprd11.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 24 Feb 2022 13:07:42.3170 (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: DeyZHq13K6qA+QyhH8yZqWm2r1+OFCym3nWyM2MTrDS812TbdyCy60MH6TLqZm5ij5rsyCrCwAmnaktEg/dclA== X-MS-Exchange-Transport-CrossTenantHeadersStamped: DM6PR11MB3180 X-OriginatorOrg: intel.com 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 On 2/23/2022 3:02 AM, Alexander Kozyrev wrote: > Three major changes to a generic RTE Flow API were implemented in order > to speed up flow rule insertion/destruction and adapt the API to the > needs of a datapath-focused flow rules management applications: > > 1. Pre-configuration hints. > Application may give us some hints on what type of resources are needed. > Introduce the configuration routine to prepare all the needed resources > inside a PMD/HW before any flow rules are created at the init stage. > > 2. Flow grouping using templates. > Use the knowledge about which flow rules are to be used in an application > and prepare item and action templates for them in advance. Group flow rules > with common patterns and actions together for better resource management. > > 3. Queue-based flow management. > Perform flow rule insertion/destruction asynchronously to spare the datapath > from blocking on RTE Flow API and allow it to continue with packet processing. > Enqueue flow rules operations and poll for the results later. > > testpmd examples are part of the patch series. PMD changes will follow. > > RFC:https://patchwork.dpdk.org/project/dpdk/cover/20211006044835.3936226-1-akozyrev@nvidia.com/ > > Signed-off-by: Alexander Kozyrev > Acked-by: Ori Kam > Acked-by: Ajit Khaparde > > --- > v10: removed missed check in async API > > v9: > - changed sanity checks order > - added reconfiguration explanation > - added remarks on mandatory direction > - renamed operation attributes > - removed all checks in async API > - removed all errno descriptions > > v8: fixed documentation indentation > > v7: > - added sanity checks and device state validation > - added flow engine state validation > - added ingress/egress/transfer attibutes to templates > - moved user_data to a parameter list > - renamed asynchronous functions from "_q_" to"_async_" > - created a separate commit for indirect actions > > v6: addressed more review comments > - fixed typos > - rewrote code snippets > - add a way to get queue size > - renamed port/queue attibutes parameters > > v5: changed titles for testpmd commits > > v4: > - removed structures versioning > - introduced new rte_flow_port_info structure for rte_flow_info_get API > - renamed rte_flow_table_create to rte_flow_template_table_create > > v3: addressed review comments and updated documentation > - added API to get info about pre-configurable resources > - renamed rte_flow_item_template to rte_flow_pattern_template > - renamed drain operation attribute to postpone > - renamed rte_flow_q_drain to rte_flow_q_push > - renamed rte_flow_q_dequeue to rte_flow_q_pull > > v2: fixed patch series thread > > Alexander Kozyrev (11): > ethdev: introduce flow engine configuration > ethdev: add flow item/action templates > ethdev: bring in async queue-based flow rules operations > ethdev: bring in async indirect actions operations > app/testpmd: add flow engine configuration > app/testpmd: add flow template management > app/testpmd: add flow table management > app/testpmd: add async flow create/destroy operations > app/testpmd: add flow queue push operation > app/testpmd: add flow queue pull operation > app/testpmd: add async indirect actions operations Series applied to dpdk-next-net/main, thanks.