From patchwork Thu Sep 8 08:44:50 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Chaoyong He X-Patchwork-Id: 116083 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 D0D81A0548; Thu, 8 Sep 2022 10:45:30 +0200 (CEST) Received: from [217.70.189.124] (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id 6397340143; Thu, 8 Sep 2022 10:45:30 +0200 (CEST) Received: from NAM11-DM6-obe.outbound.protection.outlook.com (mail-dm6nam11on2091.outbound.protection.outlook.com [40.107.223.91]) by mails.dpdk.org (Postfix) with ESMTP id 96BFF400D6 for ; Thu, 8 Sep 2022 10:45:28 +0200 (CEST) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=OnmVREGAmGvbmcWLeNUWBzRxoUk5nkIh4RXrE3nzOuO90rjOB7Yo55Bckd95mHR7XNjvuDXFntYD2eOqhmJqJAnqThJGgacLJJRDYRVadybqCM0YgUCIRT1zbtAjMPAFnfk8qiAy6powhuuQRT/YvZa9DHRw5mS3wgmqK30atFIfD48kWynFsh4lgxWwk/QMTwcTdeK9lGuZcq4yXgUR3OqYvFUV1hdLZNDz4LuPPgug1K51Q/9RdtwWY6Qox0l0rR6pkeWozRYJ5oTw0wv5kLbC0Lhk7RuqJGH7EOdAltoLGpu1P8bRfLvpm//NxoX5iZ5Xdzxrrag6r7lk0IEZoQ== 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=cm62F2YWetShclkwwPkZSOQCehavT3n4jhDtEU5iYGw=; b=CsKKyzr+GFNRFibFH/O2UkL+qgZ7UY/XVSWVHDQDts9eZl/VsctKMu74Y4xAFtUMBdGCDPma6ORhbHz++xdyakCbHQhFE+CU2k6KAC/uQ5EcAqAWL5BU7HiER2/LKvzRSyiuuP92sZEueg07uklAVSSwCmrVy7FeDDFYBCsA2CTYhWhzt04uM0j00NcTFnwOWWznbPUNxuQYlYh6FAEN0BkLkkhpAqSxDOSi6CVQ9PWcJZACKmIr5RrO6shxk5UYa8rCHV+cunyev/qbmLtYBJ48d9Ye2mQYnSfOB79gKYuYseUpFdGx4l9ZjNQ6fS7vtoskb91gt5iMWm70AHzECA== 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=cm62F2YWetShclkwwPkZSOQCehavT3n4jhDtEU5iYGw=; b=C7ZiBJoYyIu7g9Tp6DfYnOgQo/sHwT5dUYphHSgWe+rKc5kn9tEqoRwKO3SmFK/G7AAvaANJKlljy90ntYAc530/+HjiXb6lSYAhmZsaSi7/iyPRGqE7nWTBbJz38hsuQRRD9SZ5t+IcjGApuwFd9oJePN/dhZ9SsNbVcX5MKbY= 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 MW4PR13MB5940.namprd13.prod.outlook.com (2603:10b6:303:1b8::10) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5588.3; Thu, 8 Sep 2022 08:45:25 +0000 Received: from SJ0PR13MB5545.namprd13.prod.outlook.com ([fe80::402d:6abc:83a8:2431]) by SJ0PR13MB5545.namprd13.prod.outlook.com ([fe80::402d:6abc:83a8:2431%6]) with mapi id 15.20.5612.009; Thu, 8 Sep 2022 08:45:25 +0000 From: Chaoyong He To: dev@dpdk.org Cc: oss-drivers@corigine.com, niklas.soderlund@corigine.com, Chaoyong He Subject: [PATCH v8 00/12] preparation for the rte_flow offload of nfp PMD Date: Thu, 8 Sep 2022 16:44:50 +0800 Message-Id: <1662626702-17254-1-git-send-email-chaoyong.he@corigine.com> X-Mailer: git-send-email 1.8.3.1 X-ClientProxiedBy: SI2PR01CA0023.apcprd01.prod.exchangelabs.com (2603:1096:4:192::17) To SJ0PR13MB5545.namprd13.prod.outlook.com (2603:10b6:a03:424::5) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: SJ0PR13MB5545:EE_|MW4PR13MB5940:EE_ X-MS-Office365-Filtering-Correlation-Id: 35e90690-788a-47e5-24ef-08da91767922 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: KDiUsJBNW/0//lKOrpuL/tlqcEDszA+qGGpYbKUWDRjVEe96D3lFk8Qsm6meL26NIpZ4PSSbHHhHV+Q1PzlXzVx+iROKcYu9pEvqddE21mlom3Ph+Lcu/PMRtjITIR3+j46LtMeGEUjEegLoO+UmQfBzxMw3KNcerFn5mGKr/orIlmKQbIYgG4QY1DW0NxclKpaFxf/dCEmlTOii+vCLavUyI32h32+BxbhHlrHdzpkBlj28PL20TeZAXHsjDxEugLXWtgrjs6qfNy9xdI3V2PvXunoWvLZXQmT+uXcdcmFMwpSEXFyhkodjcm15uQqbA2XcmX4WYGqmGqH1JeauXuKJi6f+dnQPm/EQtzbiQH4L4zZDQMY0+KiqXMUHqOjHVnGq50lQyQXq/uyhdwWk16d/ayhS08aWARHRYVihBq+jUb9NROPuPXYolfWaSnUOcrg8qizE9GpyhAUBjcDMSuX1sgfQQaXXblUt+bH30uK49uHiytJtrEGCz5Kb+rX54cfDxzig7BBJaJRECkTRdzX/zXAF/3L93TyL1P21BfI1R+fmwqxZErft1QYJIB2dBsJwpx5nKK9HO3Uo3S7rf4xOtOjYCmbOVHfC+HaHMFK2XXLMj/7x3wF83zR+N/9shazCfkj4cVcd+ND9LpSu11oeEAL/NpqwMwhZovGhw9RiycB+s7w90YJPOWahPqAUlFpU03PwMbVgeDlEvLT9ReM+zMNvxZ06PbpfrlPg3MRVAJVevZca5TFrqvc0TB4MYct4L26itXja8YSVyyBsgw== 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)(396003)(366004)(39840400004)(346002)(376002)(136003)(107886003)(44832011)(2616005)(41300700001)(6916009)(38350700002)(83380400001)(26005)(6512007)(186003)(4743002)(36756003)(38100700002)(4326008)(2906002)(6506007)(316002)(66946007)(478600001)(86362001)(5660300002)(66476007)(52116002)(6486002)(6666004)(8936002)(8676002)(66556008); DIR:OUT; SFP:1102; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?utf-8?q?PEeiOLAVeVF/sYQ6VJaAXoHOy2S1?= =?utf-8?q?sgB4YLPv72fEF31UVPrGG7Qk3b3Mq+p7dzuKJwv5sVzhQG6vX3GID0OZaBdX5gSAc?= =?utf-8?q?fwWMoUpXp/zjZwSsvHG1C4IfkD/EM8h6Iwf+KK6LiCOQyBMYZeYqKyKv6UpxHCaCS?= =?utf-8?q?d++T8QRAPpBViD4bzx8K+w+ew8R/bLXKHV3S2L+papeoswTY/uZ/gf5Fdwi3NkbXM?= =?utf-8?q?DES+35xvzybX82tyWRg42tL1ZP3e3qNk0py32EivzNzhoNDSjcOEpMut8bkuSSWc9?= =?utf-8?q?odQfHRN7OQ4go8vlhEFB09zDiR2flE574Ih8foSeXcv6AuxG23t7QzCoF0QIgTvAU?= =?utf-8?q?1Z4sQCDI6pWNtshxM/gnf5Q7cNAoy7aCvQVmDHGgv8uDD0ufPOi5NLEfnOVZL2cO6?= =?utf-8?q?YnW0KROBFdg4A4h4jFEPTf9rmCTyY54VklbBd/rYja7Tv1qcJjXw2dfyIn27Ph++H?= =?utf-8?q?oAkHN3XnqqqqI0LSwrmt3qSaxK9QmriTes6Gm4kGD15YByAThiigRM1jkQ5fDKVQn?= =?utf-8?q?d3m36vF4XHe6jyIsHCwYltgU7c0bP2CPJ9ooiL5CKwEduHnwJ6itNQFoT3kGjzxhB?= =?utf-8?q?OjjiAHncoeOV6JB4GBljatDlQ4+0yNf+ckeQK2V+Yr/tHzHoIEYXTdLblhrSLQkW8?= =?utf-8?q?H+FL0ChXneCfnGCuoF09+istAUdL385qC5GaESKgRVeoec6jJGSwqs32+93YmTy/8?= =?utf-8?q?grlBpm14QtKbdyK+gWU/RgmX8qks3YSb+HOYYUf1cQBy6aNfOB0aMN071LvM0IpsJ?= =?utf-8?q?9fH35TN+6uTwMnv1l3tcQAHYkA2jss51Y+Q11V7xzS3/dw7heG//BbKcRyHuCD3/T?= =?utf-8?q?IJYCkg3lJq5ixtQ3U0hCgsowOrtMyzka3lFoUt6rm97XQRyDqc8gmjjEhME5NX5s5?= =?utf-8?q?xRVU4buq6XExBNEKTZMWagT1IibIqvxYl45p/c9ZQZ2VjjpIBuAnWcnzz/Ovvy2uV?= =?utf-8?q?7z65Mge4F9H6qvSaNn0C/4Fiv8o7dMi36hcgDDNOmTDs0eYxTRH5gWCy44bi0GvX9?= =?utf-8?q?eZi2Q1QPrH+mekyNvDYM+ppNqudaaAzfnib02+AMyhYI1tPjorgStOdTXSw20lzsL?= =?utf-8?q?mXympVV6X+Nhww4HIjffu9f6c9eOrT15Mshz+GnScAYgDwI0tGg1IdR4PU11gg0tG?= =?utf-8?q?RqDkf3WRANWJO54lBhbKsjCLhUnYvZOoM3FsgiJ26UrmiycGhQs81Tq4NTWuaRBZL?= =?utf-8?q?IUW9lIZOiZw2fDsKkt6txeJ7NXZP0LmYgdGp++gShs62+wa0e8uqCuInixtKod0Gx?= =?utf-8?q?1MwYQEfVZ5Kr/mg1Vs+vM2gKUOMh+e67dMLdBgVlnspAsGwOzf5SsHpH6umBIITa7?= =?utf-8?q?eZChC5aLLhym+ttGBpCkKgr2BVXj3bbnjDawsc3zWMe7RnNrYBvquMhDF554Uo/kf?= =?utf-8?q?rPEQYKFZ89Onf9hIYv4plhYHHjDdcp4/IaBc5SL12RpV12URzK7dS3eDeMkYF2KBW?= =?utf-8?q?e8ZOwBHLK9Gw1HiwEtbp1d4KPHAhVdlTzy3Ecf4xXubCi34PqRAX7zl7+wbCa6qkv?= =?utf-8?q?dbQi6ambtS9maeIcHjP1XcYaWtRAZ+kHtA=3D=3D?= X-OriginatorOrg: corigine.com X-MS-Exchange-Transport-CrossTenantHeadersStamped: MW4PR13MB5940 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 v7 - Adjust the logics to make sure not break the pci probe process - Change 'app' to 'app_fw' in all logics to avoid confuse - Fix problem about log level * Changes since v6 - Fix the compile error * Changes since v5 - Compare integer with 0 explicitly - Change helper macro to function - Implement the dummy functions - Remove some unnecessary logics * Changes since v4 - Remove the unneeded '__rte_unused' attribute - Fixup a potential memory leak problem * 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 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 doc/guides/rel_notes/release_22_11.rst | 5 + drivers/net/nfp/flower/nfp_flower.c | 1324 +++++++++++++++++++++++ drivers/net/nfp/flower/nfp_flower.h | 62 ++ drivers/net/nfp/flower/nfp_flower_cmsg.c | 186 ++++ drivers/net/nfp/flower/nfp_flower_cmsg.h | 173 +++ drivers/net/nfp/flower/nfp_flower_ctrl.c | 250 +++++ drivers/net/nfp/flower/nfp_flower_ctrl.h | 13 + drivers/net/nfp/flower/nfp_flower_ovs_compat.h | 37 + drivers/net/nfp/flower/nfp_flower_representor.c | 664 ++++++++++++ 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 | 35 +- drivers/net/nfp/nfp_cpp_bridge.c | 87 +- drivers/net/nfp/nfp_cpp_bridge.h | 6 +- drivers/net/nfp/nfp_ethdev.c | 345 +++--- 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 +- 20 files changed, 3228 insertions(+), 281 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