From patchwork Sat Oct 28 06:26:51 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Chaoyong He X-Patchwork-Id: 133554 X-Patchwork-Delegate: ferruh.yigit@amd.com 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 0E44F43220; Sat, 28 Oct 2023 08:27:16 +0200 (CEST) Received: from mails.dpdk.org (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id F1A7D40291; Sat, 28 Oct 2023 08:27:15 +0200 (CEST) Received: from NAM12-BN8-obe.outbound.protection.outlook.com (mail-bn8nam12on2101.outbound.protection.outlook.com [40.107.237.101]) by mails.dpdk.org (Postfix) with ESMTP id DB06140272 for ; Sat, 28 Oct 2023 08:27:14 +0200 (CEST) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=Kd22QWUAKN1R9lrZNzxPddcVEVoG9+Q4IA3Fhsgf7PmHNVfSYAuxJbwYzPJsHYdjt4Il7irMjjwZOYMS2D3J7k7ryHHtP4q9WWCV17lxI09YRB8qqPWueE3zpCZd9+nTSUvgtB/i3MzCBwsUz4RgtCGSrC119pG84GCsSrNV4oMOe4WUfrYNGfKU1X1SGM6+lCmC7iZHduv5VIbl3dTGFybA3YI3s74QeFga92e3UXb5LkqeCIuu/yYdXoHPTTe3EniDd9AO1gceN5JRcvTBv3zEywpKQW5sJsT/QwBg/QJ6kdXYkUUFQtOvD7lNtwZsq0ShYXL55AU0nWt67sV8Tg== 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=t0NEddshJxSGfR3rtcx+h9cePKHypY6UAk7XqTNat8A=; b=Bgco9xyO7s+oyqHBcyOlj/4uwJlNn88AueSOJprW0afBBuNaob5DEyqeCyoMA+/RpraQpUF/QEEHcm9U/q2MHADPDUrCFt0g9f7vE2C4b7kD8xLQTECG+KmG6L+h/Q1mAN/fvEszrFfffwavz9ThI7GWpPq0g5OX7AJWu5KyAQPFeJmzjg9f4a/os74vY6O8PANLiKYEUNPtZoxsrc2ee64zUoaWZuFLTweaaBIm2eyX0GukWlF/xOEMhI7CXVH0/c8vWMOq4K4t776ELQTwO4gv++17e/1TTMg+Q3H9z2598U9KhdczFIAF0CgqjGQKnMjiF6PBk2Hwm2f5TO8KPg== 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=t0NEddshJxSGfR3rtcx+h9cePKHypY6UAk7XqTNat8A=; b=BLTnqXDW2hHUUOVWSjZahg4lpaKnnQcMfNnXl4uex52kGZpAdffuOXHTbHemS9s12RnMk+V1F+1xSI3v9JW0PC255GNZEWO5JDyeiXGG0GZeW4cVJeaFNxcESc0iKrysGT/Mqcth3TGXLmcfV9uJ6azzqFl1CzkHHEl+Hxkpsb8= 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 PH7PR13MB5429.namprd13.prod.outlook.com (2603:10b6:510:138::10) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6933.22; Sat, 28 Oct 2023 06:27:11 +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.6933.022; Sat, 28 Oct 2023 06:27:10 +0000 From: Chaoyong He To: dev@dpdk.org Cc: oss-drivers@corigine.com, James Hershaw , Chaoyong He Subject: [PATCH] net/nfp: reduce space reserved for layer 2 overhead Date: Sat, 28 Oct 2023 14:26:51 +0800 Message-Id: <20231028062651.1843217-1-chaoyong.he@corigine.com> X-Mailer: git-send-email 2.39.1 X-ClientProxiedBy: SJ0PR03CA0293.namprd03.prod.outlook.com (2603:10b6:a03:39e::28) To SJ0PR13MB5545.namprd13.prod.outlook.com (2603:10b6:a03:424::5) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: SJ0PR13MB5545:EE_|PH7PR13MB5429:EE_ X-MS-Office365-Filtering-Correlation-Id: c5a4c632-3704-46f9-1386-08dbd77eeaaa X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: sEAFELoKdDNLgbrsX0xJilTfRet5Ps5rRD6LAT+d1Po3wWbHzKXzue0PxdkobFSqTZDSkZtJmmljfZTOYUEVSL2ztqxROE/ELWXPxTrIkraX0zly8G60ePzAQbUzZecKBU8uEInNvlOCc4xWMni7rs+SyXnK9K//l4EkjUkq2JG5or1S6vadTQDXg6dhxeFRzz0JFMaRaMOg3RFcNGa8yGjcS/GeIWOIrj4wG3ku9fgJELJMdPbsBSJ95rj0UKPOENSA7OAAt9omc5bpRBmc8nJfVqNw0DGEf0iI9v0lfQUC3Y6NUlVmQIKMdvNPDIelAujDruGkAPI5oJnavletPTwa4brPD4iEGThzz8JckquVO33VtE4cwpfVjKxlGKwgHfTpgiNgeIY5+DT9HJ2ZrtYao0+lXtg92jlHDOuC+iCTlK7qYzzSKhEbk5G28mxG52qKKB94WXKyG14tYaikU70oTk+pC5d57l9VBe32qwx+DfvNNEMTcxJtZPOXx03RIa0Re2fN2OnkedqHAA5SYpt4cH4u31I6MtaeIC1XO//d4p6bV7PEqekef1YV2gyzzCGY+1CSyEjFAC/a+oiguLOzaEULplP0vlsbQydqdXy/OHjEzwNolIvm+zy2G2DP7AOMHxplZPo4N2gHoLvvRvFKSof6Gsh7c1ktg7q05sg= 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)(396003)(39830400003)(366004)(346002)(376002)(136003)(230922051799003)(186009)(1800799009)(451199024)(64100799003)(2906002)(38100700002)(83380400001)(1076003)(107886003)(5660300002)(2616005)(86362001)(6512007)(41300700001)(44832011)(36756003)(38350700005)(66476007)(316002)(6916009)(66946007)(54906003)(66556008)(52116002)(6666004)(6506007)(6486002)(8676002)(26005)(478600001)(4326008)(8936002); DIR:OUT; SFP:1102; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: +lmPSEdsD3wFjNUegfdFChobTobPK6R+D8kMuFKw2XWC7gQXFCkJrXxbKHwaExEMyQo15Z5VZ8MgdiR7SOPB/dUVcSYo3xPfNBmMh2B0erQJklLPXkNawqJspWbwwRRJPs9N/vZe9YljTZ0AgEzY2QtvYKU5W9bERZXud20A1+Kd80trRuZae9ihYPdcFeU0nsLFoFPbZaQEfdbTjR14QWmUs19RmJ/CO3dTUQYT+SqiDScKO6k3+KDWvxyhRGfce0mk8+Fxkfq/ugbQaRtUbVpQOvMH79IHf7br3QZJzardMGY4aBVCk21eSj/YqpCv3QQTmibbxoa+t4kxjbcqn9G1BQBKRa8spiPj4x1Zrtnrnwcw8eD6HnKv6Tu8QOI1foMkn5xco8E3mEngmoUl+FkOci29bWWcGs6HKSQcTeT5CfsN+cYBTOGhoI3EZUGqUSgAtKC+36oJpS8MTTOe38ZewazYhjFMc2GgPL9yUlYP6YXLY2+E1rWkKoeE9nusHAFg4DcDIKNVTbUBFV9QkhTvISNCKBNId02zU1QBYMNVMjsOxS1PZtgGcm08DJL+BNRg3baxJErUGXIguu9K6M8nRmFc4CFo8va1A0b+YPElY/SIHK0AtxR+tNabrE48CFsfxf8pL8e1tZU0pBBPFY7gl191qz95IRlSOI2JyBNAKKIAD7EcACdMiB/XZBGFI/QSfMGWvEmQx8mFyWysit8vJ+LgL38jMWThhPOD0e2LHXJED8UQqyfTFDd6q8jxzwo3RAYL1BY6Pgvek0LUEbPibQIxOZz15dxq0ZyHHc7ijIhOVwKfqLYGN2V03AWTfo7IEO+vWGDgKA0eM3+qc4eASiEk1tinfwWN2unN8QzxnckOpot1xketd/foSKEifrUcnDUI9G81M5PJ8c65os9HDsAe+eSPIwlr80Emib0tPhAoSUpkd1SbLJS7+B/tH/EnYTWa+C7NxkuphVpXIguSrYnajw8S4lZZgkQ2SDuiiUxzebj2BDNL5POf7vg95p6XKfi+QrjU2kaKHAqouVKTqbCuUdoEGH8X7von+YAdpg00LOAIAwMzA0zlP6+G93EhA5cBWhGkQaDrDMyGwDebZUVue7eFUcnvpD1FSyP18CrtHWbmgi+LMxs1cD/3nuZmWP8LdayIjseXZpWWiyT9Kogc8RFgax6xRDqKXFyDStjJT/bHGog6VUpjdG/rmsJQXPBIJMa6FEdl70sIpqX9CIFxZzxchkD/7bVEb0sjq+VQSryULiyBlYevYBELgVTpXGr5D0ZcNbW2pO0XqHFsUkQ01/Zd1Qs8hproh54PXwqhMCNWbxx/r7QtwXgKBi+QkXm89Lv6lxqzwMxD+yg9J+hC6MTVtxM9LFJhT+aSW5WGfJSVZWzmf3TSUKoYx5qTfCTIecEJQQDeHsRA3uUdW1rocawh9CwMpM9dLnRZisNeRcvDJ1MUHbJO6n3Fp+ilWCjJCIKCfy30MXa6C0MyBmDjB/PDyaFKBu2/mu48WO6OxZU4OIFLh9I5gvVz1TbmTyA/0GTmeX097YwFPv7TIRB0qeB7vjGtt/GN67zXTQyAjlrfIu0iN6FMG0qkUlx84C2OIxGZVBMMRJr8mQ== X-OriginatorOrg: corigine.com X-MS-Exchange-CrossTenant-Network-Message-Id: c5a4c632-3704-46f9-1386-08dbd77eeaaa X-MS-Exchange-CrossTenant-AuthSource: SJ0PR13MB5545.namprd13.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 28 Oct 2023 06:27:10.8780 (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: 9T/5Pj6enm73MBpK2aUuybUzlcx337PQdTNTqtJUGGC0FH5jwLrqMSlZLHWNqnQQ2IlYJyi9EBW98f3BGxUmi9h++e2AfhsLnPKJrJ6zq1c= X-MS-Exchange-Transport-CrossTenantHeadersStamped: PH7PR13MB5429 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 From: James Hershaw Reduce the space reserved for layer 2 overhead by defining NFP_ETH_OVERHEAD. Previously, the overhead was not explicitly defined, only the NFP_FRAME_SIZE_MAX value and the maximum layer 3 MTU was read from hardware, which is set by firmware. This resulted in a massive overhead, 516 Bytes in most cases, and while this can hold useful metadata in some cases, for the most part is not necessary. As such the overhead is explicitly defined in line with other net PMDs and the maximum frame size is calculated based on this and the layer 3 MTU read from firmware. Signed-off-by: James Hershaw Reviewed-by: Chaoyong He --- drivers/net/nfp/nfp_net_common.c | 21 +++++++++------------ 1 file changed, 9 insertions(+), 12 deletions(-) diff --git a/drivers/net/nfp/nfp_net_common.c b/drivers/net/nfp/nfp_net_common.c index ac97e3bed5..c7371ac32a 100644 --- a/drivers/net/nfp/nfp_net_common.c +++ b/drivers/net/nfp/nfp_net_common.c @@ -22,9 +22,9 @@ #define NFP_NET_LINK_DOWN_CHECK_TIMEOUT 4000 /* ms */ #define NFP_NET_LINK_UP_CHECK_TIMEOUT 1000 /* ms */ -/* Maximum supported NFP frame size (MTU + layer 2 headers) */ -#define NFP_FRAME_SIZE_MAX 10048 #define DEFAULT_FLBUF_SIZE 9216 +#define NFP_ETH_OVERHEAD \ + (RTE_ETHER_HDR_LEN + RTE_ETHER_CRC_LEN + RTE_VLAN_HLEN * 2) enum nfp_xstat_group { NFP_XSTAT_GROUP_NET, @@ -274,9 +274,9 @@ nfp_net_configure(struct rte_eth_dev *dev) } /* Checking MTU set */ - if (rxmode->mtu > NFP_FRAME_SIZE_MAX) { - PMD_DRV_LOG(ERR, "MTU (%u) larger than NFP_FRAME_SIZE_MAX (%u)", - rxmode->mtu, NFP_FRAME_SIZE_MAX); + if (rxmode->mtu > hw->max_mtu + NFP_ETH_OVERHEAD) { + PMD_DRV_LOG(ERR, "MTU (%u) larger than the maximum possible frame size (%u)", + rxmode->mtu, hw->max_mtu + NFP_ETH_OVERHEAD); return -ERANGE; } @@ -1023,16 +1023,13 @@ nfp_net_infos_get(struct rte_eth_dev *dev, struct rte_eth_dev_info *dev_info) dev_info->max_rx_queues = (uint16_t)hw->max_rx_queues; dev_info->max_tx_queues = (uint16_t)hw->max_tx_queues; dev_info->min_rx_bufsize = RTE_ETHER_MIN_MTU; - - /** - * The maximum rx packet length (max_rx_pktlen) is set to the - * maximum supported frame size that the NFP can handle. This - * includes layer 2 headers, CRC and other metadata that can - * optionally be used. + /* + * The maximum rx packet length is set to the maximum layer 3 MTU, + * plus layer 2, CRC and VLAN headers. * The maximum layer 3 MTU (max_mtu) is read from hardware, * which was set by the firmware loaded onto the card. */ - dev_info->max_rx_pktlen = NFP_FRAME_SIZE_MAX; + dev_info->max_rx_pktlen = hw->max_mtu + NFP_ETH_OVERHEAD; dev_info->max_mtu = hw->max_mtu; dev_info->min_mtu = RTE_ETHER_MIN_MTU; /* Next should change when PF support is implemented */