From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mails.dpdk.org (mails.dpdk.org [217.70.189.124]) by inbox.dpdk.org (Postfix) with ESMTP id 096E44378F; Tue, 26 Dec 2023 03:38:12 +0100 (CET) Received: from mails.dpdk.org (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id 87B0C4029F; Tue, 26 Dec 2023 03:38:11 +0100 (CET) Received: from NAM10-MW2-obe.outbound.protection.outlook.com (mail-mw2nam10on2135.outbound.protection.outlook.com [40.107.94.135]) by mails.dpdk.org (Postfix) with ESMTP id 8EE2C40298 for ; Tue, 26 Dec 2023 03:38:09 +0100 (CET) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=CHr+cWkRh1qVc1SeP8Jg4MdjXgSkfywPohAmld9gH867QAE4zZAuslpGtoZLsnXa4VEA0ztJOHNmG9pQO672GhtfWunK+9ngql7gW40uax/u9p4HzoGYSb9JCkhrfhomNIH6g1fjdNa+uBBOZQM4owEH6ZvVze9ephk4AWtIghwssZLEIA8pZjF4mgoYRQe/435wretqRL5BsQwasP5RU3Li+ldSh2LKBqqZUtgTQSceOBbhL2yOqiiLYNU9tJ06IJrTHo+5bB+eDXqffVn0DAeCJdJd31k/LAGFiTwV3qunEywVF4MktYUo1LSYYFJg8+eQ9vlkcsEm2FZ7iXIhmA== 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=NcK5N+6MxrvKlYwUOhDLf47UKRQnUHb8NQYguxDqwzs=; b=VA3Ut++ZxRRiFZDaDldUCkIbdzgES2YwVvmu9S/cjOMGn/CMxhK4TvgQaH4UoxF9Am+j5Ja04yKYZS7bNmM/LTMcx95Tv/HHJkOBdk8iACk8gBABjtnTthNkPzkQugHY/xN2VUV1Wi+JOHo+LHEe6cdXIl8u/eIOTkFFtkTICCWqN/mDUVM5/nuvLUL8KhuuJUmfa0VYN4FgCWEU/ZvUUlg9xpZbF/2Ann2WLcxeFQfVedqS/fTY5Grh+KXfO3rEJ51b0x5dDs7GCN2lxJI2HKDoRBz6ajSQRmcggTx7D0jcK6UGJZVUN+0C4OLbyuMso1vTamsjGCHW1phXYRxUDQ== 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=NcK5N+6MxrvKlYwUOhDLf47UKRQnUHb8NQYguxDqwzs=; b=r0dCa8JXItzr3JVhwhT1qVhDRerlPZN4khoI9UO1kzFeGazWLkXXO0ah0EzGZtYwrn03Yv+jLaaG7vRs4XPCMshgBBhpy80mNgzTt3ifMSXOWgkXq+plw1kYAaoYMWGfCZPcN2Ia1I7Y/kHKPUT2m5QxPWn3mGYQO+jUxcNG0eg= 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 MW4PR13MB5864.namprd13.prod.outlook.com (2603:10b6:303:1b7::13) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7113.26; Tue, 26 Dec 2023 02:38:06 +0000 Received: from SJ0PR13MB5545.namprd13.prod.outlook.com ([fe80::45b3:d83c:cff2:4a1b]) by SJ0PR13MB5545.namprd13.prod.outlook.com ([fe80::45b3:d83c:cff2:4a1b%6]) with mapi id 15.20.7113.026; Tue, 26 Dec 2023 02:38:06 +0000 From: Chaoyong He To: dev@dpdk.org Cc: oss-drivers@corigine.com, Chaoyong He Subject: [PATCH v5 00/14] Enhance the bond framework to support offload Date: Tue, 26 Dec 2023 10:37:31 +0800 Message-Id: <20231226023745.3144143-1-chaoyong.he@corigine.com> X-Mailer: git-send-email 2.39.1 In-Reply-To: <20231018074821.1908906-1-chaoyong.he@corigine.com> References: <20231018074821.1908906-1-chaoyong.he@corigine.com> Content-Transfer-Encoding: 8bit Content-Type: text/plain X-ClientProxiedBy: SG2PR01CA0156.apcprd01.prod.exchangelabs.com (2603:1096:4:8f::36) To SJ0PR13MB5545.namprd13.prod.outlook.com (2603:10b6:a03:424::5) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: SJ0PR13MB5545:EE_|MW4PR13MB5864:EE_ X-MS-Office365-Filtering-Correlation-Id: 0513f9fe-834c-4b25-9197-08dc05bbb082 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: VpzyV/xdmyY8LnQqJxFkrtQwMyiNlc7RF0pkLc2gihVCGHVQrWIC31E6LX3ZD6i6M9pGP6Io7ye1V+R5Btcz5L9X8OXDKQ9k+HQlwiP/nsIRg6WU7RvQc/xBhLrgVxzkgwWeZKtqpM4evf7kc+7xIb3iZBQustkzJLX7aP8arUaCvPp6H4hkVVxxF0zuI7nznZ5XMSbRS1J1imZalx+ZuMrr5hndVqPg+HS4RUA1KZeYfUz2vkSwyZGe6iKrmRCiSZbYv2DRaFu6FmM3R7oYyVH6ndquyfMVNSDQ+tQOAuP6cbz5Zd8QuVkNCGYWJ4PZ3SgHZT4cnrPDKUDzstberoM1IVEopqeh5eewQrHVQEl2k0Q1JY8GjmsvVPUv7Ootvz/2Y2vAQv9Un+Ev7OyCnRBd6RbN2/qcpPTpnpEh5z4IOwDGIxOpsbNmSNmMHb3+ZR9y4ywlIhLExR6yNCw2/9VhLaIhwqqvDFYnw6OgNarJJgSMea+fRunSauw/DThw+71fxSsfVVPKN76YD1BdbyIeFZAk1sb47IDThUGHpRn7W1X3Y8LWctLeObs5r26v0zhLiSs4phs2fgPuwPBO9zOIJULK5TT2M3plLK3p7cziaTTWEPKelcQGs1fAcQ7S+3hh0D7hHoaNo5go1xoD3quENH1a/jgAo9JYHsrY79I= 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:(13230031)(39840400004)(376002)(396003)(366004)(136003)(346002)(230922051799003)(451199024)(1800799012)(64100799003)(186009)(83380400001)(41300700001)(2616005)(38100700002)(26005)(107886003)(1076003)(316002)(4326008)(8676002)(2906002)(5660300002)(44832011)(8936002)(478600001)(6512007)(6666004)(6506007)(52116002)(66476007)(66556008)(66946007)(6486002)(6916009)(38350700005)(86362001)(36756003); DIR:OUT; SFP:1102; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?us-ascii?Q?kiLv2YE0JQ8BkNOiWo+bnd9DP1M8e7Eduy/cxItYAYCSapfULuPkC7Rp8e1L?= =?us-ascii?Q?hHOVpY/Oy4jpgSpY+Uov6CeyE9+gAI4VpYLnJuXtpIn4QAVcraxSWWJ4QSFm?= =?us-ascii?Q?aUDNFEDHfQH95HF8SHSA/GdwXBmhHa0Cgfm5uJxqgNC2KlSRv+nlSO5rUcY1?= =?us-ascii?Q?nsLVzoqVpIwaXkc6ti++ZGlv4hvVHkraC1pjiGqNa7pJfP+p3GuIUtIflh5/?= =?us-ascii?Q?8g4FDcwazDxsNJzIpgnNYmaMA705nNClfieVXaHdrrDlE2hgHTyGIyz/Yi/I?= =?us-ascii?Q?K8FQPB2tPoKEBql1mZyTg1D8Uegm6hqKz4xtVFXJ2xPD1gH2AzhNC03RDlvA?= =?us-ascii?Q?L2Il9iWSZCDCcSeY0HgMiKWBLImmMfBBjQifuaerM2zAPBQWuln5v4WKaQvI?= =?us-ascii?Q?lupaP/RJUm5+VOfluAyqtFt67iguvcRtDPM9qtDot1oA6Ua7JjFFtknY5QaF?= =?us-ascii?Q?1zedlWAYEARFZSpbav9SIiJLdtv+rntS9gzW3kc4npYk31CaqjgQRRrymHKu?= =?us-ascii?Q?Y3dADcm6m4hviplaxgHssqQgY7Y82TzbVj0jbJoF01uXDLWUaYRYNhInr164?= =?us-ascii?Q?4jR3irmLfYfdTj1Vw8+quklUiDZkGzc3fgAMvj+BF7eD82lkF8eYzytEZLkg?= =?us-ascii?Q?rVlnSMu1u+ni2z5svd4KJZ9YBtf9A3zC8Tyy8u1drbyBIQwBtq6K38pQZIwN?= =?us-ascii?Q?8WXy6KDIUgHBPTDVgTF+fTJBQ4T0py+envVsoxQPj+YRs3Q6czqZQF9Q6Ad6?= =?us-ascii?Q?buq46K1XRBGHqtxHQpwvL6L4nuiyQu54SYL/zNVA0O1BMdf/boZOdmNBQgTI?= =?us-ascii?Q?QJ8HigOHaW01IazxWuZpq0Id39CYwCwV8fKFRPr+ezI9Rai9wCXNZkpUm5qm?= =?us-ascii?Q?knrQWqnaBjJem1CbHOsdaZDwnfMtd9fnNjmqm5zTWfEMns7OCMViJJapYDl7?= =?us-ascii?Q?O+x/VrKNnCi2cKqqiis+Ug30MU57fMhsosy1aW4AgAoqN7ZmEWCvmjrP/x+A?= =?us-ascii?Q?DfT70P/oKMXbNnw0g/P2ZcmBK0I/ReZ9QNADxcAjoOHxswBGMU2uGtovP/TL?= =?us-ascii?Q?PPnhDBbNVclAoAul2nFAwKQ8IEqTeVk3lLAX6AgXNKVqAZokgWQFQElKJWdm?= =?us-ascii?Q?LrFthoxKqEE+sYTUoXaBCUL0t91TV89I/gpCX1OstbZ9WcQxu5f7M6GQgm3U?= =?us-ascii?Q?aaNHlaQlJnzPenQ7Q7ELBrjvLhXg8GHQrXrlnuyqVoGJKxTq4N8ae/1GoauG?= =?us-ascii?Q?Ku73Sqo9dE0MbPbeFm0F0qZB7kIGok5Z9oT9ycFM0GKq6nW+YsvFUs0UYxLo?= =?us-ascii?Q?v6dGGVxQ1vh1Evp6IWz8XWgnhlNEajXrOle4q4ciBnLGvKW7bzEptnsGpFm5?= =?us-ascii?Q?fiRebaNOycsvmYXGK3gwTvV4e0Tn5c1+f4l4bOXp9kmXcVIsiiuZnWEtzSgT?= =?us-ascii?Q?OO7/DN4HrJpGvsn5DARulTn8kZiJI3cdiX4pQo5Eyr3AL3+eNll3pftawVQZ?= =?us-ascii?Q?BQC6RkEmbkCAgZ6e7QQLn4roVbY6yF3AUjHe34MLjpGSPuGlacUaTNAwDFP9?= =?us-ascii?Q?1yYZWl7h6/66oaNCuXfzxSbAuXfTunuYx1rtSMWdqUWa9KtEwr67FPPT0n7A?= =?us-ascii?Q?dg=3D=3D?= X-OriginatorOrg: corigine.com X-MS-Exchange-CrossTenant-Network-Message-Id: 0513f9fe-834c-4b25-9197-08dc05bbb082 X-MS-Exchange-CrossTenant-AuthSource: SJ0PR13MB5545.namprd13.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 26 Dec 2023 02:38:06.0136 (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: vTj2Jiife7dHKJZLeZ7M3lmLxr91JfEYCW7Lrq3gA+nZqyXoM/hnE69+oh/OjjSbAY7vh8cACzTQ2UfroxlgEund8wt5Ko45t5YO/d/lcQo= X-MS-Exchange-Transport-CrossTenantHeadersStamped: MW4PR13MB5864 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 patch series try to enhance the bond framework to support the offload feature better: * Add new API to make the member port can access some information of the bond port which belongs. * Add new API to get the result of whether bond port is created by the member port. * Add two command line argument to control if enable member port notification and dedicated queue features. * Add logic to support add ports which share the same PCI address into bond port. * Also modify the testpmd application to test the new APIs and logics added by this patch series. --- v2: * Fix compile error on github-robot by removing the redundancy function declaration in the header file. v3: * Use the hole in the structure for the new added flag data field. v4: * Drop two commits not necessary for this series. * Modify some logic as the review comments from reviewers. v5: * Add a new 'rte_eth_bond_flow.h' header file. * Add the patches of NFP PMD as the example of support bond flow offload. --- Long Wu (14): ethdev: add member notification for bonding port ethdev: add API to get firmware creation of bonding port net/bonding: add bonding port arguments net/bonding: support add port by data name net/bonding: support checking valid bonding port ID net/bonding: add commands for bonding port notification net/bonding: create new rte flow header file net/nfp: add bond firmware creation initialization net/nfp: reset bond configuration of firmware net/nfp: handle link event of bond firmware creation net/nfp: support bond member notification net/nfp: handle bond packets from firmware net/nfp: support getting bond firmware creation net/nfp: support offloading bond-flow .../link_bonding_poll_mode_drv_lib.rst | 18 + drivers/net/bonding/bonding_testpmd.c | 128 ++++ drivers/net/bonding/eth_bond_private.h | 24 +- drivers/net/bonding/rte_eth_bond.h | 88 +++ drivers/net/bonding/rte_eth_bond_api.c | 122 ++++ drivers/net/bonding/rte_eth_bond_args.c | 47 ++ drivers/net/bonding/rte_eth_bond_flow.c | 1 + drivers/net/bonding/rte_eth_bond_flow.h | 22 + drivers/net/bonding/rte_eth_bond_pmd.c | 94 ++- drivers/net/bonding/version.map | 5 + drivers/net/nfp/flower/nfp_flower.c | 87 ++- drivers/net/nfp/flower/nfp_flower.h | 13 + drivers/net/nfp/flower/nfp_flower_bond.c | 691 ++++++++++++++++++ drivers/net/nfp/flower/nfp_flower_bond.h | 165 +++++ drivers/net/nfp/flower/nfp_flower_cmsg.c | 35 + drivers/net/nfp/flower/nfp_flower_cmsg.h | 12 + drivers/net/nfp/flower/nfp_flower_ctrl.c | 106 ++- drivers/net/nfp/flower/nfp_flower_flow.c | 232 +++++- .../net/nfp/flower/nfp_flower_representor.c | 35 + .../net/nfp/flower/nfp_flower_representor.h | 2 + drivers/net/nfp/meson.build | 3 +- drivers/net/nfp/nfp_net_common.c | 25 + drivers/net/nfp/nfp_net_common.h | 1 - lib/ethdev/ethdev_driver.h | 38 + 24 files changed, 1951 insertions(+), 43 deletions(-) create mode 100644 drivers/net/bonding/rte_eth_bond_flow.h create mode 100644 drivers/net/nfp/flower/nfp_flower_bond.c create mode 100644 drivers/net/nfp/flower/nfp_flower_bond.h -- 2.39.1