From patchwork Fri Nov 3 06:26:01 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Chaoyong He X-Patchwork-Id: 133812 X-Patchwork-Delegate: ferruh.yigit@amd.com Return-Path: X-Original-To: patchwork@inbox.dpdk.org Delivered-To: patchwork@inbox.dpdk.org Received: from mails.dpdk.org (mails.dpdk.org [217.70.189.124]) by inbox.dpdk.org (Postfix) with ESMTP id 38EE243275; Fri, 3 Nov 2023 07:27:21 +0100 (CET) Received: from mails.dpdk.org (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id 6AD4E42DDD; Fri, 3 Nov 2023 07:26:43 +0100 (CET) Received: from NAM10-DM6-obe.outbound.protection.outlook.com (mail-dm6nam10on2108.outbound.protection.outlook.com [40.107.93.108]) by mails.dpdk.org (Postfix) with ESMTP id 1214E42DDD for ; Fri, 3 Nov 2023 07:26:42 +0100 (CET) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=JRv3u2rEet9cAk8DFCT8SEHPI1XQlMKs6aRGh0Ij6Y9xcGN6CbG3WFXTyv5xdkp+HhaKMZeG1+8+sqYrdCF1CkRP3XKL21b6fpPPsAN7t1Bw3KbsGa71z0R+ExofyEBZT9h+5TGFVs7K2g+EOQP1LUMCC5j5sgdtBNagwmnBWTNXcq0GkEfSBgNZgO8zHieYUtpxRaXRWx+4pOQOywjFS6dmSMKn40qNuF7YL4a5/6tDYgSqwSBRLxDZXqcGx2NeoHbuRvHJrw2ODhH/FrfCjBDZtGoBo1vsqPFBVxCbAhFO2NNhxmJU3wrCQ99HwGx0V4b8SgVQRXsJ+GYCiQbM6w== 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=oMGSvtkNKDi6oCHbQYH+HNp8p1aS9VfD8ctF/uCHcT8=; b=YuQ5021j8BZEkVnq8cSw8XMIVULw0PwmYgWbs1LBNXx5cUQz2QC6GrUG7Dd5UFW7bAwK0wVaOfx6HaxqU+RxRbHU91J2Z3oDkjp4yPiFjoskw5icyEjpFm5bLJSZAWXVReJilBMKq7g5HxRZp7ybGZOCmOYK21+Gc2ekjySpBewkJrGib6kidFgfQUpoysO0gS8EAJ0tQoWaWImVbPmpMPNXB0Jig2Uqb30bp8tB5v9DGoKjRs8x58wHKl+eQDByrL2LGp7XyYdsjAZLy9PZObgUl+5l0pHGdW9xN3mVkXORSHI60HbAEL5NncItFpd5p1nlMTfDS5zYSeZ9McKVnQ== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=corigine.com; dmarc=pass action=none header.from=corigine.com; dkim=pass header.d=corigine.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=corigine.onmicrosoft.com; s=selector2-corigine-onmicrosoft-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=oMGSvtkNKDi6oCHbQYH+HNp8p1aS9VfD8ctF/uCHcT8=; b=BBdmhgibEK1jstTqIqk9xgRSai+pMxDopupfmtntMp1vu9a9fskOku1gC3M8YfZVj2Vc97dKxAZFa2wLUuTYJ8C5hVZ62Be4TiCGwmt9+JaPuL/PVp3yryqavBiZ7RpQ3yhZJqwmtTDQUBHeXQcvbXADi823h9ZCvzP0/rBXICs= Authentication-Results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=corigine.com; Received: from SJ0PR13MB5545.namprd13.prod.outlook.com (2603:10b6:a03:424::5) by MN2PR13MB4102.namprd13.prod.outlook.com (2603:10b6:208:262::16) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6954.24; Fri, 3 Nov 2023 06:26:40 +0000 Received: from SJ0PR13MB5545.namprd13.prod.outlook.com ([fe80::45b3:d83c:cff2:4a1b]) by SJ0PR13MB5545.namprd13.prod.outlook.com ([fe80::45b3:d83c:cff2:4a1b%6]) with mapi id 15.20.6954.021; Fri, 3 Nov 2023 06:26:40 +0000 From: Chaoyong He To: dev@dpdk.org Cc: oss-drivers@corigine.com, Chaoyong He , Long Wu , Peng Zhang Subject: [PATCH 06/11] net/nfp: support drop flow action Date: Fri, 3 Nov 2023 14:26:01 +0800 Message-Id: <20231103062606.2632012-7-chaoyong.he@corigine.com> X-Mailer: git-send-email 2.39.1 In-Reply-To: <20231103062606.2632012-1-chaoyong.he@corigine.com> References: <20231103062606.2632012-1-chaoyong.he@corigine.com> X-ClientProxiedBy: BYAPR02CA0044.namprd02.prod.outlook.com (2603:10b6:a03:54::21) To SJ0PR13MB5545.namprd13.prod.outlook.com (2603:10b6:a03:424::5) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: SJ0PR13MB5545:EE_|MN2PR13MB4102:EE_ X-MS-Office365-Filtering-Correlation-Id: 9010c4b7-0018-457d-9471-08dbdc35d70d X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: 1fpAaQEDM9OlUbSr/XxLMDV+MmJJxCAJIbM8Y5mhtEAh7SUtfEPNZmUpek1NNGg2yB2K9EvMUccqFHjTUDWYCbDa/eXKEQriDMdO6Zhvtw6RvDt+MgMO/l2U6kyg5WKb/WQo0ItT3vG2EUyybFnKvWYx4C9bYyMdQERlnmDT/6h9zOOUlzi2es4cAYG3IdjuP75oKkw0pfCzE+vCY6xH7RttiD7P9DyNX3buvzdOmJgxMb34TNsuBz8/M5muxfENKOMLPHLBHEoVC2g595wSncb4x6kBVyz2DrSEpHERMZ3+I1MYZhpgVKBEsxHkybF4Kh+6VPg3G226+/nblDGPKWgwL4e6curQ1JzdvRAheT41S4b+jee+0aZfEwCgxVwDaokHDKSjqgUxwxk0CVlqv66D98yv+43a89ahCVs8e17ONjZ7PjjDWYrvd9/HQqvG+ZFm2H2GiYCNWhN+b0tifFQmqZo0DLQdi0MFhtCpNyOYVJy798/Q6x7AWtFEWdy4YqQgL/5GCtlHHrEK9nWp+WTI0uljbky/AiwROLEXb7OpK5w79BhVjErhow0Ie/Hsls9R/BR/VCT4WxxPl3FzGz86gE0ccj4KhcgouSJgHDwCE9OHXOVjP6wqojPKEb+BVXugjO2gDf44vsYfDU5oYRdRUU7vjVyEQG4ikDyHWC0= X-Forefront-Antispam-Report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:SJ0PR13MB5545.namprd13.prod.outlook.com; PTR:; CAT:NONE; SFS:(13230031)(39840400004)(346002)(396003)(366004)(136003)(376002)(230922051799003)(186009)(64100799003)(451199024)(1800799009)(316002)(6916009)(54906003)(66476007)(66556008)(66946007)(6666004)(6486002)(478600001)(52116002)(6506007)(5660300002)(38350700005)(41300700001)(36756003)(2906002)(86362001)(4326008)(8676002)(8936002)(44832011)(107886003)(1076003)(2616005)(26005)(83380400001)(38100700002)(6512007); DIR:OUT; SFP:1102; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: o1TwyJhr9pv6doao8k169EvWeRoM5dFxAMce8j9FUWf9qLYy4s7YqAKNbaJgZ+VyBp+hK7GpVNl4qxfjxc7jlY4ZEsSiC8N2HgncnoMBdoL5g2IlFsYeVAAcAmIjq/njJRdgi2aRvf7dQrwNwQ3KvUeXtjZUdR31DYuX4VbKlb/yeU9h3+htwb6E9qn+q54l6YcQAbGCoBN4+ee5WJEbyf67g1H2K8E4R7xs7mkl8dIqiYqwSIJiO3zr4gMx02aONB8Y9SseqsNa3M0yekYF38M3n3hvtvPlQpEmHs6mVrsoXoWdbXcCj0GzPfg+1qwXcvGZfvTdvLHlg8xRjBw1fIxrOvYWDO/HjgrzPEApw10fmoHpBMpyFcSAsunfnN8XxRlPrtZccSJbQSbSOpHVj2nfRP3y0TG6eionb7ON0SQ4Y/iVqx/J4USIxAWGdit4s3jeg2ye40DKx/MrHz7/REBGw6nBYdFVZFt2VDlmvyKV7a8zt3rmkYGlDaZ0iUrx66Ol6Q+3bLzn2W37vZqJQTICEJGO7lSHsCDS4pEDVLEgpNc391jhq7rUXZorA7hiPUCUYGt9BZFfuS66EuTfDmYpsKgtJ98pALH8VlGihueLh9Q7pffrhMzdKg66TVqXdu2I49MIozdULCHuuAzcwUWQkMaKbzP1icMb/Pj95ouHnXy7Csu9WSlvsq7vJpPLxotEmQS2glLwYEgckndwWpzgigyvbEvckGIAcuXJUG5EjX83n8L75h6Meg5xnFs4YtKSstNC8gf3WFRUV6dJpQMgfYvNyMlSO7Lk4kWWF8i/81TA6EvCOuaqrnevswTZs2RWGwrEXJ4+tVoWFmFoLQ7zRhHGgV1RaOmIzjylJSuOI1p3pa4IUh1/T5NlycGx0SnJONDDrImN8uLfYYp10r+gQdcxoPOhK+MXLudP4tHXB/oSaKjM3T4OvQS0A731hmcDLuQyU7GL0TJgyr0kzcARe5JGWoSOqUrScILBtu5MWE9I19KQ0kb9y7+bbhYbeZ/nyOgC2kXmx3XVTKykqARVXJ2ae/h/i9Ty5soXPRlp0VsaZFY+BQ4YGpC7VDZjV1zX0xJTvboKbAijt0nayWrMz7iO70Zrioz2w0tQzDWw6vXmkVaDaRLWw6VtjV7rRNlSZxSv9VGIa2oF3QzW0R5Jvcpfs07qZ3q1ObsOlWi6SCzSBlNzAQpo/APSw6oW6CnI3AdtoTQD7ajkFY4fsyf5Mwcc+vXPMjTzptmkrJ0H3vHnyuBjbn2v4pABdD1VlHs6t0560VDYQvu3cVHA2nsr7tGWPKK96U+G+tXMoyj8ml8BCmFbF8Msl2oek6ZxdhLH/xoaTnSMzgnP9txr2p0zN5GXdTridNC03ssAPUzaEt8fGWM+vIuWfnB2C2fz3/Z16Ldv87DzXlpiln863RjhXCJQ0fb95LyZjRhGYhT1BK5KhaAz2k9CeCMma/Vi50Zd9/3wODFQOLtDXoItvTv8uStshht7lkDGmh6KtDExebBqVjwZe7KUp5j6X5pJtFpQOMmn3y2aOqEzcClJmXNitfq5meHImf2pGIpfsNfc8cwZt4IW8Y2ECwJ6Tzx7rGQBqK5RyUYXBZO/AOBpPA== X-OriginatorOrg: corigine.com X-MS-Exchange-CrossTenant-Network-Message-Id: 9010c4b7-0018-457d-9471-08dbdc35d70d X-MS-Exchange-CrossTenant-AuthSource: SJ0PR13MB5545.namprd13.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 03 Nov 2023 06:26:40.5150 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: fe128f2c-073b-4c20-818e-7246a585940c X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: eVD5hIcY8qGUz5ULXSrKore1fk0PHN1cgBmOEbXdlNJjY/73K5KW2T2IhvXHO42QLRKic9xhgPKShbjwUa3DRSc/lsPUfasHhOBcY0tzgYk= X-MS-Exchange-Transport-CrossTenantHeadersStamped: MN2PR13MB4102 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 Add the corresponding logics to support the offload of drop action. Signed-off-by: Chaoyong He Reviewed-by: Long Wu Reviewed-by: Peng Zhang --- drivers/net/nfp/nfp_net_flow.c | 39 +++++++++++++++++++++++++++++++++- 1 file changed, 38 insertions(+), 1 deletion(-) diff --git a/drivers/net/nfp/nfp_net_flow.c b/drivers/net/nfp/nfp_net_flow.c index 4ef4aafb16..65c922071e 100644 --- a/drivers/net/nfp/nfp_net_flow.c +++ b/drivers/net/nfp/nfp_net_flow.c @@ -335,6 +335,37 @@ nfp_net_flow_compile_items(const struct rte_flow_item items[], return ret; } +static void +nfp_net_flow_action_drop(struct rte_flow *nfp_flow) +{ + struct nfp_net_cmsg_action *action_data; + + action_data = (struct nfp_net_cmsg_action *)nfp_flow->payload.action_data; + + action_data->action = NFP_NET_CMSG_ACTION_DROP; +} + +static int +nfp_net_flow_compile_actions(const struct rte_flow_action actions[], + struct rte_flow *nfp_flow) +{ + const struct rte_flow_action *action; + + for (action = actions; action->type != RTE_FLOW_ACTION_TYPE_END; ++action) { + switch (action->type) { + case RTE_FLOW_ACTION_TYPE_DROP: + PMD_DRV_LOG(DEBUG, "Process RTE_FLOW_ACTION_TYPE_DROP"); + nfp_net_flow_action_drop(nfp_flow); + return 0; + default: + PMD_DRV_LOG(ERR, "Unsupported action type: %d", action->type); + return -ENOTSUP; + } + } + + return 0; +} + static void nfp_net_flow_process_priority(__rte_unused struct rte_flow *nfp_flow, uint32_t match_len) @@ -349,7 +380,7 @@ static struct rte_flow * nfp_net_flow_setup(struct rte_eth_dev *dev, const struct rte_flow_attr *attr, const struct rte_flow_item items[], - __rte_unused const struct rte_flow_action actions[]) + const struct rte_flow_action actions[]) { int ret; char *hash_data; @@ -387,6 +418,12 @@ nfp_net_flow_setup(struct rte_eth_dev *dev, goto free_flow; } + ret = nfp_net_flow_compile_actions(actions, nfp_flow); + if (ret != 0) { + PMD_DRV_LOG(ERR, "NFP flow action process failed."); + goto free_flow; + } + /* Calculate and store the hash_key for later use */ hash_data = nfp_flow->payload.match_data; nfp_flow->hash_key = rte_jhash(hash_data, match_len + action_len,