From patchwork Fri Jul 1 02:20:05 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Chaoyong He X-Patchwork-Id: 113582 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 DB16CA0093; Fri, 1 Jul 2022 04:20:44 +0200 (CEST) Received: from [217.70.189.124] (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id 733584069D; Fri, 1 Jul 2022 04:20:44 +0200 (CEST) Received: from NAM11-BN8-obe.outbound.protection.outlook.com (mail-bn8nam11on2040.outbound.protection.outlook.com [40.107.236.40]) by mails.dpdk.org (Postfix) with ESMTP id 5599140694 for ; Fri, 1 Jul 2022 04:20:43 +0200 (CEST) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=PTSW3q9KcVc0WZHBgr/ELc30A/L8/vu9N+lHL6mdcxvy87xnkdkt/RifIX5kTjfhYgtmhjhYiQKWR5V7t0s09jiGNonwBCaGbaMs6Ae8TzI3rzpII6qsX9hVKCkl1jti4kLWsjRcVtnYrkQZMcEo+kuLxYyNgvRuiWu0WCHOBAD08o1aedMW4NQ+eKF6AwnqW+m3RAlPBhSz6bcV3OJOMjk/usCEXbb4JwzEyjCI1ueQOR3gkSMzupco5AkqA3rtBmj6BeSXvFppnZchqLU1Wlz3IUjP9NdbEqvRCC0t0sG78+TGBWP24X7KLngguSqx7t8jgOS3oDtcm875mecHCA== 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=ZzE+rWHB4nwcfpNbeZiGvtIJVjKNj4d0OPerUH9luWY=; b=YP6M4XbP71z97+cearxxJheAyZ/In+XsfrCKGtkVztM8GKAeGfHQLkPPPqTAhdfDhTM3UEpC8ePb7/56efwL5yFDsuF9L+DEisLVkjkSJSMFRYXrQUNSUST950HeFSCb5Kbskzhi6n9OgBW0FQjSzGIx+KZGhcQjS9/TpNAZyHy8i/E8zr1DdjaDxc7JzV3LLh0OA9YxRAt5jEUKa6xjrvNVHTt6oeNQMGjBm6EtOMmmEWD98mjFf7QrLG3aaufWaH3umhxpGDXuwcMgKYVkyGG8SSC7+CCVyvWthm5Kewf1CUZ6eB4MfRu4doIWqYUaupnUYCBbl1/JTl4Fv9fY1A== 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=ZzE+rWHB4nwcfpNbeZiGvtIJVjKNj4d0OPerUH9luWY=; b=Ly6gQmbxXqaWz9+seuTBTUY9pX7VvaPwDTB+xNJqXqDAVKUWt+HNbjCjEfesRXSfnWdsJ++P8k8GEylQWR/D90jdojNC21m0D67jr4YWjDMa4ehC500B2JvypPTTLzdwR+IeftEEeVHUFMidcl4h9HHWsoM8yn/SUyzpwE4cHGI= 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 CH2PR13MB3655.namprd13.prod.outlook.com (2603:10b6:610:95::14) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5395.11; Fri, 1 Jul 2022 02:20:40 +0000 Received: from SJ0PR13MB5545.namprd13.prod.outlook.com ([fe80::5d9e:9ce5:51d1:2021]) by SJ0PR13MB5545.namprd13.prod.outlook.com ([fe80::5d9e:9ce5:51d1:2021%9]) with mapi id 15.20.5395.014; Fri, 1 Jul 2022 02:20:40 +0000 From: Chaoyong He To: dev@dpdk.org Cc: niklas.soderlund@corigine.com, Chaoyong He Subject: [PATCH v4 00/12] preparation for the rte_flow offload of nfp PMD Date: Fri, 1 Jul 2022 10:20:05 +0800 Message-Id: <1656642017-8992-1-git-send-email-chaoyong.he@corigine.com> X-Mailer: git-send-email 1.8.3.1 X-ClientProxiedBy: SG2PR02CA0079.apcprd02.prod.outlook.com (2603:1096:4:90::19) To SJ0PR13MB5545.namprd13.prod.outlook.com (2603:10b6:a03:424::5) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: 0506b648-a554-43b7-6fa8-08da5b084b1a X-MS-TrafficTypeDiagnostic: CH2PR13MB3655:EE_ X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: 35PU9V3ho+PeYtj2V/RYPgVSz/0CoC0ZMqgHDjvhzSRPcB9kjjua2SzkabidmJl2qdN+irstBlGhxT8WkqjUUfchWBizz0Ypyey2CdxUdpQutSTdOuxgSoH9fh1Li3q9tQBV1rNJ0DE9GVsZVzdptIfH6cfDmRuP7ShperhoGupZGLTroUjFyuNwl/72vXhS8hnbq9pBROWbm4YGjmFkBBxg7NJ8YKwXcJImMTp7btjcNNXBf/oazS1b2JOzFCQ/zPNdWwMBAtJ/PnjmTI3nYUU+1l310mjm6uV3YU1G8qCFqGOG6h28SabcdHk9cobhE3rRssPiErVQFL7i5invXvlgXCdTVJq00xFoCbkTEcGC6Vq+QER3H70LsCfDoz76AF+eflXE6y5MR2HyN05w3hn/9CjB9WSbyCzxAtc/+xTD2/jo2tJW49IncWnN+apuUga9WK6YTaKnRZ+LeJVb3nNlMlDZ0w3kWDXkAx++3lGxdore2Wud34RTbYSV/t/OQKfK34yLzyyJhAKp4tveez3nwMsFPMiTXLiPqVobwNdUq29Doo4+tFXXs15Lnbpk8UB5dc7sNqAAArVNw+xyjvepyMvQSwM7cys9upw8pZhgcC9i9w3fTvLzMkpzjDY15N3fhNC05P1Vh/GaTc9rOlUUCSgjdlMf6xe+uXVOWPoraJh4wn+pjaxBXjqGTQBqlyMjyLHViSiOIes0bFWCn6eUX/idCps5DP/C23XOWNpjhbdv9uwLM9MUZ4r7Bv2mXlmT6nfCZcoGzk/C2eNkOrU8/Flo/LWiR/pTJnGNunzOXZS7gKpCVSwyKltNTOqqdY5yY+eNt5vcqqtrFJbBMmFLbyTGP9ngu65qrkdEL/s= 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:(13230016)(4636009)(346002)(396003)(376002)(39840400004)(366004)(136003)(5660300002)(44832011)(8936002)(52116002)(4326008)(2906002)(83380400001)(38350700002)(6486002)(478600001)(66946007)(66476007)(2616005)(316002)(41300700001)(6916009)(186003)(107886003)(66556008)(8676002)(6506007)(6512007)(36756003)(6666004)(86362001)(38100700002)(26005); DIR:OUT; SFP:1102; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?utf-8?q?D1UdyGuHvr3LsgN46yH7WwcmuSES?= =?utf-8?q?8eTRoFa3tG7yXPQG+eR52KJaPo99Ay33WsfenA7Y9beHjSsQeLQeR3fRBhHCvYmI6?= =?utf-8?q?5xnOurXOnK4PzylCA9Qhq8FSFHIhAPCNb9IEXmJTNf58MtR+tceE7NIQPbVd4tr2C?= =?utf-8?q?/A1jb06QGG570kc9TPfXlnkEHdxHR3TSirU2l81hhOnEfMZeaAvqCjeInefNJaq5Q?= =?utf-8?q?WUxv3dnQL7IiTn36C12cKXTwFA52w70tcYWON3O5JKkymavhUm1vRJeS57WtSPArW?= =?utf-8?q?UAiyiYRod3kAV+Gl3mHD8Er/b8HpGfKuJXk/LavdBeBwFfZwRv2M9b71hJeOB3yte?= =?utf-8?q?lif5ya94zzOvjwsMC8zPZFs44rVNE9yh4OgszgvCvlGn0kPvO14iWPRNBC0JrXrZi?= =?utf-8?q?gD4B/+Zzy4S1f2ciR+h5cF0yuPx5dAqW9qryxTyuTv2s3ltD8b0KQZNFxDX8WFVt5?= =?utf-8?q?K0HWoUkCQFCEvmYUA8rljlEZuRJrHWrU2A2XYrC3YMUsKgH0rLW804VRWhYRAH+2q?= =?utf-8?q?tYdCoXzoDlF/PX+ZC+Acmsxk/l2g1pVvUeg8/67YKCfhx9g0Bs5BxYyMxQqjoxKOJ?= =?utf-8?q?6uHpgvnjv+ibXO9kHtOkq2DswXZa1sew8JAPvWgRnzGKyAkR7wxddkC9jI48KiTGa?= =?utf-8?q?Eb5MQEgDUXzzrlPxnlzp8N9WMLyYl1Y1Q73fB3Gx8/ecK8YV1WX1Bf16yPdvsFQOu?= =?utf-8?q?CRlHhOpFEffjQXV1Zd9UVYjlH1qAux81/NhhJbi/Mqm0hB7L+1D0sPCENkhAs6oo/?= =?utf-8?q?adWlCCGCz0MlOO+qzbNZlZD4/I/O4/IDiI+OpRzRkyAeKEOiAuU+xWFfrOXwf9vAb?= =?utf-8?q?kGIDYboTbQd0QrMSRyErt7c90N61AkUZ0ccyRSr0Rjt5P9tayQSJloUJDamSWThfJ?= =?utf-8?q?swo+YgQlRAiKSafw/NwEdeIeSpiVjBMeSf4Q/i1kS9cUIvrUi5XHzE1E4eLQLQvc1?= =?utf-8?q?WZbL8iKnxNfj9QPBWRqEuRscYR40gwGf1d4+XeOH8jgVIe3+2FTCvdt2DXzDAAc/P?= =?utf-8?q?VNqZx5bTN43c4YveC76y79Rez6QFrWzuDLvXfuobnH1l4OY8kmSmeTFrZgTgqrKBO?= =?utf-8?q?CWgYhK8b1c+0fmgLdhgzObIs9qn7IVV7q/rOEsa+XgHXDC6UYQtMIgaEeEA/ltHhG?= =?utf-8?q?7uW/kz/D8ZH6klNrqqm4JxjGG6eXdQ5fFvyekjB/6Gz3sGHo5WAgCYMs+h+sl2RKX?= =?utf-8?q?e9JpSXdmR0lvY/od8ict2UerzjUVS8Lm211+B7xmRiDVqUVi+dZdp49oDXKBB2Mvi?= =?utf-8?q?HGUX5qyBBQlf3iADS8J97gF/UPQt4UxmMhR/mhhGhStqZ+wOG+tCuG5SsDSPMxeVN?= =?utf-8?q?CIMF3Ai2PxMsqUUByiSjC+aRrIoOjV0AXiDM5hhS6s7v2Lqp3hW/OXdlIqX9bdZDS?= =?utf-8?q?T2LQpLQIOuYmHiHxtNno6jMw/G3Es6L82hMR0ytrgzEPm44px2Lmlajp3INJo4I0J?= =?utf-8?q?S1eN6MZ4Wf8Bd9ERyrGnH92rzleRqoprWRIcnWCyRSH8s6OVlxxJEnvQQ1j3ULb+M?= =?utf-8?q?7D1uB4V88jDb5uoeic9vMicfCw5xwaNCcA=3D=3D?= X-OriginatorOrg: corigine.com X-MS-Exchange-CrossTenant-Network-Message-Id: 0506b648-a554-43b7-6fa8-08da5b084b1a X-MS-Exchange-CrossTenant-AuthSource: SJ0PR13MB5545.namprd13.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 01 Jul 2022 02:20:40.7204 (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: zNgJw5NmGzUNYfYpOYhOFUMwDLaTbcTL+mXcQonBWrBkrqW7x39PUPQC7P+G6aT0Y2yItgx22/rfBwx9cFPoKJLTsI6UlvEgbGvIr8Fw2mY= X-MS-Exchange-Transport-CrossTenantHeadersStamped: CH2PR13MB3655 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 This is the first patch series to add the support of rte_flow offload for nfp PMD, includes: Add the support of flower firmware Add the support of representor port Add the flower service infrastructure Add the cmsg interactive channels between pmd and fw * Changes since v3 - Add the 'Depends-on' tag * Changes since v2 - Remove the use of rte_panic() * Changes since v1 - Fix the compile error Depends-on: series-23707 ("Add support of NFP3800 chip and firmware with NFDk") Chaoyong He (12): net/nfp: move app specific attributes to own struct net/nfp: simplify initialization and remove dead code net/nfp: move app specific init logic to own function net/nfp: add initial flower firmware support net/nfp: add flower PF setup and mempool init logic net/nfp: add flower PF related routines net/nfp: add flower ctrl VNIC related logics net/nfp: move common rxtx function for flower use net/nfp: add flower ctrl VNIC rxtx logic net/nfp: add flower representor framework net/nfp: move rxtx function to header file net/nfp: add flower PF rxtx logic drivers/net/nfp/flower/nfp_flower.c | 1565 +++++++++++++++++++++++ drivers/net/nfp/flower/nfp_flower.h | 71 + drivers/net/nfp/flower/nfp_flower_cmsg.c | 165 +++ drivers/net/nfp/flower/nfp_flower_cmsg.h | 173 +++ drivers/net/nfp/flower/nfp_flower_ctrl.c | 248 ++++ drivers/net/nfp/flower/nfp_flower_ctrl.h | 13 + drivers/net/nfp/flower/nfp_flower_ovs_compat.h | 145 +++ drivers/net/nfp/flower/nfp_flower_representor.c | 508 ++++++++ drivers/net/nfp/flower/nfp_flower_representor.h | 39 + drivers/net/nfp/meson.build | 4 + drivers/net/nfp/nfp_common.c | 2 +- drivers/net/nfp/nfp_common.h | 37 +- drivers/net/nfp/nfp_cpp_bridge.c | 87 +- drivers/net/nfp/nfp_cpp_bridge.h | 4 +- drivers/net/nfp/nfp_ethdev.c | 359 ++++-- drivers/net/nfp/nfp_ethdev_vf.c | 2 +- drivers/net/nfp/nfp_rxtx.c | 123 +- drivers/net/nfp/nfp_rxtx.h | 121 ++ drivers/net/nfp/nfpcore/nfp_cpp_pcie_ops.c | 31 +- 19 files changed, 3412 insertions(+), 285 deletions(-) create mode 100644 drivers/net/nfp/flower/nfp_flower.c create mode 100644 drivers/net/nfp/flower/nfp_flower.h create mode 100644 drivers/net/nfp/flower/nfp_flower_cmsg.c create mode 100644 drivers/net/nfp/flower/nfp_flower_cmsg.h create mode 100644 drivers/net/nfp/flower/nfp_flower_ctrl.c create mode 100644 drivers/net/nfp/flower/nfp_flower_ctrl.h create mode 100644 drivers/net/nfp/flower/nfp_flower_ovs_compat.h create mode 100644 drivers/net/nfp/flower/nfp_flower_representor.c create mode 100644 drivers/net/nfp/flower/nfp_flower_representor.h