From patchwork Wed May 11 01:15:53 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: Nole Zhang X-Patchwork-Id: 111005 X-Patchwork-Delegate: andrew.rybchenko@oktetlabs.ru 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 C0DE6A0032; Wed, 11 May 2022 03:16:22 +0200 (CEST) Received: from [217.70.189.124] (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id 5C1F8406B4; Wed, 11 May 2022 03:16:22 +0200 (CEST) Received: from NAM12-MW2-obe.outbound.protection.outlook.com (mail-mw2nam12on2118.outbound.protection.outlook.com [40.107.244.118]) by mails.dpdk.org (Postfix) with ESMTP id 3D8CF4067E; Wed, 11 May 2022 03:16:20 +0200 (CEST) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=ga/NBO/RTESVHyKsGrLje82fJ2seLZCEbU2EbZrMSNfyUsixYonq3Z/zJRz1r4tbuIbQ84lzy43INyNRP8ZM7mCYtjSa8b/en2Sq9grCPLO+G7G0H+Av7EEEvaQoaEv14gj6pAa//nekOGPgC8TlJz4hsTnkJgIWMRwm3sCu753+nN8gld+v3Ki6U4Op3STMiNoIUQkGy/Pizcj712DVp4m4Z2+2tIa/rZhj3WJJeJPCJV/cbi7TGhU5lByE1ztU+xjzM/hoUefDDQpTwdJjwHUSfKo0IUj0QUUpamFB9LI0Ve8S/T/QSDopEBaOxJ0krrvaPo3bpIqFrkaoZGxWuA== 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=MQRqiL2/UI5EafJYGVgph9Hphbh2/56nBPKb9TNiEkY=; b=kH5ReqVVw1rnqw8u0gQoLIUSigCxhepYf6YWqFNu0oaX2nfepcDW45KVXWEyjL9EI86ZUTje+Du8x8YJ/aXyqfi9d7YWpV+Gc6CLoEQhXL8tjmlqGRXI/Qv8qsIbkc8Ziwns+9pvyBEQH804bjnn7pFR4Cbgxt/3guq5/weZnFpSJqVuTtMVMRIu32Fv2zgfCQc8gZy7CpvIxAFiS//zPqqlskHqcZkKC6UCftXtC6AL17S+/86vbAZGfA2wR0CSJ7gZO1iYxxr0XUzre1eNu/TTPiFFUuDuCqHfF/lY6uDNepkSnNd5qkIpmBDdXUrNuFucbyVbHcHJVi+MZ6MQlQ== 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=MQRqiL2/UI5EafJYGVgph9Hphbh2/56nBPKb9TNiEkY=; b=V4G8UblLXDQfa+jvymZvhtjheTG90Urt7yWcLjA8UJmG4RbY28fKVR4vlMPUwN+vJoG4dJ8GGVUIBgyZBCPzW+JkYm/D40RfEmyv7H1DKf8H8VymDCDWpLAH/Isg7klSVci5xgMhpsteTvnMwL1STt+2rZkCeKY0WbrDDyaNMCI= Authentication-Results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=corigine.com; Received: from DM5PR1301MB1994.namprd13.prod.outlook.com (2603:10b6:4:2d::36) by PH7PR13MB5933.namprd13.prod.outlook.com (2603:10b6:510:152::12) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5250.12; Wed, 11 May 2022 01:16:16 +0000 Received: from DM5PR1301MB1994.namprd13.prod.outlook.com ([fe80::ecb7:bb70:9e83:d660]) by DM5PR1301MB1994.namprd13.prod.outlook.com ([fe80::ecb7:bb70:9e83:d660%5]) with mapi id 15.20.5250.012; Wed, 11 May 2022 01:16:16 +0000 From: Peng Zhang To: dev@dpdk.org Cc: niklas.soderlund@corigine.com, Peng Zhang , stable@dpdk.org, Chaoyong He , Louis Peens , Walter Heymans Subject: [PATCH v4] net/nfp: make sure MTU is never larger than mbufsize Date: Wed, 11 May 2022 03:15:53 +0200 Message-Id: <20220511011553.2905582-1-peng.zhang@corigine.com> X-Mailer: git-send-email 2.27.0 In-Reply-To: <20220330031751.119830-1-peng.zhang@corigine.com> References: <20220330031751.119830-1-peng.zhang@corigine.com> X-ClientProxiedBy: LO4P123CA0092.GBRP123.PROD.OUTLOOK.COM (2603:10a6:600:191::7) To DM5PR1301MB1994.namprd13.prod.outlook.com (2603:10b6:4:2d::36) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: 16c8709d-f65e-4ff5-4a88-08da32ebd87f X-MS-TrafficTypeDiagnostic: PH7PR13MB5933:EE_ X-Microsoft-Antispam-PRVS: X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: tXtiLE+a/gs7xlkNEWZ6ZCLsSMtxqWNJFnffOhoKTWCUydXh9+67UcV/IPQFEKZaeeN0QPa6D98biGxsquGaSfxkPW9PZSp8BRluXnWPbKkKVGQv29CyqfRXe4FYff4JAmBOsQ7Isyucqol/uZt4+6OXLDk1TKYEHwkXe1OXNSon2Gx3fnZFdEMCYtp0CPfn5ReFqYM2A/5dLlp4Vt85L+BlA8y0NLJh1w6HOBHo0juWgGIl2AdUh0E/8AL9eTBAlLqqFCiOzgFQX47CqDVnTxpNeYRj0z8ZTeTR5r3Xofn0W6pMR0tT28MnRthciIZemK5kotwRU7DOckACSnNQ6pXgnJJUUB+CimEUKmTUej2e+gb/+dzXuVOcXuCSIhpheQm7FPzz4vO59tQpB4O+GVccocxTgGtAIdsSVPii6o5EN+IC5NUyXRMxY1YDTMqHU79XXr4PGRcl+um4XBs8yyg3xrb5vz5Y93NO61HQdP12vMq1FEtiW9ZGvUIJZOfDEhIJPnPebgaeNnig2PgmxJ1iLgT0UcH7hibXDam5AiGgcc92OaJklZO4M8G/tClbH8QxvUTV+fK6cbmUNyX3yEsad83RUyI6QMkRPwI2/nfETnc1XyeJrhUcsMoaChnLmx4PpSjVkK+bU+dJyizo6IlQhLxOH2vATWBkKDG5LyF56LeWblyat5289JfIoFb486KYAZZeW5RpYQzmEUc5ZlATzorZ7oRCWexPNK8vARw= X-Forefront-Antispam-Report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:DM5PR1301MB1994.namprd13.prod.outlook.com; PTR:; CAT:NONE; SFS:(13230001)(346002)(39840400004)(366004)(136003)(376002)(396003)(66946007)(186003)(66574015)(38100700002)(36756003)(450100002)(66476007)(44832011)(8936002)(66556008)(6512007)(26005)(83380400001)(5660300002)(2616005)(4326008)(8676002)(1076003)(107886003)(6506007)(54906003)(6916009)(38350700002)(86362001)(508600001)(52116002)(6486002)(2906002)(6666004)(316002)(168963002); DIR:OUT; SFP:1102; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?utf-8?q?6raE3HQcLNZJUHsoao0+K097SczY?= =?utf-8?q?AOV9B7y5E56jFM4Md3tEdCBOchSPHKxmPow9kcuQgAJvzCelJn3VHYEDT1PcVZh+B?= =?utf-8?q?vuJVwWnJcUoX7hO1Nu28YD+ALvWyMZoD6W1zXtyQr673MBfkJjyfS72bcNX2Pn2+y?= =?utf-8?q?DrD1Du5bl/9OGeQYIvAhpa9xn4WjLT3b3OFNb4SjuyAJDwtjTq2aEa1oWWk4EKuey?= =?utf-8?q?k4c+k6GPyiatPos8gFnD1W0rIQ0Qkq27Wj1ahrQVZ5JBM636FvbkkL563hwvubYio?= =?utf-8?q?MlCyqQDnvfdPRwfBdnLsWOzEIXkUQ8BlCoUhZ1Wz+DV1EaMDu247HCmcIqLFLGmz7?= =?utf-8?q?gI3fzPIvLWFzX7JKjigW207ETz/Z5JuRnauth5XyZPDrDakEcUCFoX7T4opU0mU2m?= =?utf-8?q?LRLVoeZHnWzm7PqJn0ZxUpZ5V+UKQ7Zw2aQl+IrwhNunkCwveg6zFluhUzNUDlVwH?= =?utf-8?q?zouF7GvY++4cfXi8NG+Ip56isxpQn0Y0mkN6rfH2u4OJ0CzY8u6ewJXUYM8lqPOkN?= =?utf-8?q?WKYOenWGMDdp43/nWWPO6z4YGKH5DbSi774AXaOmHJFVyHzbChi0UQ4y65ixC+qDF?= =?utf-8?q?PIRF+o7Dtx9qNUXV/3kHp7qmrlXflSMNbxXMIxz7ikQssesmQiVJ1BAsuiWSxOsQF?= =?utf-8?q?je4kvdd0XHhCzaZMDNYPNZtJmtsV4O2S1xfzFTAvJWCfi/4bEpHCU/Hb9D7J0rrN2?= =?utf-8?q?csaqXRpema7CQzUaVvcQJ1Kt4aQmyNk4Zg1/ZsId9RZeEhjlMQ3xiTDlVbDJeQJjf?= =?utf-8?q?V4R17+AhXQCP++5ischjSFzVBve3KXoUMl9y/ErEE1qHmJD9PyMAhKygkSSG0hCWL?= =?utf-8?q?HUGNzdCdVwWGRA/J4bLMNHgeAW5wG3oNQQ/jbdG3j49GdcKXs60/U2O2i6xEZCfi+?= =?utf-8?q?psTvMc7ZqmVk4QQyI0QNGpSDqH7WH42Wj9RLxSI8WkJ/S2jJTe08oUGYG6f/sEo8S?= =?utf-8?q?ICGReBQZQFd9z6cN4ol05cTlkbsKe1PsZFWRVYymAMXT68vV/X5hwVLmQrUVszSyf?= =?utf-8?q?xAurss901e6629S/9XbFFwYlOoskZI1+MyvDNpzW4TlKJBGDZXT4SI7WFylcnWOiz?= =?utf-8?q?Xn2Y78UP3aKdvYOtD89mzLNebZU11Pii5zRMkYZ3iVxyQanIXjEilpqs6ootAFjBA?= =?utf-8?q?JNYaj5DSxvaAFz3IPX5EBNw2Zph0Ntibe9KlGshVjT1KXwZXa10tDwcx3+yann/Am?= =?utf-8?q?IS0mpv391yw+9RG5m6OK8t2N4oMKtiuA75DXNNq9g0qBVQx9e6W645IUsIYDvZVq5?= =?utf-8?q?iP4lxLfBerNInRe6FoPehr4fOhZ74G3pmz/sJv4rrRPXZ6go2w6d+uGXO6Fjbr/Bo?= =?utf-8?q?qoikG+30exsnCDz58kc07eAwOpGWyHYnrno5pzJ3qkjgUP8NYOeLMe62MgsnfbvHy?= =?utf-8?q?QogPv7Yy2YEjEdrN1t0elwQAcxv2w+YzeiXl1jJpTqjkN/dglWqkC2lb111EZfrek?= =?utf-8?q?OSx7jW/kADr5gdiwyN0zBednHKl4z8Ga+Iz6eGna2LWoT8lYZNJKhDNg2HVYS+dnI?= =?utf-8?q?a45UsJFZ4ZYhiDpYg3c5mDh/Zoyx5otANCSHqY8MawNs2WJF0ppAfazjDmaYtunQq?= =?utf-8?q?LWmQo2ylzItuJ3SUVHVGovZ227IWnh3jt16Iuk4gBxiiQUSmJIC8WtaXsczVS6694?= =?utf-8?q?9JdQe65kbyojHd3qKdQgIDquO6sBxOYpyotM2hAH0iWVlaSwkR+LQ=3D?= X-OriginatorOrg: corigine.com X-MS-Exchange-CrossTenant-Network-Message-Id: 16c8709d-f65e-4ff5-4a88-08da32ebd87f X-MS-Exchange-CrossTenant-AuthSource: DM5PR1301MB1994.namprd13.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 11 May 2022 01:16:16.4145 (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: 0eR61hNuOfjJERPnR3LbqWG+6z+tG2Ac8Vn3a6G9tk7i5zlxNtG3gpevIrh1veviE477B3p3HY6+1TdFT2Otkg== X-MS-Exchange-Transport-CrossTenantHeadersStamped: PH7PR13MB5933 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 Setting a MTU larger than mbufsize is not supported by the device but not prohibited by the driver. This change adds a restriction to the driver to prevent setting an MTU that is too large. While at it define the minimum MTU in the device information to describe the complete supported MTU range. Fixes: d4a27a3 ("nfp: add basic features") Cc: stable@dpdk.org Signed-off-by: Peng Zhang Signed-off-by: Chaoyong He Signed-off-by: Louis Peens Signed-off-by: Niklas Söderlund Reviewed-by: Walter Heymans ------ Depends-on: patch-109914 ("net/nfp: update how MAX MTU is read") Reviewed-by: Andrew Rybchenko --- drivers/net/nfp/nfp_common.c | 15 +++++++++++++++ 1 file changed, 15 insertions(+) diff --git a/drivers/net/nfp/nfp_common.c b/drivers/net/nfp/nfp_common.c index 52fbda1a79..be68c25fb8 100644 --- a/drivers/net/nfp/nfp_common.c +++ b/drivers/net/nfp/nfp_common.c @@ -176,6 +176,13 @@ nfp_net_configure(struct rte_eth_dev *dev) return -EINVAL; } + /* Checking MTU set */ + if (rxmode->mtu > hw->flbufsz) { + PMD_INIT_LOG(INFO, "MTU (%u) larger then current mbufsize (%u) not supported", + rxmode->mtu, hw->flbufsz); + return -ERANGE; + } + return 0; } @@ -702,6 +709,7 @@ nfp_net_infos_get(struct rte_eth_dev *dev, struct rte_eth_dev_info *dev_info) */ dev_info->max_rx_pktlen = NFP_FRAME_SIZE_MAX; dev_info->max_mtu = hw->max_mtu; + dev_info->min_mtu = RTE_ETHER_MIN_MTU; /* Next should change when PF support is implemented */ dev_info->max_mac_addrs = 1; @@ -961,6 +969,13 @@ nfp_net_dev_mtu_set(struct rte_eth_dev *dev, uint16_t mtu) return -EBUSY; } + /* MTU larger then current mbufsize not supported */ + if (mtu > hw->flbufsz) { + PMD_DRV_LOG(ERR, "MTU (%u) larger then current mbufsize (%u) not supported", + mtu, hw->flbufsz); + return -ERANGE; + } + /* writing to configuration space */ nn_cfg_writel(hw, NFP_NET_CFG_MTU, mtu);