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 42B35A0552; Thu, 20 Oct 2022 13:09:43 +0200 (CEST) Received: from [217.70.189.124] (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id 29F8F42C80; Thu, 20 Oct 2022 13:09:43 +0200 (CEST) Received: from NAM02-SN1-obe.outbound.protection.outlook.com (mail-sn1anam02on2084.outbound.protection.outlook.com [40.107.96.84]) by mails.dpdk.org (Postfix) with ESMTP id D2E2242C7C for ; Thu, 20 Oct 2022 13:09:41 +0200 (CEST) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=LB477F0cbiICVXfOq7VgOO9PdgVXkHExnrNP/+1YAKg6/6FejXusS0AkHw5lryyl6m7nYvYdBxmpKgkIV1HJ93yYQ31hG73wGk7OvDx0253Yb9OHCvZU0UHPptX5/HcLzsTpMpXoOOTtLOdD34ybaCWuZ9g5Y9/1/JvUUzhMV+x+3T7ynQVg+Pv9qPnRiR4j45sb1gZ566FzUWK5uKFzm+yT+uIGa6I2ypDTXkADyIqLTo9WpCMz0H2wNWzXlg/E96hUYXnmJg0Ev1/Ad4rmC8G222mi2VZ30iZHbdes7nL6YvzXuBwjuRQV98W2sFO3HFR6llfLKkLTVi1/08qh9w== 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=tIrq4jXOEQS4McOR9nL8hyK9nK4hUwkm/gFLvU5gzUg=; b=aibpG8aiiCEAnM+acrKgVw4LqcOWc259sF7S1G4yYzo8xFLeks4/PELB4CBRei6/ZlZV1sQOttnmECSU3Lo+hiYcuo48deYlxfwB4rN/swUMF8TAPd6Ug1JSKuoaqAa2ZiJBoFwp/FAbBnPBuq4IZSSpIqKIDPpTuKDadxH29h7rDzVG4zhq1X/M6lROFY7cjM2qQrtPqeOApCB/z2i4e0sWf5sCHh8KLG07EZpcQxgDKxU4OIy3nckZBA8If4OOx0J7Rcc8+E1yWshEhXzB0T/5H+ihzIYEv3UFfrIo5GXLWhIBLtohO7WXszM6tq9lZ8JvuZj+yBS2Dq1/V3OR7A== 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=tIrq4jXOEQS4McOR9nL8hyK9nK4hUwkm/gFLvU5gzUg=; b=RV0XKU4+ypMMWnP47KkSEy63sWDFw3PB7FpRcuemhQtmN5CuyFRhzXbgmJLSgM2VWpjidiXgDgweWrARwLDazCKR5tWPPIQnf6yfc9tjxCHo8Nt7kGRdpLjGRdmH0/L7bGHsdGvYp3n+LXfEQ+iM4926d9vP3P70fjexafHJtFw= Authentication-Results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=amd.com; Received: from DM6PR12MB4297.namprd12.prod.outlook.com (2603:10b6:5:211::20) by SJ1PR12MB6241.namprd12.prod.outlook.com (2603:10b6:a03:458::15) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5723.33; Thu, 20 Oct 2022 11:09:39 +0000 Received: from DM6PR12MB4297.namprd12.prod.outlook.com ([fe80::b9fd:e732:4585:6b25]) by DM6PR12MB4297.namprd12.prod.outlook.com ([fe80::b9fd:e732:4585:6b25%7]) with mapi id 15.20.5723.033; Thu, 20 Oct 2022 11:09:39 +0000 Message-ID: <2f75ab37-c261-7876-0ae1-215c006d38da@amd.com> Date: Thu, 20 Oct 2022 12:09:35 +0100 User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101 Thunderbird/102.3.3 Subject: Re: [PATCH v5 04/25] net/nfp: add the flow APIs of nfp PMD Content-Language: en-US To: Chaoyong He Cc: oss-drivers@corigine.com, niklas.soderlund@corigine.com, dev@dpdk.org References: <1666092434-10357-1-git-send-email-chaoyong.he@corigine.com> <1666232391-29152-1-git-send-email-chaoyong.he@corigine.com> <1666232391-29152-5-git-send-email-chaoyong.he@corigine.com> From: Ferruh Yigit In-Reply-To: <1666232391-29152-5-git-send-email-chaoyong.he@corigine.com> Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 8bit X-ClientProxiedBy: LO3P265CA0016.GBRP265.PROD.OUTLOOK.COM (2603:10a6:600:bb::21) To DM6PR12MB4297.namprd12.prod.outlook.com (2603:10b6:5:211::20) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: DM6PR12MB4297:EE_|SJ1PR12MB6241:EE_ X-MS-Office365-Filtering-Correlation-Id: b22afd50-4251-4e3c-3551-08dab28b94b4 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: +cWp7jUceDfOpHixJvh/Nljs3JfdThHvIsbiikLq01VHooxZVpbehuHdxrZHm0zN1hDVgkeXpk2tYVPoNsJMvlHsLsxK/NiAjJbN2mJXKZuvWHnjmU6PbcxM7fExv87LP/f1bjHdfNeY8g6McrueIJjRPzQe2dooNWqecIkeVSAeBNAKjQg6DqZED4Bqq1S1uijlBgTNEMlC0ORerx0K+S1xB6Xy8ejClaWVh1cMkZsM4CDExwilEi97+qXD57isMg9pP0qKwA1DyaRoQkvdJtO+In8KENUoOeuRxZDzDFtUjGD3RxGu3L9nrd/kNfVDRdLKkZvUhzvDqk7TW8I3Rm+7dTJIuKxUAp6SodEc1I5EOQZyxTHrWjNF/PqfFznn1y9whzpoDQlJAehcdWCiVogZzy42pGpjROFhT+Ka7FAocf4wccciJL6XvcsPGBr3/ndIKB5HOtl8+JrBvSK9BuLD5vc8iW6/QA0sxdc0NoDVOAB/CZkqib7C9/mZiDZYYYnJ1PknMTnNrWxd9bdsIz7Huzrl1yvMNqpnEyerpQLgIYEWziX18mH3QL+QDVlRYIgmk6+jFkrQ3UaAHUzW4Yw0BVOfYuISUp+MwfFGvWMUszY/ZYUEHja06fF+m1/aOiNvi84814s2Wfmy7THwnQa6AfRr1f0LVxcdkXv/Ilda1wM+b6wEmV+omp+ITGT2k9Z7MUhtfwZXspgKwY2Z0gIFSkwrzimFP1RWp0n+X9NLLmuA1w7VrUhRAgs6St/YljN395pU5jiXjwcpeQa1Nseuz8aaymdBA/mO37BLa6M= X-Forefront-Antispam-Report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:DM6PR12MB4297.namprd12.prod.outlook.com; PTR:; CAT:NONE; SFS:(13230022)(4636009)(346002)(376002)(366004)(39860400002)(396003)(136003)(451199015)(86362001)(31696002)(36756003)(31686004)(38100700002)(83380400001)(2906002)(66574015)(5660300002)(53546011)(44832011)(6666004)(2616005)(186003)(6512007)(26005)(6506007)(316002)(6486002)(478600001)(6916009)(66556008)(66946007)(66476007)(4326008)(8936002)(8676002)(41300700001)(43740500002)(45980500001); DIR:OUT; SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?utf-8?B?TStjQ3dYSG5rWkhyQ2pseVFTVXFtTHdRb2NxRTJKQnluYzJiakt6RUpCN3JQ?= =?utf-8?B?S3NWTnlLWEJQaEgxQXZTeUVHRmNCNUFia3ZxanErNWNkT3pSV2o4NGJMbVRL?= =?utf-8?B?anNmejNvbjMySjdHc1QyNTFGbEhrZVAwbGthZmhNdGN6eGtNWEhva0F6NFg1?= =?utf-8?B?Rm9CRnZwd010OEt0S2RjMkdhcjVaaFV4UlhUY3o0bmdIVCtwbVl0MitMWUMx?= =?utf-8?B?WHFSQTNsaXQzYXFPUWV0Sk1WSi9lZktkZkg4Vi9nbGg3Qm5Hb2VYU2hTWmRJ?= =?utf-8?B?TE4veWphWHpkQU1HYTQ4TEQySzVOSUV1Z2V4RlZWUkhlZmdiZ3k0M0xjTXFI?= =?utf-8?B?TGp5eFZuTWRZY1JzZ24yeDU0RkRJZkkrUjNKSEp2YlJ3L2wrZ3NDN05OTWVP?= =?utf-8?B?UnZCR2RURXFNV05mWnNETzZhUWZ3T0pYbjRLSWkvTUdNL0YxeVIzVFZzaWVB?= =?utf-8?B?S25rWnYwaExXV0xhYkltMUh1S3E2S3FpNzFIL0pzZHQ2eFVrMjBRcThlY3JG?= =?utf-8?B?YzllWll1SlUvY0M2cEduYzcvVnZ0ZVBkdFNIaDMzVVFXK0ZnTzh2UkIvZ09J?= =?utf-8?B?Yk14czFCeGlFalRwOER2R2hVVCtmaU5RbHFiNHdlRk85MXAzVjdCRWh1eGZ1?= =?utf-8?B?VmFRU2dCRlJaZlFRVU5uMzErS1NBZTAxMnNZa1E3RWcvM0ZqRXFXSmN6YW9a?= =?utf-8?B?RFRLOEp2N2VDTERaRkhuN0t1eng0bWZhWmZSbWZzeHlVSFV0bEo4R3pCVUk1?= =?utf-8?B?UFlFa2ZqQ1EyM3JIZmRjT2ViUGRIcUtOMHNuc1ZqZUNaQ2RpaDFvQ0NqZWhQ?= =?utf-8?B?TEhIR21vV2JuMGl5RmFTSml2TXhZSUNacnJONE1kbVpJdGRycDk1b3ptQmF4?= =?utf-8?B?SEZhYTFteWt5T2FGQm1BUU9KUGp6alVNSDdHY3ZrbFc5LzkySlY1TlRIcS9v?= =?utf-8?B?NXJ0QzdrY2w2WmlNclhhYmxXQXNQQnVxZER5aWh1QmgyMkVGWEJCNnpORU5a?= =?utf-8?B?T1JwdGIzaDdyVGl6d1FYU1pGU1Y1T1pkbjBLalRLWFJsWmtrRVV5ZlcwWncw?= =?utf-8?B?bEM2YXprblNiK3FtSzBmUXFLeXVXTVFPR3FLUlpLcUltemlYaUpyY2dHVzBH?= =?utf-8?B?cTk4N3NuLzFDWjhQdVNtUTcrVE5wYUNJWDdWSFg2YjZQMGgxeTBtRXZmVDMr?= =?utf-8?B?bVl0M2lpMjlsN0JhanNnZlJiL2NERi93ZVBKYTI4SHlFUXgzUGpIbGo5RjhF?= =?utf-8?B?b1NJekQzZHYyQ0NUaG5GNHVHTUpIM2RabWp4bW83bjBPa0d1UlBSR0RkdXFu?= =?utf-8?B?cnA5NC9CZGlmdWlNZVM2VTl4ODVZWnFuZktsd21WUE1VKzFWeDhiMkRjVFp3?= =?utf-8?B?YkZ2U2ZmaXpkMzBiMXJmeE8xREdLQkZVYlpnSFRzV01jQmg2bDVORjhLcEtv?= =?utf-8?B?ZllGejdiN0VtdmR4R0dDTTY1djNpWEtJWGdWcVdDUnFSNnB2OFJTVXI0Y1ZL?= =?utf-8?B?MFZDaWhaNEI2emorQzNQckt5WjF2QUwvMzMzM3JIejBraWdrLy96RVY1QTJR?= =?utf-8?B?U0h5aU9ldmhGaDlCdy9NclBsUFFzdFkxWk01Zi85NlF4cEdmY3Q1T1A3QkRF?= =?utf-8?B?bkZ5S3dtS2xWMzZjOG1VZkFmY2hOaHlRVzJuQk5LcHF2VXo5bWxFRUt4TTN6?= =?utf-8?B?SWxVRXJzOU41WFdCdWpOdWVvL2ZjMlJzcFNjYTNaOW9xNlJ3UVZ3QnB2UWdz?= =?utf-8?B?eHBTL2Y3WjRPN2xGR3JpTlZtODhiVEt0clB1aXRWakxVbmMzUm5raUI3Uy9w?= =?utf-8?B?ZVR3SjRSYmFVOGlzNzI5RUs5NXVZTHFPTVdaRG5OZDUrTzJXZzIrWjdNTTY3?= =?utf-8?B?MUVxZGZQRmhzSmdyNDBlNlgrcWVtdGxmYkNSMDNkNXRSSjZqMGRLYjNIZGNj?= =?utf-8?B?ZVowTGkwNmE3dW9USkNNUDY3aVdzcmhxWUl6ejRiYTJlZW82aEdKUlhORjN4?= =?utf-8?B?SWJUUEdZMUNiSlBBWnlLUzlqTEFRc3hib2l6Q3hCYnBpYUVxaVA0aytlb0tm?= =?utf-8?B?UnIrVVcvd05YQTBLVjArMloxR1BxNmltbjMxdUw5YUNaUjFIai9hNDlBaUh0?= =?utf-8?Q?KvaBTtt6kGV+h+GNHvbODlpRe?= X-OriginatorOrg: amd.com X-MS-Exchange-CrossTenant-Network-Message-Id: b22afd50-4251-4e3c-3551-08dab28b94b4 X-MS-Exchange-CrossTenant-AuthSource: DM6PR12MB4297.namprd12.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 20 Oct 2022 11:09:39.4663 (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: SqunSsJo5Oy79E04knVQ1ltK6anfTpCjdSxdXitTfdnqQweLi3FHpKS2/t+GQ0lp X-MS-Exchange-Transport-CrossTenantHeadersStamped: SJ1PR12MB6241 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 10/20/2022 3:19 AM, Chaoyong He wrote: > Add the flow validate/create/query/destroy/flush API of nfp PMD. > > The flow create API construct a control cmsg and send it to > firmware, then add this flow to the hash table. > > The flow query API get flow stats from the flow_priv structure. > Note there exist an rte_spin_lock to prevent the update and query > action occur at the same time. > > The flow destroy API construct a control cmsg and send it to > firmware, then adelete this flow from the hash table. > > The flow flush API just iterate the flows in hash table and > call the flow destroy API. > > Signed-off-by: Chaoyong He > Reviewed-by: Niklas Söderlund <...> > diff --git a/drivers/net/nfp/nfp_flow.h b/drivers/net/nfp/nfp_flow.h > index e8fd22a..6fa1b3e 100644 > --- a/drivers/net/nfp/nfp_flow.h > +++ b/drivers/net/nfp/nfp_flow.h > @@ -6,10 +6,36 @@ > #ifndef _NFP_FLOW_H_ > #define _NFP_FLOW_H_ > > +#include > + > +#define NFP_FLOWER_LAYER_EXT_META (1 << 0) > +#define NFP_FLOWER_LAYER_PORT (1 << 1) > +#define NFP_FLOWER_LAYER_MAC (1 << 2) > +#define NFP_FLOWER_LAYER_TP (1 << 3) > +#define NFP_FLOWER_LAYER_IPV4 (1 << 4) > +#define NFP_FLOWER_LAYER_IPV6 (1 << 5) > +#define NFP_FLOWER_LAYER_CT (1 << 6) > +#define NFP_FLOWER_LAYER_VXLAN (1 << 7) > + > +#define NFP_FLOWER_LAYER2_GRE (1 << 0) > +#define NFP_FLOWER_LAYER2_QINQ (1 << 4) > +#define NFP_FLOWER_LAYER2_GENEVE (1 << 5) > +#define NFP_FLOWER_LAYER2_GENEVE_OP (1 << 6) > +#define NFP_FLOWER_LAYER2_TUN_IPV6 (1 << 7) > + RTE_BIT32() may be used, up to you.