From patchwork Fri Jun 24 02:53:49 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Chaoyong He X-Patchwork-Id: 113362 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 28096A0032; Fri, 24 Jun 2022 04:54:57 +0200 (CEST) Received: from [217.70.189.124] (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id B6F2D4069D; Fri, 24 Jun 2022 04:54:56 +0200 (CEST) Received: from NAM12-BN8-obe.outbound.protection.outlook.com (mail-bn8nam12on2112.outbound.protection.outlook.com [40.107.237.112]) by mails.dpdk.org (Postfix) with ESMTP id D46FB4067B for ; Fri, 24 Jun 2022 04:54:54 +0200 (CEST) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=Jq35hoLpsEDQbuWi5vplRok3t/Tu/GfTyOmbqPePu8+EtMN7JS7PNxNI2ttoYhknWg7dXVpQTNhv2ujrdZTexAoCxNW3FH6ZmX9IWGIQ80Wqee5+ICs3eLjqA96Jei6IryOf0JxatOvfQJkSWooaGiJbZXniigN8tSXdMuYg9+Ij5uxB8tDOaEucwuV7B1jWT+vdHmrYBs2TPYPUoJQy+ynjSfYecEC33RN/mHJTniseeTASFWuA62GMObzPzweGu5FKPQKo1N4QkipyJgXOxJJpHlUzdsw1lSQH9xoR6ljTHTBsqymWixCn5FAL8AhAg7x6G1ikirxkHW3EYBJc3Q== 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=GmfDMjcG6bVbvzCLWEC9ixH8Ja5oJ17zdxoNGnK7wTk=; b=BqPZe1lsKb5y4FP0ZJg6hdrGs+eiXOEDYbkzaubWEWijka0JSpd8iC+lglJEGmjgP/3hurb4uNcPFSiyrIsLNgimPBtq5QluHJyNjsPdvdiUw8t//fknLnnf3ZmV4dPYbDl6NjHI34SL/IiZar+j6rCbU66RXTEx2CWUk4FbKbQlfTvtx+zWwhoMkjjUF9+NX/TUuvusU8uFIdR9WA0rHNFUZ2dYxfezoFjDjYZN3JS6pdn7U7nMu+MPf5Ffn6dfZFGqqXQi9UC9O+L1cKgGDr7CcsBuXyaZFt9YoHkx9XRPj2nt1QVbfyxJXTSpTIf22hqbd0DKHKBFwhJVCqnJdQ== 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=GmfDMjcG6bVbvzCLWEC9ixH8Ja5oJ17zdxoNGnK7wTk=; b=bgBaaVPvZyAfbnz4YTJPgrP+zTwBJSYETdC6BVt3oqZ1QWC0reG6oaNiK4P+Awgh3OS7LLvaKgiAnZFHRRG7RirXSyyiH2B0tGFQtLy0hTcRjRSvAFh9+b4ooK8/ADGwPyqNFKGbY40gCuAeDeWyumLUS3gA5e5zbYKu7B+Hbuw= 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 MN2PR13MB2752.namprd13.prod.outlook.com (2603:10b6:208:f2::31) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5373.15; Fri, 24 Jun 2022 02:54:52 +0000 Received: from SJ0PR13MB5545.namprd13.prod.outlook.com ([fe80::5d9e:9ce5:51d1:2021]) by SJ0PR13MB5545.namprd13.prod.outlook.com ([fe80::5d9e:9ce5:51d1:2021%7]) with mapi id 15.20.5373.015; Fri, 24 Jun 2022 02:54:52 +0000 From: Chaoyong He To: dev@dpdk.org Cc: niklas.soderlund@corigine.com, Chaoyong He Subject: [PATCH v3 00/12] preparation for the rte_flow offload of nfp PMD Date: Fri, 24 Jun 2022 10:53:49 +0800 Message-Id: <1656039241-20955-1-git-send-email-chaoyong.he@corigine.com> X-Mailer: git-send-email 1.8.3.1 X-ClientProxiedBy: SI2PR02CA0030.apcprd02.prod.outlook.com (2603:1096:4:195::17) 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: e37f3073-c005-4ab5-26d3-08da558ce8e7 X-MS-TrafficTypeDiagnostic: MN2PR13MB2752:EE_ X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: UVp0Yg8DKdxTe7DEtypUXma1jmhNfPStH0yjtN+omkKrvEOcegOUX4+B5rCQ0vjcm/6acKv9dPpO7R42SJXhyRZW9Ps9Qtbvc5luOm4Tp4CfsfltqbQT7OI1VuU+EBDp6FTWKa/O47P99ckgFZwCqvQw8z6DcIwQh1U3AvIZDP5ufAiSk8OX/gZsUtM+jaHLuqwQQOKF/TBWPLeRtgfX9gHH7BUwEFmwwazG+NvCvm7kljRZsCA4vXKxNYdVBa5wyKmSDuCfCQnu2xpxfe9wdZUEYiKKTOot6GyUsNY1In8/lbprCBSj7AguYKR5DPVScSSMTwmlS16718Nn8uPO3Yt8QitDlhwYVieNmK6HeLdai7ZdRMA4kWUIaKQutJkKBjGmf7BdHJIHraklqBMU45SN/8TRyfGYb2y24nwqxofKPm369URXYqXy8e+GHq3f3QkrTEGZQHKMn49Z/aZRS88HUhmHv1dCzXtpnousW3rYrvTDLIbwe65xZ200ylU2hBaiAJ495dFzyis8KP9dWZ3uQ++aEMPOI8b2sRFjOUA/LwF93rBIyd1tv9mssUNc4ZnygQZd9YC5xB9PCmBE+IpPlkHXPL9xrH4CAQdsCcvgkgxpQuBcwBegaBQsloZzgBrVD8iiDI74YlmLq0WJJdLcdALu301Nx+MKlGEtWjQfw4+AtqF68u2TFdswfE4lLGE45cU3pxl6U4SFukhoEn3WMBhVkSz+HdtGhMvDLpEIzN+ADU0X+laru3x6+BqmTfH/FRS8PxpL7DLUZp0bQjEIPawmK1dsC0eW+p0mFGDFvAB/Wa9yqLFjwQFgRFmDLYgRCAfRHvFyTOPH+/7sYw== 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)(39830400003)(376002)(366004)(136003)(346002)(396003)(66556008)(2906002)(66946007)(26005)(83380400001)(6916009)(66476007)(6486002)(2616005)(8676002)(41300700001)(38100700002)(4326008)(6506007)(6512007)(44832011)(86362001)(478600001)(36756003)(186003)(52116002)(316002)(6666004)(38350700002)(8936002)(107886003)(5660300002); DIR:OUT; SFP:1102; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?utf-8?q?JMqpLDV62X7HOEpUULDcPDFpuQm5?= =?utf-8?q?CUquIpo29USQiJg6odtwSQkeGUfyn4Uxb5vf3Ql7we4ZnKzKWtY1PFXYS8FajcIa8?= =?utf-8?q?Rkta9bU5a07BhIkVSj32CQ/ORJ/H1T4ZLKpRdOnNUAwjNLmr3/wlzr6xGVxALPOIR?= =?utf-8?q?FOSDqNA/iMtbeEyfGUSvbJh+RWuZJDIt+ZadeSvnBMfuLBOI8dsZ8n4IExNu4dNXM?= =?utf-8?q?cWnvwRwruUL2Klfu5WPCr33IrLqUHjDh+mQGpsv3Lwpqh+I7hpPTRRWfi638IAT69?= =?utf-8?q?29wgJWLrhKZp5E5qY48I1Xr/NzBLJR7A6uj0Rot9WHHTIfVkbj8ptcqIuy37Ttmil?= =?utf-8?q?HCsuuhd7rs5Gbot8Db/0PoDzZKUSpWufcCFuNwc6TWlcz1MIv8+RM1z+Eu6sN8yUT?= =?utf-8?q?37i50bykn39OIU8r8wCpgCO5KOaDOUGdIv6jd1OSTKCPFUuBxGZvMAv2kaB0eqr9G?= =?utf-8?q?pQVZmJcRGLOxMhTtKBukGmr75CypD9MqVObljDRpGETHQWZ/IIB8mQ9PanQ44/ACW?= =?utf-8?q?FQs5EUzATgAS0fb/O6u8XQ95gxlkTyFH7aHDkL+vEaqcDf4EPxBsOsLEyFzf6fx+6?= =?utf-8?q?C3DC2i5GKiWU/sPDyyFzoSe8ExUPK0W6cKMYEN+wP3URczv/0g+Ao4cNaUXpWMhuO?= =?utf-8?q?LeEEm02rquGWSShL4Vb1tF/CbRX/M6hQQvKStK1cByXm159kFbLy0HhTXQ+bPidCu?= =?utf-8?q?F083R4RzOsRXqQQrZisH+1N/UWxGiQQUJQurGMtMdzGGrplvNFMXetJBIIWZOuxPF?= =?utf-8?q?iDzdcc0uewQ0TKSWSc5b9gTywKix31oQyHhJDTs43yJQj0bHgyvydYKFxD9QXLBIu?= =?utf-8?q?ERjS60C9z7RYqgbYOSqLBLHeAZsIJaiiEqFMBzQFpzIw9sZTcEhLPs1srKD3jSKLU?= =?utf-8?q?bDTxBBkVv92AQyBWeeqc9A3+zYvPX0ApQfbB1u33zcaQ3tTWagnMC3/bAv2iGWI1r?= =?utf-8?q?Vbj/IaM8wtKGYqT/gR1GRQWgjmA5OFePTn0+Y7WTLwQzp9rSAHVA4yl/TCZ2tgETi?= =?utf-8?q?6xhk9NMqPUdYB//e+l9gsw54J1gaFnUolkkerAq9+esXLrufTn65sxl1lBKxEjMJs?= =?utf-8?q?EL5oZ7NKNOikn3FQ6tqC2fdHA/748oA3KyckBlZrhdsH8fgjv13dsZnhIA89ttAxx?= =?utf-8?q?zzNPPi4LVV4DEg7zhW4J6t8eTwP5ZSE2o3eftZU99HyWEzpkLSrA9auugCve4BSyN?= =?utf-8?q?SMO0lKnDOhP4TUz8CwwzgKbNPW8HPxjFLhKrJHPNm/If5z0EDylMlGcLlgDOUOkS4?= =?utf-8?q?yIlTauC6GC1dv7xH+8gwDKrra/VZwW+NiioSYFGOYdxXuEWKg9f6oQuvZneyewt0k?= =?utf-8?q?X8onzVohJxlb0+MpK+QLaQXo+HCe6V/470SLclYFts+z7uaq3IWF9hYxHOs1qRVrH?= =?utf-8?q?4e3JR+j9yP450NaEDDeG5XGgV1LXL5ikA43Vfs1pYyrRNd0uJB3jMATrEmsR707lk?= =?utf-8?q?TLsqFwCktjqgHaGZl/fCtrU0KA60K2Ou5u2KSm2myAXP+ZP+HPYcqcuKwCGk3Xmmw?= =?utf-8?q?3WzBjUCmODTfnbkOL6FAObosz5m2f+LI5Q=3D=3D?= X-OriginatorOrg: corigine.com X-MS-Exchange-CrossTenant-Network-Message-Id: e37f3073-c005-4ab5-26d3-08da558ce8e7 X-MS-Exchange-CrossTenant-AuthSource: SJ0PR13MB5545.namprd13.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 24 Jun 2022 02:54:52.0403 (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: VyttH10pgnW1N6sAHLsEL8FrfsifwJr2e/LMhbn9RJS2iWsbOD5xuyXkbW75zOeLJH65SEgMK3lrfTuORnDRD8nCG0DQwyvC/YSj7QOEo0I= X-MS-Exchange-Transport-CrossTenantHeadersStamped: MN2PR13MB2752 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 v2 - Remove the use of rte_panic() * Changes since v1 - Fix the compile error 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