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 92CB2A0552 for ; Thu, 17 Nov 2022 15:27:04 +0100 (CET) Received: from mails.dpdk.org (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id 6D36640DDC; Thu, 17 Nov 2022 15:27:04 +0100 (CET) Received: from NAM11-CO1-obe.outbound.protection.outlook.com (mail-co1nam11on2106.outbound.protection.outlook.com [40.107.220.106]) by mails.dpdk.org (Postfix) with ESMTP id D0AB440DDA for ; Thu, 17 Nov 2022 15:27:02 +0100 (CET) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=U2BAihXl+3y3vapiOF3mrYJtL1icGUHrlvT8fnQ7vz+0TIfUHWmrUHG2LGZKUV2Kawm+6MtK22+v1n3ilmDCdPRvnYn3xU4KMQEN5Wt/Ax0Afc6u8TSSj926bvuXFUewys8CDMaSfxElBro63zstfpMOqIkdbo+ke8MSK0Ed2/j3jcIL7/zrfw8IjClv3PIzOp5ewcCZT5to0dTkOkQZyykuHD+b/3WINPDfXI47SCSSfHkEPJBaNnkioOLgWz63Su73p8WJy5EnqQhNXhdJz/j7TZ7eaxELpm6wqyRGk2jb8gG6sZY2yCoQaVE31yYtxHnbmhIdkQQvnvtHAvF+pg== 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=oKfBir0IYPaPqKFjnCouCY4UcUQ8MQtLuOsLHimUwTk=; b=B7yhJHz0v5rpjTHYsXCnrf+UQ+rxWajLIHYlhxrpyE5cPiqxD4gvafKf/TD1XERh/qKtOnKAWHkfU8QbUxqCUENAxvGSeRdd1FP+5BVXo35oVn4N2u9ySnnwyVREDywrwrDlCdoJRebooGOUwHfUsDeEDuMHnWtpwMl/s2i+PZ03LG4/dCD2JYAHfSQuuW1rDGJob1etZb986AeyLHIeeAwIw5oqsvzSaaa7G4qVMr8241XAlNEJn5IlGD1sv/Ka7E+Y3KAOQMSxgwdOBqMjRse9JEY4fkSzkqpObENC2nMhfyaVYIb5tmObNb6Eck5fKzO9eWzKdGZ16o85Q+WSUg== 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=oKfBir0IYPaPqKFjnCouCY4UcUQ8MQtLuOsLHimUwTk=; b=tljuOcke4AHyZEJ3nPIp3NmMZryhLaCAKyn1k03JZsP5yPVZAVY150J6Su5Sd/MP01e8lMtS2gAPHCCwuCMC2eoGS6tqMMa75vClpKj/38ORZaxYXayFXD+L7fRTnH8flYLjbiTwuns6bGIgKsBTtb6o4UuijTlysmhux2IoNvk= Authentication-Results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=corigine.com; Received: from SJ0PR13MB6037.namprd13.prod.outlook.com (2603:10b6:a03:3e2::9) by MW5PR13MB5463.namprd13.prod.outlook.com (2603:10b6:303:196::20) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5813.20; Thu, 17 Nov 2022 14:26:57 +0000 Received: from SJ0PR13MB6037.namprd13.prod.outlook.com ([fe80::9d7f:1fa0:af36:e57a]) by SJ0PR13MB6037.namprd13.prod.outlook.com ([fe80::9d7f:1fa0:af36:e57a%7]) with mapi id 15.20.5813.018; Thu, 17 Nov 2022 14:26:56 +0000 From: =?UTF-8?q?Niklas=20S=C3=B6derlund?= To: stable@dpdk.org Cc: oss-drivers@corigine.com, Peng Zhang , Chaoyong He , =?UTF-8?q?Niklas=20S=C3=B6derlund?= Subject: [PATCH 19.11] net/nfp: fix internal buffer size and MTU check Date: Thu, 17 Nov 2022 15:25:24 +0100 Message-Id: <20221117142524.3144353-1-niklas.soderlund@corigine.com> X-Mailer: git-send-email 2.38.1 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-ClientProxiedBy: AM5PR04CA0034.eurprd04.prod.outlook.com (2603:10a6:206:1::47) To SJ0PR13MB6037.namprd13.prod.outlook.com (2603:10b6:a03:3e2::9) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: SJ0PR13MB6037:EE_|MW5PR13MB5463:EE_ X-MS-Office365-Filtering-Correlation-Id: 7b575707-4cc2-4719-6d45-08dac8a7c7dd X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: vdE0yMb4WH0lserAqg1uYUn2cyn4sr/G2lGDvCJt6T0uQrUIBFuRrCEYwckgoD3f+WvcwIE3O9EGjTcN7gKkWblppQCAMXqcE09h7hSsCiJ1QmMRUpYuL75NPDeSNrO3KZmUO/nRGeFyCnx6Dq1XUxTFmdVe9t6B2oCha09R8XIDjEIkhinyNkT0EBVv6sTeYttdNl4Cg6WY+/Tq4XtSjwxC3jtShApAyfALeavaLqX/MqMwxg1WJV2gerd47e0hSb6V0lLjarjGwy2bd1l2eFSIaCCqFYLkhLaeqk47ZXI9dwGpyT+zqt+MkVavfGrL0xECihawozKG+FH9eVE21lA6Vfh8X012wvn+MW4CMD21/9eY3Z77/Uwo/irD2ZLzslwzmb4ghMh2m56YXFFo0d+I2yIG6jBRbrjFzp4LKNC6rY5a41Hkvqa+3SYAZEoQJDgHQIN1dJ5cCb+2hfRey68HjX1rBzbEuR19Z6n93KBMkWmw3TdY4x8Cu91eHjr1VTUJhWOG/CIrfcdQzeNJv4TpCNHRhtyOLSLYCFWL2bkcd74acI5DaREziQ3//DpDGh+m8Az4y39Ya/OTBPtJ6gbV09eHc661vSH6jXqZwIKRTDASZAE9S6aIxsvcqtZcf/GtvTJjCToyUTEDOznnGrxXGxBbiiCKKuTUe+bRTjxjieZIaAwiBaQjcaCjG3tS X-Forefront-Antispam-Report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:SJ0PR13MB6037.namprd13.prod.outlook.com; PTR:; CAT:NONE; SFS:(13230022)(4636009)(376002)(396003)(366004)(346002)(39840400004)(136003)(451199015)(38350700002)(38100700002)(66946007)(2906002)(4326008)(8936002)(86362001)(83380400001)(316002)(1076003)(6916009)(54906003)(66574015)(186003)(2616005)(36756003)(6486002)(478600001)(66556008)(66476007)(8676002)(41300700001)(107886003)(5660300002)(6506007)(52116002)(26005)(6666004)(6512007); DIR:OUT; SFP:1102; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?utf-8?B?TUNZNjZUdHI0dXlVQ2l6MzRFWXRST3ZkVitPZmtTRjZjU3NmUG9ZL3RBS0JQ?= =?utf-8?B?L1RGbXY4Yk1VTVllL3RVdmR1V1ZIN3FSdU1aMU1sa2dReUZaNFhaMXdUYVkz?= =?utf-8?B?MUVWRzNUWXJKb1VXdzlkKzl3R0lUOEN4bW9rWlQ0U1grdmN0cEowQm9jTUxR?= =?utf-8?B?c2p3ZjhmTm1KNjFKa21wZUxkN3hqUVAvZXJkWXRlL1JOemo2Q29ORlM1bEpO?= =?utf-8?B?bDYxOGYwVWFySDVCUWFmblVHOEoyVFNUV1N6M3kvaDkvM091cHcwVmh2Q0FO?= =?utf-8?B?clMzdUJzWVVDNTFqMWs2YURDcFE4RW55MVJxemVhR0xyKy96L3Y4T3QraVZJ?= =?utf-8?B?ZjV1UmpodllEeWVTSmU4M2FEZlpRUXZBNnpBa1RIc09HZm9QdWVPSUZMd3J1?= =?utf-8?B?dklpQ3o4azhUd1BWdCs5ZDdlbnR2VGVMSUlzQ1UrZHRORG9iR3pDbUZKdDNL?= =?utf-8?B?VnAxWG12VjZsaTVoZ3dEOGhURmhpVHlwdDc0TWtqMGJ4dDRYWWxJanBMVHJz?= =?utf-8?B?MkkxNEpSbEcyTmNCd2tGV1Bod2tQZ2RUdDNWczVabFJPc055b21QOVBwSnU1?= =?utf-8?B?M3Z5TGZtTm9QbDRCVGVGTUh5dzNQdGoxRWNMd0F0aExQWTR1eXVHaWhaQkp0?= =?utf-8?B?MXJYbVNJS255MDZ6cXBWSnJ1WDNuUkdTcEdxQ2hRMVg0WkVoRWtHd2JVOTZ3?= =?utf-8?B?RkZjYWkxMHZubi9MM3VSYmZkSERud2NTdStuZHcyNW82VFhaUUZ3SlRRcVgw?= =?utf-8?B?UWlpVkYyaWphMXVONDNsZG9QQUgwQ2RDVGFIbE1ndlpDVHo5dHpDZHBxMjBv?= =?utf-8?B?UG9hWjBtMDZSRmQrN3YxYTFtTXZGak1HeTZCUW8rVzg1VHhwUkN1aFJzUXBB?= =?utf-8?B?QVl6OXJURW4vQWliaTNYK3p1RjdWWnlQSXdnMGtkN1l1cHFOY09qNEJiRHNK?= =?utf-8?B?N2tXdWpPTGVkWElRU21RSCswVm5qNE4yaHJydHdqeVpUM2syYmpnbmpZcFlL?= =?utf-8?B?SWRTczRWcGNYb1JIOWJiancvOVE5SnM4akFLNkhCYlJ5SlBCWERLZHJ4eXZp?= =?utf-8?B?dExybDRTZXBhWm5jRDhPVlFiZFdPNFdjblNlRlhra3RCK05ta1QxVmFQK1NS?= =?utf-8?B?SGR3S3VScUVWUjlxRGtGL2M4eUhOUzRRWDc5S3BFZ3B6cGtBL2hBNFAySW1O?= =?utf-8?B?STVtT3dMT2lyWDRuTWR2YVVYMVdKT0J1aWxFR2c2R1FxYmVncU1NcWlVNWZR?= =?utf-8?B?Ykt6aUQva0hIblJxUStmZFBwL3JBdkJ5MWJ5Z0VqeHR2MDltRk50MEwvd3N4?= =?utf-8?B?R0xqc0Z6cXhTK290b2NMMEkzM1RCU2k1aENpd0FsUFVOcXEzbEMyV056WTl2?= =?utf-8?B?S2tMZW9pemlEblpaZ2phV2IxNnpiQ1djdmZYQnc5TUp5WGlPbkVLcy9GZC9H?= =?utf-8?B?eFBqeWdaelFhMlVPWjJZSGdIbnFzQlZrdVRHZG53bG9hN2F0bTgzUDdiOEQ2?= =?utf-8?B?T3pING5WRks2WFp4bzA4TUdYNGRWZDRmNHRrYktTNEczaStIeE51U3dQdVl5?= =?utf-8?B?ZXVBTG5zamg5MFAwam0xL1R6bnhMZmFOdEdXNFhNN0NlK2tvZ1RiaVZFU3dN?= =?utf-8?B?TlBsbVoxS3h6bk1lVjVoSDJwaWV0QjBqTGdNSnhRWWVtVFBadCs2d01XcmI2?= =?utf-8?B?VUxMVmpOM0p6TnpJSnhLeiszbllyTVkzWUl5a2huTlc2K05wR2RiVW4wR0lT?= =?utf-8?B?NERCS3RGODFMSnV0NzU2QVhvYXFCajRkbDI4NmsvN1JSM0l2R3RrOXlnZ2dl?= =?utf-8?B?ZyszWndoQWdWRVphRzBKVXh0N0lBYkdmbjF3TWY1Q3hrY2F6N3FKOHptS0ho?= =?utf-8?B?QzlFRElqcnJrQjVwaHo1a1VtV3BrdmZUZnZFS2U3Y3U5WlRuYllpZlpPcFRa?= =?utf-8?B?WVlVWU9zdE1CNUVFK29IS3QyOFo1cmcxSXM0M1M4djJzNVpCZlNEc0xyNHIz?= =?utf-8?B?TVc4Zy9OOU1XdFgwY1poU21xNUJkZTlkWnFBRWJ6TlFGS0w0cVFDZjM3NTJW?= =?utf-8?B?SlQ0aEZZcitMWk5xWHpBa3ZieVEzK2ZHVUl0WEdTTnd6b0RxQzJNKzFrNUVp?= =?utf-8?B?SThmZTFQb2NpNkg1bnZOMWE1WXJtTEVHcWxjRXZWZmNGVkFkMXRCNDNEelp1?= =?utf-8?B?N3c9PQ==?= X-OriginatorOrg: corigine.com X-MS-Exchange-CrossTenant-Network-Message-Id: 7b575707-4cc2-4719-6d45-08dac8a7c7dd X-MS-Exchange-CrossTenant-AuthSource: SJ0PR13MB6037.namprd13.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 17 Nov 2022 14:26:56.7585 (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: BNnFqQTjzR9yax9OK09oC/6SKPuHJv6NXxxgoa26lzt7zFqglUisyHSZhAO8rcdyj4JfsvVzp0mVhpECQM6/cs/Zpi0vLlkXqQv0XEAHTPU= X-MS-Exchange-Transport-CrossTenantHeadersStamped: MW5PR13MB5463 X-BeenThere: stable@dpdk.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: patches for DPDK stable branches List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: stable-bounces@dpdk.org From: Peng Zhang [ upstream commit dbad6f64f9210afc50566a87f0e25f925c3b0f90 ] When MTU is bigger than hw->flbufsz, it can't work. hw->flbufsz is set in the nfp_net_rx_queue_setup(). At first, in the nfp_net_configure(), the hw->flbufsz isn't set the value, it just judge the initialized value and MTU, it is unreasonable. Now, it just check the MTU can't be more than the NFP_FRAME_SIZE_MAX in the nfp_net_configure(), when hw->flbufsz is set the value, in the nfp_net_start(), judge the hw->flbufsz and MTU. Fixes: 5c305e218f15 ("net/nfp: fix initialization") Signed-off-by: Peng Zhang Reviewed-by: Chaoyong He Reviewed-by: Niklas Söderlund Signed-off-by: Niklas Söderlund --- drivers/net/nfp/nfp_net.c | 15 ++++++++++++++- drivers/net/nfp/nfp_net_pmd.h | 3 +++ 2 files changed, 17 insertions(+), 1 deletion(-) diff --git a/drivers/net/nfp/nfp_net.c b/drivers/net/nfp/nfp_net.c index f427fad4875f..76222ca5affd 100644 --- a/drivers/net/nfp/nfp_net.c +++ b/drivers/net/nfp/nfp_net.c @@ -397,6 +397,13 @@ nfp_net_configure(struct rte_eth_dev *dev) return -EINVAL; } + /* Checking MTU set */ + if (rxmode->max_rx_pkt_len > NFP_FRAME_SIZE_MAX) { + PMD_INIT_LOG(ERR, "max_rx_pkt_len (%u) larger than NFP_FRAME_SIZE_MAX (%u) not supported", + rxmode->max_rx_pkt_len, NFP_FRAME_SIZE_MAX); + return -ERANGE; + } + return 0; } @@ -718,6 +725,13 @@ nfp_net_start(struct rte_eth_dev *dev) update = NFP_NET_CFG_UPDATE_MSIX; } + /* Checking MTU set */ + if (dev->data->mtu > hw->flbufsz) { + PMD_INIT_LOG(ERR, "MTU (%u) can't be larger than the current NFP_FRAME_SIZE (%u)", + dev->data->mtu, hw->flbufsz); + return -ERANGE; + } + rte_intr_enable(intr_handle); new_ctrl = nfp_check_offloads(dev); @@ -2922,7 +2936,6 @@ nfp_net_init(struct rte_eth_dev *eth_dev) hw->cap = nn_cfg_readl(hw, NFP_NET_CFG_CAP); hw->max_mtu = nn_cfg_readl(hw, NFP_NET_CFG_MAX_MTU); hw->mtu = RTE_ETHER_MTU; - hw->flbufsz = RTE_ETHER_MTU; /* VLAN insertion is incompatible with LSOv2 */ if (hw->cap & NFP_NET_CFG_CTRL_LSO2) diff --git a/drivers/net/nfp/nfp_net_pmd.h b/drivers/net/nfp/nfp_net_pmd.h index 42ab369cff46..2331967a11bd 100644 --- a/drivers/net/nfp/nfp_net_pmd.h +++ b/drivers/net/nfp/nfp_net_pmd.h @@ -102,6 +102,9 @@ struct nfp_net_adapter; #define NFD_CFG_MINOR_VERSION(x) (((x) & 0xff) << 0) #define NFD_CFG_MINOR_VERSION_of(x) (((x) >> 0) & 0xff) +/* Maximum supported NFP frame size (MTU + layer 2 headers) */ +#define NFP_FRAME_SIZE_MAX 10048 + #include #include -- 2.38.1