From patchwork Tue Jun 21 10:32:56 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Chaoyong He X-Patchwork-Id: 113156 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 13140A00C5; Tue, 21 Jun 2022 12:33:42 +0200 (CEST) Received: from [217.70.189.124] (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id AE1394069C; Tue, 21 Jun 2022 12:33:41 +0200 (CEST) Received: from NAM12-BN8-obe.outbound.protection.outlook.com (mail-bn8nam12on2090.outbound.protection.outlook.com [40.107.237.90]) by mails.dpdk.org (Postfix) with ESMTP id EE2EF40151 for ; Tue, 21 Jun 2022 12:33:39 +0200 (CEST) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=n3QmD0bEjaKP3SzDX8GgCuTIeAbiTEjKurufsQcqsUk1Vku9eRb3XlZwFxRGzKSkYjQTCNIHVC6+EVOAeTlAyh/24KYRu3xSLpo8KpshkCfDQ6/iMCtvkgYdz0F32OySW7r7torP5PbTLbu76Tk6RqIhnWwNzxa0vyBHcoTSGgmkAytwMHYjZByWH+IF6xlcbX0pZ6FVqwVblPtn7ydhkJU/q1C5bMml44YiiOpbz/qINKF5GY7K8CPLa0VIGj3O7c5iZF9pdGy+U9mt8B+0jGzinFPoH27Q57NGxXK4TvM6n29uTHM2rErdCHJT+o0YWy5rwziwROj23ojGwoKiAg== 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=F2/ZdWfuHacJYFU/QuRf1Niesggh3SSoAIDpNO4Pn0g=; b=lck4Udg56nA7aA0eX2mbSX1XPiNdC14kUmMKnlZuBCnJmjhtQON1ASsLq6vO4eE8UejB9rNXUB/TCPAFx1GrxXhhWEQ8ULE8vaZRWXVDWsW0xJTKtZ0bFy+IYFXDTHafkjco2EevmPd81lB5u1S6oNK34XoQWbZE1EEvBd9o74OwXCh//cRLsivmMHsHoU1h4wCjlqwvF1TgnRhToE70JT5OSgRWiipNNqpcqlYgutpGm55AInh2QOyzoeQoSwWoP0Zty4k0GDwJHXg9NjP7XjA2EiqpsqRA9+xuOqtoEMR9NxqhA0zLzMGnWZFj9vzzTYiO5QB4z927M6J27npjsQ== 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=F2/ZdWfuHacJYFU/QuRf1Niesggh3SSoAIDpNO4Pn0g=; b=ObyaKbkw/srKR6lfGM5cTQ+zPjZO40EfInDSyTkUDt7NuAdGutE3WZ+Fv7clSKiu0ExmlqCHVHEjLIe8Mb4XoBZaZUsOEuSfisnaP4L1h2RNK0I+oNa0evD12CoPlYSAL9kJGSn5z9Rb7eMpeOk7PZRZzOmCCPjVRH7qgUeDXZI= 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 MN2PR13MB3086.namprd13.prod.outlook.com (2603:10b6:208:135::12) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5373.15; Tue, 21 Jun 2022 10:33:37 +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; Tue, 21 Jun 2022 10:33:37 +0000 From: Chaoyong He To: dev@dpdk.org Cc: niklas.soderlund@corigine.com, Chaoyong He Subject: [PATCH v2 00/12] preparation for the rte_flow offload of nfp PMD Date: Tue, 21 Jun 2022 18:32:56 +0800 Message-Id: <1655807588-7320-1-git-send-email-chaoyong.he@corigine.com> X-Mailer: git-send-email 1.8.3.1 X-ClientProxiedBy: OS0PR01CA0018.jpnprd01.prod.outlook.com (2603:1096:604:24::23) 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: 1c99ae7a-3666-42ef-23bd-08da53717fdb X-MS-TrafficTypeDiagnostic: MN2PR13MB3086:EE_ X-Microsoft-Antispam-PRVS: X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: 9Z8sm2OUN0e7z547P0bRrZ5s9UwAMqrfNRMX2PgJUJHGNXvJCgYbKd1PmDwEVWhrczRS28jdyw/MRCZdiM1cr4IJB+0xD+FA+BHbEhiig+nLriyGLtdLVj5IciCAQA5Oxhg4bRjcQfXhLadarubCgCU52byY07HHQHqhjVtaIf0TgGfUIFcv9COAGfAJIVNlwkHRqW+IkDSYCHxViucYhKQLjJVLMtr8GeCORwFfBnEFNs4Qlzu0zBfVjcvsSsc8IXoaK539wKrCSS0gLi36cwktXDCjjy0i9g2ywviSmoWkfJGWRWJPI4iFzx8WUTfXtbPTgQQb25iSQfq6HsX+CoF+08ZCzDZiJRHLrDm5FMZEhlubphcUocMotN5ajJK0J9ZWRHDi1e5gVUcJSdbcYG4IOiDVe/W2UUneH3DtebzCM4qBPTmRIOtOQgXbLvkNchZfPu0UaUlEOZ9TTUgsewLD+l2JnBJRPoRbgzAmRe0aDoSb8XOfjaufMzzbi16RYXDhQqDSyzE+tp8vBL7v6I/ZMvDO0aHwxM5aw2jMXnoUXgU1NHWCzrwVv2yYlFjnFz9nsLVEkribsotNIuWi+HCEh7M710Yot4b2ZLZWJm1ZQYSK+kV03Kr14QsXaTvwSAxjKpw3af5Bs0XA7a7S7znKrUSHQDfsNMww5AoSr/wzgsAe6C6tfCW6EGPjab1fPZ2h368lloC/su5FyO4GHdOw6aVBSWYIekekMnKbeU5SU75sZMMtD63Cje1IyTAS 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)(376002)(396003)(136003)(366004)(39830400003)(346002)(83380400001)(107886003)(186003)(41300700001)(2616005)(38100700002)(38350700002)(6666004)(66476007)(4326008)(86362001)(5660300002)(8936002)(44832011)(6506007)(2906002)(52116002)(26005)(6512007)(6916009)(316002)(8676002)(66556008)(66946007)(6486002)(478600001)(36756003); DIR:OUT; SFP:1102; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?utf-8?q?DyWfbZ/jMi2UtHwjDa7DvQjPU4MQ?= =?utf-8?q?rUvD0ovmnfbye01VLe5rBRdvMr4u4nvYYKq0MxfDBbFm+5oGTpAuLbV9X5TlCBch+?= =?utf-8?q?HOvkRISvPOqBRJwkCiofdnaoNaDS/XiCwQ9qfcmkCiEK3gHQgEldEu7nmph3qTkgK?= =?utf-8?q?i1agHHDk/X03a5rEZXV6f7JpiJphihE6Cm4aPT5PBZ40d4Ci9T912jI0sxfNtOOt7?= =?utf-8?q?jyUOApGX6mJwFTHa8OTDWPDd+vCiike21vaYsqm/1YtN+HkjgGSW2oOLqXNLCHGH8?= =?utf-8?q?VJDCA0gmjI2rwk8ulGWNZV/EX0rylmylegWs+De8c65hUDKgy7ZBxbg9LyuyDWjUe?= =?utf-8?q?1hVKO/59aiTDqO9iRJUKIV1rMQnkdwJ5aTOhVqMnpcVyhDqwsc/VbIzw138hwm4oK?= =?utf-8?q?Ydl6izXa4Kk+N+gEBabY/piURh4MPEmpcrnl8rZb3yhB2hqbuZK99F9gOARTgS7EN?= =?utf-8?q?ey9kd10kp7gLG312Fbw6wqSbhrO0/msB2odzyGuunz79JJYAZDy13JZaDqZcNsliG?= =?utf-8?q?X6eJweevMIhraQXwsHuJEA4fSI2x/m6PRJUJyjVZ7Xf/IIKXBII0vJ14TF7vrJKYc?= =?utf-8?q?iSboWSbnmB4Z+qJ/AnLCjsgJUZnmTQdW2xb2F6DbsKs8w34vcoqa8f/K5FflIj4Db?= =?utf-8?q?N0yp8DFvTjhtDfug2cM8ufKz5hg/1L3sfYw+xGQyyehn7fNXaHeAG+OzuKuVlmk8D?= =?utf-8?q?kbxu4F1lE9LElf2Pdmh2X9rRj+LvLwO4ZXLo+9s+jbA/zl0dMovhl2rxJslI7kKNm?= =?utf-8?q?oqHNrPw5OQVXH4kXE+Y5tqAKKRhaBjYRKmEe9/HM3EoErI1ufTmsCsT1RkGCsgr48?= =?utf-8?q?0bnhFZO7HY8v+K2YiaDLiSJkcp1zWTkf2qtL1mA0iDr8unhjwYsyW6vfVUzrkD0Dz?= =?utf-8?q?iz42hR5w61vFQGfriGi5zeJQ1B5Mi+SWmXX2ibzcIjeRZTUNjOYVkU3QxHcFiCnyO?= =?utf-8?q?pc9ncfH8GZrqP4LHQvSMZ5xlSmWAbdMVZ4g/V8oY784na7kh2mRB5ivvHMG7ATWvN?= =?utf-8?q?g7ZCsBX7XRqle9i5IuveD5pPMmv8HEQUdY+Pm8YxlYRHnD3R+1mRYmJWnD5jmy85A?= =?utf-8?q?qG7jBoGxxIVGz3yMhzqbLwOqb620yD0OK+qBk8j9rfTAbY1jsGrrZJCWxDy8I0Aky?= =?utf-8?q?UHKHsmfDCFvtUio9TJCBkLTmkQ6jba1MVAdkJavY6Hw60TFdFpCgG8RoXJa02MNII?= =?utf-8?q?Bjv6akf+8+6bbl16GWtYe/ZrScCsUYz9frah7JYha5QYdDY/ppAynLYQrm2OOnLhu?= =?utf-8?q?1eWp8wLgKhwLK6a96wjGZA83LvTQayPRA37rcXoor3UlfTyLBiGuGx+NeeHUWIuXH?= =?utf-8?q?QJbbwCyDukcqR2CNLCGIYzCueHORoHGUony+d4iltctoq93/YuCzEET8e7vNIsA9l?= =?utf-8?q?hMYsvv7nEjdgyczpxH5Ue4jF+j69dg5lFVMEQiyMXzyPkgG2H3TsPqGyDwbYGrZ3o?= =?utf-8?q?l/DgSgXbMY5zqyjXPxBlnSWNswtdDWTRQH4RAN2GOm1YRWQ9gwBGv6tPx0bbfuLLR?= =?utf-8?q?4yEbqnZEUZIiiGtdmFB1RnkFHgxcz1WLR8zcB3Igg+hIRnLKt0Pg+VL1cnzlvoxl0?= =?utf-8?q?/nXbWHZD6esf1KwahSg5Hx87jmi2RODvLMl5bRnis7zQr07oXnPzjWalUdYGTxzyh?= =?utf-8?q?2Gs5WVlzufaEyt1jdPTT2OKZfBjses7YfhDd82Cad44goHt3C60TQ=3D?= X-OriginatorOrg: corigine.com X-MS-Exchange-CrossTenant-Network-Message-Id: 1c99ae7a-3666-42ef-23bd-08da53717fdb X-MS-Exchange-CrossTenant-AuthSource: SJ0PR13MB5545.namprd13.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 21 Jun 2022 10:33:37.0167 (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: DNM/sn2gW29eeNnt+7Lx2k9MEXdL0kUvagKgjTuZYA7qsDuWvBd+uRsuzL9nW/zXaWqZBHBCu2GwILuxUSCeXmNCD6CuE3KfndOB2XKKnok= X-MS-Exchange-Transport-CrossTenantHeadersStamped: MN2PR13MB3086 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 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 | 1564 +++++++++++++++++++++++ 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 | 245 ++++ 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, 3408 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