From patchwork Fri Aug 12 10:22:18 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Chaoyong He X-Patchwork-Id: 114888 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 087DDA0543; Fri, 12 Aug 2022 12:22:49 +0200 (CEST) Received: from [217.70.189.124] (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id A2C9040A7D; Fri, 12 Aug 2022 12:22:49 +0200 (CEST) Received: from NAM04-BN8-obe.outbound.protection.outlook.com (mail-bn8nam04on2097.outbound.protection.outlook.com [40.107.100.97]) by mails.dpdk.org (Postfix) with ESMTP id 2714C406A2 for ; Fri, 12 Aug 2022 12:22:48 +0200 (CEST) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=FJr4u+ImPLL71ZRbJBH/viSyMa7B00aTlzJym3bT0ipxQHkaohVCWB5b5eGJzFaTy6rnfCjIKKNOU2kaKGZnC1IV+xB/k1nwBNEbG4N0ISa8BWgGg2Z8e8iOMcc8WY+iEHUy/5eyUfe6u/Uc5dQP2JIXVkm9sjRxSDQzKRYRlB4gDBTHs69tb8oJTvNGetT/ne8dPBHziOilFMupsl2cZMNVSBuxw7U90tOk6e34WOfTXnn+2aQQGPeLM2+uSbpAY6BV1V7x5SI+XKeQvMG/Lf0rerjr6zavbArHRlZlqKFP6X7cPem2GpEZdWh3NiqFeJnBoLnjDJi7QgoHFiHObA== 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=6IGPAcLgBlq5gNlY/0mGsEfozT0LvKVsDiEI5UUys0A=; b=ckcaW6VQ2Vnld2XbDX61E4JLiKipgG8RBIVknQEZsCrvQm4N2dzogXxUwoOeCechLUcg4y7IE2iaIyiIl8NbMllXAF7yIkxIl2JGa6tlGwwQjyo0NgVrvkGJ/PkDeMlm8U+YNuKFfImKcNDLQeKsR7n8IlE5ioLDZeZpDi5TFDD+WNLW2znrsMVLCMwR7ik5i20ib6W/yoAJ+T4jzagqKUXeIshbTWW+OSteZGPiAlJDGEJQwteFJJoFoahFhs3asMpmXWqe3T/Hdf+z6KaYmJtwY+fQj2oSNM5lAX/pWpkNR4oM1Y+WRpZOjL+ebJZavxvFFnPnBbSCrup18p3+MA== 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=6IGPAcLgBlq5gNlY/0mGsEfozT0LvKVsDiEI5UUys0A=; b=vTIpDqvJxYjJ89Fr2VsO+VJcAUKcPoeftvAmrHgQY81beFJjdZjbjW3PjwK2TeCjCtSBY9g2n4PTqReX5TDnEmjJJ4Pd+B8FVFylLJXy5TMTDv8c2w326NxOfugm+TbVzzA/NWebHhsTncEbAMBgNBZGdaohdHxTktVuOLtl+GM= 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 MN2PR13MB2624.namprd13.prod.outlook.com (2603:10b6:208:ed::10) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5525.9; Fri, 12 Aug 2022 10:22:46 +0000 Received: from SJ0PR13MB5545.namprd13.prod.outlook.com ([fe80::402d:6abc:83a8:2431]) by SJ0PR13MB5545.namprd13.prod.outlook.com ([fe80::402d:6abc:83a8:2431%5]) with mapi id 15.20.5525.009; Fri, 12 Aug 2022 10:22:45 +0000 From: Chaoyong He To: dev@dpdk.org Cc: oss-drivers@corigine.com, niklas.soderlund@corigine.com, Chaoyong He Subject: [PATCH v7 00/12] preparation for the rte_flow offload of nfp PMD Date: Fri, 12 Aug 2022 18:22:18 +0800 Message-Id: <1660299750-10668-1-git-send-email-chaoyong.he@corigine.com> X-Mailer: git-send-email 1.8.3.1 X-ClientProxiedBy: BYAPR01CA0019.prod.exchangelabs.com (2603:10b6:a02:80::32) 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: 9655c312-5d24-4add-e5c0-08da7c4c992b X-MS-TrafficTypeDiagnostic: MN2PR13MB2624:EE_ X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: tj6HXuDIlUB4iRQSdaVhLnS7qiPArMV4JioQN2jUOp1Z9mU+rFEApz4gJhHA6YT9GRvngpA0L+5s4wRtKTaydPhNk1BlgqR091RrnxFaqQAeVl4V7x0W+StAEhL176Y8ol7JGNEepgWUK43c99vOUclm0nGCooKE3rEKZ3ZXM4MWdBu9WiPFWAFQQkhwYBK9Cyxer0pykfqJtOO9Ep/ww17MD72mbDsgbB0UVv4/u7xZQ0hUHhqEaQBcBsJQSp+Fwr9ALnaN5z1G9i53PiderwPxD0hhHXEPSvOsBIlS4xW/rSrSNPWtKcTzf+hbQpUFn28NghxTG+6JWXkao7+PFlh+2o5n3tK0UZPq0sV0ECljEXHcqwDmH3ETiYOU+Ndm0Q/twDl1hoBsvRzjD4gUXpktlmHO3JnU1AcYvRbKJdUpzJiF0Zw2RRt5famzsBalqCV+s1lohTeYY40lId7syds5rBauqs1kQrSXkzrrM42Txo0Z3+CT1oNk1Y6nH5NtsUeqe7n7u/Gx3RtJf/AvuXFFmoT6rhz9deTrXqhM1uQ6olpEdqA5XmjGPVhKp7Nu+pnJxMzQH/cIHDBbJhtE/g0eHMc1yyxH571SViN8YNNfoL0B1sMTBgMSiBWUCPv3KtzFBJQCJjIHnQj/CLms+z3asOvuu94BQgzIh89C8wg/RQfzNeCDU+sP7wU81YMhcxsMG9AYcrztA7hjMWSPIAzjD/mh+vZ/BoWTt36BjXey32G/6mXlNKKlr84dZdYD8gb27GHpscqEYg4EOS08vuDreRIw+Ef2fqrf/t/x+WiYHHyAAdsQjwCC833orL/0 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)(366004)(396003)(346002)(39840400004)(376002)(136003)(52116002)(41300700001)(6916009)(316002)(26005)(478600001)(6486002)(6512007)(186003)(6666004)(36756003)(83380400001)(5660300002)(2616005)(107886003)(6506007)(66476007)(8676002)(4326008)(66556008)(66946007)(44832011)(86362001)(2906002)(8936002)(38100700002)(38350700002); DIR:OUT; SFP:1102; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?utf-8?q?bq2r2Ncu74ZRwMbOl7AaqN/vQevQ?= =?utf-8?q?jgz35lE/wFg4AFXPEv5dHEx3qFIxXceRHqJg/VgR7AmCI0e03zVBXVtQRQxIE03hT?= =?utf-8?q?ZbUTSC4yt2QqDKSYvP84jYv6PUvTmEq08AfLnXhjTXF9JcK3DLMNSOZaKUsbWEDvH?= =?utf-8?q?2wJF63m9ZPccbi2GZFOv98nxbvQAfOPEhiIghGLAjksasOApkcvmJDZvOxJ3ZNQeG?= =?utf-8?q?wCdchpsYUgTMq5jfxzh/oR9w/tAk+LH+sN1v8JrM8g3IfJwS6ZTwouuDcMg7O4506?= =?utf-8?q?i1umOVvd0ku/8eHZmM7Fo2Kvlrqd0fPt9yTw6NBWfYcZ04IcNCnuKQr5ToaZNp4vn?= =?utf-8?q?JbadQEGsoAMhBoAykQOO8MlrokXPdSFPD59WtJdCD5dIOZpBrz28XdjM9vABL7kRX?= =?utf-8?q?o5OV9zqVCWUBoq62dac6h7B/fLJlPvwh6RsvSKWqnqqwkAqHP6y5wwbXMx/cj07Nn?= =?utf-8?q?XKF1YArKiMM5hK8/L3gMtraXnEUGyGnhwX6rDyD64oEEzxoATPIkf8wOT4JCuYbFc?= =?utf-8?q?JBSUmM1y/AUW0bwchw6saEbZ9ZfLD2bYDdJgUWn8/a/Zq07acWvp0bIzSH9aJgqwB?= =?utf-8?q?NtgOKZt6YzMqidbXmRVHO3pC7BrvofpFxRAgL4pXM1A4b4R3XFuwAAFG+VALeEmWA?= =?utf-8?q?lRULwt892c5UWEgfriUSroRtfbR0RzyRnIkQQBacCftcvblaZf/ppkIFHiuE0vtFc?= =?utf-8?q?6hvQlXSw0T1TtTAD5T2SG/yjetX8+8pW8YtRlGNbcoRtbxcVvmi6MJCVcsH+8pbR7?= =?utf-8?q?MiqfitHWNkxsfvOzjnc+n6txSkPTFuEi8UMKvHtbIEcUGQwsPnPqqg0L5mf2eEBHm?= =?utf-8?q?0PkqBg20nF13CY0lcc/GPsD8Ty+tQobBSMcDkjKtjSvL4r6+U8L5xTFYSJESbYq27?= =?utf-8?q?05+SE6FAiWx2nAZGlsFMVt2HRVvmrtdz5Fjo9P83w+aBdHjH1hJj5hUCqlRS1I2i/?= =?utf-8?q?6K5Z2/fb1+aM9960g2So05cZhiKrEmQquzX4dpwsgWRbNjG/gtmD+TRkrCESA97ck?= =?utf-8?q?8hzSqAv9z/gjNEE7UzBk9sWNtraF0KDqqeSfMyqZL4fcbB7ETNdilgHPbS/0w07vr?= =?utf-8?q?uNS2/x8EnlrvQ8mceq381YUl56mqEJiiNIObXUrD4CDlafb0va+NB6pzqumsYbPAN?= =?utf-8?q?nkgOUp2yyiM//Y9IH3NHkVOf0LyZxJA9nxJUKpeFW5Q5MZ923F9py/vOQNQf5ENoV?= =?utf-8?q?Rg6VAyRXl0FKIoEMWF7lA7jbViTsZlUp3oq21JIc+roBqQYVw7zkRfJzZEJW4ILr8?= =?utf-8?q?41sUibdJ1zXRSpD5OrW0pM3E7NFWPa4Oz5IPkWgGaYSbStNFtfAA/LLXFP/hRBsSI?= =?utf-8?q?oLiX1dXmfl9Z5GjlelE8Uy6Fs8wDx30AN2dfdNFZnB7o70TKEJV6gBO/CBfRa0g4q?= =?utf-8?q?TRBd0o6nlvNBy1E3iixDpnV4N2gam+aHrO+U1txos7Q15FrmtMFi3VyOhK9+LpnKG?= =?utf-8?q?kX+b7Z0OGEdr4CB+vO5GFBQWckyjPGZnEju9l1n6HPoaE9YUgURnGr227lDM2GpK+?= =?utf-8?q?MV1l9w4FoTtuV3MB/5NUo/5lioqjQNX9Rw=3D=3D?= X-OriginatorOrg: corigine.com X-MS-Exchange-CrossTenant-Network-Message-Id: 9655c312-5d24-4add-e5c0-08da7c4c992b X-MS-Exchange-CrossTenant-AuthSource: SJ0PR13MB5545.namprd13.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 12 Aug 2022 10:22:45.8620 (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: xWIiqaVyCKLbqsj2H8RosS9qxmo+5QSeg3YTctB1I/DqZcixk1wdXU3+rk01IPzLYc73PoezlMLU7qYVUeyMQI0h3Qv5T7ch3kG7ALyI94k= X-MS-Exchange-Transport-CrossTenantHeadersStamped: MN2PR13MB2624 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 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 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 | 1340 +++++++++++++++++++++++ drivers/net/nfp/flower/nfp_flower.h | 71 ++ 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 | 252 +++++ 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 | 602 ++++++++++ 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 | 51 +- drivers/net/nfp/nfp_cpp_bridge.c | 88 +- drivers/net/nfp/nfp_cpp_bridge.h | 6 +- drivers/net/nfp/nfp_ethdev.c | 357 +++--- 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, 3214 insertions(+), 284 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