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 C976B42BF4; Wed, 31 May 2023 13:26:04 +0200 (CEST) Received: from mails.dpdk.org (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id 513B040F18; Wed, 31 May 2023 13:26:04 +0200 (CEST) Received: from NAM10-DM6-obe.outbound.protection.outlook.com (mail-dm6nam10on2067.outbound.protection.outlook.com [40.107.93.67]) by mails.dpdk.org (Postfix) with ESMTP id 1E60A40ED7 for ; Wed, 31 May 2023 13:26:03 +0200 (CEST) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=MoUMgm2pA7PG/Mjq9OyVfYjWxTQP3GEymxzkkfT1XtKZ59rVeYOOJbIw9d1Kjx87jJxJn6FIuD6kH7jSMkzXhBsZ6iPZnKabyPuONzCbZQgTl4mFlSwWzdYHbp2o8mjXYFHThuf+yRQqG/0Q1gG4a1uDtadP3kyI7JfwXJSzSRRlZwP0+Wy+lYZ0JF0TqCw3occGty099Zfg3bDEe7W8A3nKcs2eEHjIBGPn+O5w0snryZuTqQNcdYMCLAoZTAZft4duKm2sXUqAVKBJjT53hkn6sNLOAkq0A/R0fFzF+PxcJ4KP6pIXq0CFwKqOTlO5jKIWi/+qLAwbny9A9Mycvg== 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=ofbmnprmdWhdPfQkUAtHrLYoyWH8XLtjD+rj44T4P3U=; b=R/+2zAWpKb9c8IobcQbLys1GgNv+ZEV5+ZFjfSH8bANN0gWlajkbCiJSaROIKbXGB6sqY0xvkGgn1FAHIqptQwm2eLdGeZPytmcuZDt/bWWee455J0tPVG4cAetFah6SHzrlHrbY0rMEwdPvOM8y2tQi6LyCIzzYmvJ5Wqosk+fF3xzMK++EaIghu5kmKuJSEVFtmjE9OhL3D8mcOFz4WEOITymhX0M4xiCAlQEXj+r1W3OtF4u+7nZjvFVVg0tb1l+4NhdTgIOxY4Ui8MNLOeBA+bp+RzFXe5HLF+lC4RHgWcVwrNOnNeHbllJz9duuCZeFLF04qSi7sMuY017cbw== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=amd.com; dmarc=pass action=none header.from=amd.com; dkim=pass header.d=amd.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=amd.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=ofbmnprmdWhdPfQkUAtHrLYoyWH8XLtjD+rj44T4P3U=; b=hYXYksqyUIapK2vEz4ZNlHq6ECxykqEY7teZtDIFLWq2z2HMqg2rsiDoO95Dctri0MNZ/uGN5uqu6egziWmtaiEmiQBoOiWEDzNARvhCZIs5aCPZ/N3fJqCjpSOr5Nbzdv9Gw2uVkHLiXfeMu8OuvdDIs60kd7makXuZvdqeN/g= Authentication-Results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=amd.com; Received: from CH2PR12MB4294.namprd12.prod.outlook.com (2603:10b6:610:a9::11) by CY5PR12MB6058.namprd12.prod.outlook.com (2603:10b6:930:2d::18) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6433.24; Wed, 31 May 2023 11:26:01 +0000 Received: from CH2PR12MB4294.namprd12.prod.outlook.com ([fe80::7957:641d:6aba:3f9a]) by CH2PR12MB4294.namprd12.prod.outlook.com ([fe80::7957:641d:6aba:3f9a%4]) with mapi id 15.20.6433.022; Wed, 31 May 2023 11:26:00 +0000 Message-ID: <22600b4b-c7dd-f5ef-5f8e-40e7ebc115b0@amd.com> Date: Wed, 31 May 2023 12:24:47 +0100 User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101 Thunderbird/102.11.2 Subject: Re: [PATCH v6] ethdev: add indirect list flow action Content-Language: en-US To: Ori Kam , Gregory Etelson , "dev@dpdk.org" Cc: Maayan Kashani , Raslan Darawsheh , Aman Singh , Yuying Zhang , "NBU-Contact-Thomas Monjalon (EXTERNAL)" , Andrew Rybchenko References: <20230418172144.24365-1-getelson@nvidia.com> <20230528154350.63541-1-getelson@nvidia.com> From: Ferruh Yigit In-Reply-To: Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-ClientProxiedBy: LO2P265CA0341.GBRP265.PROD.OUTLOOK.COM (2603:10a6:600:d::17) To CH2PR12MB4294.namprd12.prod.outlook.com (2603:10b6:610:a9::11) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: CH2PR12MB4294:EE_|CY5PR12MB6058:EE_ X-MS-Office365-Filtering-Correlation-Id: 1d7b8292-4550-495d-9f39-08db61c9cfad X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: GqKi9j4wmGttRqaIaQ908hsOhhV96k2vhRLGloDsBe5ZwPv8Dh7VXco5a0J4JuJPXuCJuHqCQbNo3BJIemempuPPxwrRgmDgB0kt9VxQu0cZaNiiKuVYqOUmUHpdjxRg1spV+Uw6EbjTwXngs7M0dSKy7SCYoCOwkOJOkGBi1FQ+A9WjJAeW5uZ5KhIeMW9Kmp2uGFY1rWLEPY8CFOP1TT1e8o7KiT1rP9rsK3Q/mwenjFMoKO+2Q1WDYqWMiyYaaBevkji3HkrmMDQMpy2sug3WeIEC2pmepZEdsbrDfDNjpIcgvmxpzfiYr9mbRFcv1etXJsAUQZdHKIGfOFTa7xp7PJmQyrYGjuMYRf3mOhFL9dRb3Kkj6XBTJGuaAX3ZDxT2LBDh5+/+yz30SOuknaA2DRkM27WJqMex5IKqYfUuhw8q45rL2SVBmsyoOAFENsTW1zLwVGv5CtvkbYF3R/irUzO7q9Uz3Yf6d7K6oWXmrQmczCTULUEmih+U5KWzEH++9Pufga4k/oOusjcC1aHzW45X95xsX75EZ/awfaio4UrsCKAiuoQT8nicClBpcdfVCrJMU0vtBhufMm3b/1Yi6p17CUpcBSkTl9QGxOo+fJylcHUoB2bUJ1LZtGSGyGuVtNW2U2hg7pGeJRTnqw== X-Forefront-Antispam-Report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:CH2PR12MB4294.namprd12.prod.outlook.com; PTR:; CAT:NONE; SFS:(13230028)(4636009)(136003)(366004)(396003)(346002)(376002)(39860400002)(451199021)(6486002)(478600001)(6666004)(186003)(36756003)(26005)(6506007)(6512007)(53546011)(83380400001)(2616005)(38100700002)(86362001)(31696002)(316002)(4326008)(41300700001)(66946007)(66556008)(66476007)(44832011)(31686004)(8936002)(8676002)(5660300002)(2906002)(110136005)(54906003)(45980500001)(43740500002); DIR:OUT; SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?utf-8?B?RW9NQnNHMG9vLzVHbEQxTVZ6REVBdStWVGVHYjFEam9QR01UaUxBN0doS0hQ?= =?utf-8?B?ZnNRV1IrMEJTTE9CcFNjZW9TVDRRSjdJRXVxTzh2YzIwYW1oSlJKUzVpTE9y?= =?utf-8?B?Zi9HT3VFQVg0cnM1ODRTQkZHUzBYeEs5V1R3SzJSQ2lndkh1RWVOSVpIMEl4?= =?utf-8?B?dUVLMmJoTzlONHp5anRjVWxnSGJDeTA4UWxvb3ZuNysvZlZPSVB3WmI3dGlJ?= =?utf-8?B?Y1FWeU9MQ1gwSkhRN3RoWnpmUjVqK1J5WDlPdllkVXloTUYycHFjT3F3VE9y?= =?utf-8?B?cE1DN09reXlEMVZjVnU3L29hUmRHTldJT3ZQT2N5a251MTROZW52Qi84b1gz?= =?utf-8?B?UDlUS1lYZFM0NW83amxmOThmZkF3OUxheVpHWi9zTFlzSEhvQzV5SUZmSWZO?= =?utf-8?B?VzMrWkJOZ0JwQ1MzcTBtQjJDYzdyeEU2RTkxYWZXNUpEcFQ3SHZtc1Z0ekd6?= =?utf-8?B?TVAxQjJ6S2Erd1RsTlVwME9DSEh1OHB2U2YvN05jTjF0RFl5SUljVEtDeUpX?= =?utf-8?B?S05OSTVqaVlzZHJ2c1BZR1J2dkNEUXBlU25odDZSQ29XOW1rM09LcTVtOERO?= =?utf-8?B?QWFXYjd4WTdmekJSdUNnWExUK3hXVjcyenFCNmhIdXZRdzdkbGF3SlNBZCs4?= =?utf-8?B?Yk1VM2pYQmlFRGV1UTRPdEtGVjV4RHBLaERRM2RpN2l3RHI2NlV6cFZjYVRh?= =?utf-8?B?bG5CY0pJMDNoRjNHWWFxbkFlTWtnTlJOS2M4MGJkOHZiRkp4ZW1sbVRBQks0?= =?utf-8?B?U2NJK2xwb0VUSGNMSFVWd2RlRVdnNHh6SW1IbGNsR21HMENMOWRTeFU4K0Rn?= =?utf-8?B?ZDU5emlxdERaNU1WMm9yVzlxdDZQZXNTRXA4SWpScDErblI4NWNtRmIyVUZ5?= =?utf-8?B?bTJ4aEZ2UlhjcFM3L2tZcTNhc1ZPdjNYeTB1b3EwcGR2L2JlOVNLcDh2UWNW?= =?utf-8?B?K0tPOXI3eE9HbU82KzNUdUZTdHB0SGprRWE0TkZROFQwTmdQcndUTnFMN2Qr?= =?utf-8?B?Sm9UZFpyOWdPRkcxdHg4ejdueVhZeTFKK29Hb2NlalZFamx0K3FCNW1HdHNp?= =?utf-8?B?aDltZVNxK2JWYUNUTmdoMGpjY3hoNk5nWXlFQ2Q3K2s0SlhtbW1vTjlMVkZn?= =?utf-8?B?eXFLbTR5bTFsaVN3Yy9iMmZkMHZBSEUvek5sOVNocTIwczdqdUVESkdkcjRm?= =?utf-8?B?NmVvajMrbnduNnpWUjFsRTBSdng5dFAzUllKUXhvUmNJTmRCVHdwQ3Nadk9O?= =?utf-8?B?RGNseDN0RkpPQ2hRZnAxL0FmWDdTemFxajBjWW9aeDJBU25pNWczRTlsSkxq?= =?utf-8?B?S2Yzek9pMUo3QU8xVUE0UXFOSnBVTURib3AvZVFiWmRKZHJvTHQyeHIrb2tj?= =?utf-8?B?bHFZUGdGVEhEbXAzamYwT09IZmZFOVRkWmJCUU1GWHZPL1RjdlNWSzloL2pq?= =?utf-8?B?cUdvNVE3bndXV0hFVklIbFk3dFBjN1M3aVFHVjhNT3RodGVMKyt4c0laMEFh?= =?utf-8?B?T09mOFN4eVBIQUM0d1JqZWQrVzV1SGxMV2xqa2IxZ0RBbm8wTTVpbE1MUWxl?= =?utf-8?B?OXU4bjhwS2NrN2RIYkFTTFJWTy9PbGNGeXFVdWtMUXhBbWdpdDR2cXNkN21h?= =?utf-8?B?c0dWZ0JRb2QxRExSWUk3eVloUElndkRMNkxZTFZBMEFFQnlWdUordXpQNlJu?= =?utf-8?B?azRqMTFrL1FCUmpKQi9NUUZqVElBYXVaUFJDczBzNVFaT3Q4ZGJ6dTdNSjJj?= =?utf-8?B?NE9Pd3E5aDQvdUQ2V2dRV3RzL1V5cDhGdjA5dUFUejJJRy93R2hWbVl5QVpV?= =?utf-8?B?WXA0M0ZPeDM2QUlZS3NGOGpRM3ZTQmYxQkFlbG91Uy9QcUgzVGNOa0VJSmFq?= =?utf-8?B?WVpLY2FXWUIwQ1o2R3pXWmZrdWg1T2pyY1dTczFNcExxMml3WmhjN1AvVUhH?= =?utf-8?B?RkgrWWVPSEpITDRxM2JlRWU2ZVk4Zzk1WWpTbDlocjZiNEdZTThTTjhSRlFJ?= =?utf-8?B?VUNjNXJXdU1aR2lOYXE0OHRtZFZDMldBZjZVYUpOZ2NBeWlxTk9Tdy9Dc255?= =?utf-8?B?QjEzSnFKcWc1SUN1Tkttd0lSbUdVejBVYmYxTTJGWEphaXJ0WEFaUktJcHBY?= =?utf-8?Q?UwpElb873QU9BUPHBlkAH3XGN?= X-OriginatorOrg: amd.com X-MS-Exchange-CrossTenant-Network-Message-Id: 1d7b8292-4550-495d-9f39-08db61c9cfad X-MS-Exchange-CrossTenant-AuthSource: CH2PR12MB4294.namprd12.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 31 May 2023 11:26:00.6538 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 3dd8961f-e488-4e60-8e11-a82d994e183d X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: wHjLc2u4k7u//zbXM4GsFQVylpNPkM/5iIudKS9T6dEBBl6uEunhjHGCcT5zWuHP X-MS-Exchange-Transport-CrossTenantHeadersStamped: CY5PR12MB6058 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 5/29/2023 7:14 AM, Ori Kam wrote: > Hi gregory, > >> -----Original Message----- >> From: Gregory Etelson >> Sent: Sunday, May 28, 2023 6:44 PM >> >> Indirect API creates a shared flow action with unique action handle. >> Flow rules can access the shared flow action and resources related to >> that action through the indirect action handle. >> In addition, the API allows to update existing shared flow action >> configuration. After the update completes, new action configuration >> is available to all flows that reference that shared action. >> >> Indirect actions list expands the indirect action API: >> • Indirect action list creates a handle for one or several >> flow actions, while legacy indirect action handle references >> single action only. >> Input flow actions arranged in END terminated list. >> • Flow rule can provide rule specific configuration parameters to >> existing shared handle. >> Updates of flow rule specific configuration will not change the base >> action configuration. >> Base action configuration was set during the action creation. >> >> Indirect action list handle defines 2 types of resources: >> • Mutable handle resource can be changed during handle lifespan. >> • Immutable handle resource value is set during handle creation >> and cannot be changed. >> >> There are 2 types of mutable indirect handle contexts: >> • Action mutable context is always shared between all flows >> that referenced indirect actions list handle. >> Action mutable context can be changed by explicit invocation >> of indirect handle update function. >> • Flow mutable context is private to a flow. >> Flow mutable context can be updated by indirect list handle >> flow rule configuration. >> >> flow 1: >> / indirect handle H conf C1 / >> | | >> | | >> | | flow 2: >> | | / indirect handle H conf C2 / >> | | | | >> | | | | >> | | | | >> ========================================================= >> ^ | | | | >> | | V | V >> | ~~~~~~~~~~~~~~ ~~~~~~~~~~~~~~~ >> | flow mutable flow mutable >> | context 1 context 2 >> | ~~~~~~~~~~~~~~ ~~~~~~~~~~~~~~~ >> indirect | | | >> action | | | >> context | V V >> | ----------------------------------------------------- >> | action mutable context >> | ----------------------------------------------------- >> v action immutable context >> ========================================================= >> >> Indirect action types - immutable, action / flow mutable, are mutually >> exclusive and depend on the action definition. >> For example: >> • Indirect METER_MARK policy is immutable action member and profile is >> action mutable action member. >> • Indirect METER_MARK flow action defines init_color as flow mutable >> member. >> • Indirect QUOTA flow action does not define flow mutable members. >> >> If indirect list handle was created from a list of actions >> A1 / A2 ... An / END >> indirect list flow action can update Ai flow mutable context in the >> action configuration parameter. >> Indirect list action configuration is and array [C1, C2, .., Cn] >> where Ci corresponds to Ai in the action handle source. >> Ci configuration element points Ai flow mutable update, or it's NULL >> if Ai has no flow mutable update. >> Indirect list action configuration can be NULL if the action >> has no flow mutable updates. >> >> Template API: >> >> Action template format: >> >> template .. indirect_list handle Htmpl conf Ctmpl .. >> mask .. indirect_list handle Hmask conf Cmask .. >> >> 1 If Htmpl was masked (Hmask != 0), it will be fixed in that template. >> Otherwise, indirect action value is set in a flow rule. >> >> 2 If Htmpl and Ctmpl[i] were masked (Hmask !=0 and Cmask[i] != 0), >> Htmpl's Ai action flow mutable context fill be updated to >> Ctmpl[i] values and will be fixed in that template. >> >> Flow rule format: >> >> actions .. indirect_list handle Hflow conf Cflow .. >> >> 3 If Htmpl was not masked in actions template, Hflow references an >> action of the same type as Htmpl. >> >> 4 Cflow[i] updates handle's Ai flow mutable configuration if >> the Ci was not masked in action template. >> >> Signed-off-by: Gregory Etelson >> --- > > Acked-by: Ori Kam > Applied to dpdk-next-net/main, thanks. (checkpatch warnings fixed while merging.)