From patchwork Wed May 25 00:40:20 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Pankaj Gupta X-Patchwork-Id: 111761 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 9EC28A0545; Wed, 25 May 2022 02:40:53 +0200 (CEST) Received: from [217.70.189.124] (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id 3ED2C40146; Wed, 25 May 2022 02:40:53 +0200 (CEST) Received: from NAM10-DM6-obe.outbound.protection.outlook.com (mail-dm6nam10on2046.outbound.protection.outlook.com [40.107.93.46]) by mails.dpdk.org (Postfix) with ESMTP id 4CEA1400D6 for ; Wed, 25 May 2022 02:40:52 +0200 (CEST) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=CNTRlbokAY7p2oq0BsDvv8Q3Duzc3WAL6ZNfvn8emAyIiRbk1h5GrJMvtkLgMu6MyqLd3fQuubQDmto9KrFdbz4cMk9ERfOklczLarjDkAbbJgjxHlLYyD9O762wfeJ0xNpzjfNruiws9b/KeHK1JKE4f6txNrNIKy2Ms8WQ+78oZ+GvxRCF9AQdSWPsGDG10d6gTzAGpI6/qs4spMt7TfxhZEtBEQCIwugzYYXoYkAXDgX4VzJYPvElSK956Kx8yaS/kFXAKh6kM9jQVKE1GM+TY5Vzh+ZSR8HYYlUOT+lrB4YY7QTvxZ/rQeqjxarRAFRCzXSx5V3yPlaLPeWzow== 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=OECTfZpwkwFDMtfNxbjnAQlsRJWyUMTToXXq+Zo0Vkk=; b=hpHTFMnkJLnAtUptEPW7uNZzXspo6uWvYv1sS0mhQ2NiUzFlcaCviKQPBDsMkhZyLlz+r/GNBViXQt5wjujMINrG8cAkgiUm+SF0CNWzWGX+I/FlPITPWBDVw7/snXfadbMIR3I8W98R/9amY0UV4933HHxZtMSDBh3onro0XS77epz5oQ2SgQM9bnt9+8AcCJieSHdrznxI/i0v554UBHoqGe4qusFr2Pn5l4gMZ/5Y+av67A1UoZ2EAL0cOcY9wmjHxCxJrj069QIPp42oqPDkd4x8MGNETDXa+omFbmWDMZ6/EWwpDga7Nqqwj2oUi1cq6jgmv52Pug3DGUpC6A== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=vmware.com; dmarc=pass action=none header.from=vmware.com; dkim=pass header.d=vmware.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=vmware.com; s=selector2; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=OECTfZpwkwFDMtfNxbjnAQlsRJWyUMTToXXq+Zo0Vkk=; b=iLL5PQsZUnepke4Of44tGS4zq1EdUXeH6EdhrPSTPIkebwp3hGLAqNKY42Mhgk8YUT2+uPGIzH+3B+SRyzE1B1JXxMeWwcb2Lyv9HP4izFXnmGN319QaooiFrRtV73oui6+ol7M7cWcg9MH5oC+y4iP23p2i5S34ytrm+o65TUM= Authentication-Results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=vmware.com; Received: from BYAPR05MB5624.namprd05.prod.outlook.com (2603:10b6:a03:1d::13) by MWHPR0501MB3753.namprd05.prod.outlook.com (2603:10b6:301:79::26) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5293.13; Wed, 25 May 2022 00:40:48 +0000 Received: from BYAPR05MB5624.namprd05.prod.outlook.com ([fe80::49ad:2ac7:16c0:51c8]) by BYAPR05MB5624.namprd05.prod.outlook.com ([fe80::49ad:2ac7:16c0:51c8%6]) with mapi id 15.20.5293.013; Wed, 25 May 2022 00:40:48 +0000 From: Pankaj Gupta To: jbehrens@vmware.com Cc: dev@dpdk.org, pagupta@vmware.com Subject: [PATCH v6 1/9] net/vmxnet3: add version 5 support Date: Tue, 24 May 2022 17:40:20 -0700 Message-Id: <20220525004028.24938-2-pagupta@vmware.com> X-Mailer: git-send-email 2.17.1 In-Reply-To: <20220525004028.24938-1-pagupta@vmware.com> References: <20220525004028.24938-1-pagupta@vmware.com> X-ClientProxiedBy: SJ0PR05CA0056.namprd05.prod.outlook.com (2603:10b6:a03:33f::31) To BYAPR05MB5624.namprd05.prod.outlook.com (2603:10b6:a03:1d::13) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: fcdf15f4-403d-4c51-2d1a-08da3de735f3 X-MS-TrafficTypeDiagnostic: MWHPR0501MB3753: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: TMXSBG0v5mVIp+CjJYVNYPApzzVN4oEAjMNHoGTjx/4LUDHW4B1pllpQh+znZyKF16xd9UtRcULQZDNihEm6ovq3voYZTk39cd2jnCAZA8NkbGkbar202RuZF1044cpGuQ/Kb1mju56blW1B9pjwaUf8N2NONdJjiCm927sfJS+FQySXR7YUoBWEWXrhc2XiAqulPHVwK8XrT6gZ7yBAWbyQCSYkK7sO9VoANSnrSk/9Pu1C27SzNlvctOjCLqAfUQGgJr6nfhdMqFcdxIsoZrJrJ5uo6RODpFYtMDcWTTnkLxFu4mGAWNcZuScxsBL1CIz+1uW0JckBt10E8BmP45S5PsIKma/zTSm3Ni4vjlSQxU392m4aT8lwfBY1fV0fiwF4tSIQ5KEgkqpT2pQMY5qUdz1EOp2a66QPTMGLwDTr4xg1ZTbx7UWtkNDZ4glT3ogOdp2QitJ8Uq9O1VpaLejl3lNlPT2ngHFWBtDCsHKglFCAOrmRrlxR1R8yoHUaPguzAYy1F4dNcD8G8x5RaAh7sRX+ZVHOJeTTJPq7Q6deRGwyvro0nVBpOV93G17wAFyRl8RHQBiYqZ5aLRBr0bVfc6n/ATWorQXmiEYdOfERhZ3+ZL9mnoWwmvoai7tcLWAp8XDxl9OXMkr+J6SgPefv6mk/jVVYH62PaIgf3x2+kL5JcdRgpF+l8/CSzh4apSL9KgsTan2z8/lllJTqBg== X-Forefront-Antispam-Report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:BYAPR05MB5624.namprd05.prod.outlook.com; PTR:; CAT:NONE; SFS:(13230001)(4636009)(366004)(186003)(52116002)(1076003)(2616005)(6666004)(8676002)(6506007)(316002)(66476007)(66556008)(66946007)(38100700002)(6512007)(34206002)(4326008)(107886003)(508600001)(6486002)(6636002)(37006003)(36756003)(26005)(38350700002)(2906002)(5660300002)(83380400001)(86362001)(8936002); DIR:OUT; SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: +ig9REXxN7F8Fj8wCLIzD+ZXwh4Mn48X/+zyKLD89p7FTkTQG7RQhaBd5bU4QxHz4z9c+GjB9SJ9OuwnktDF3QtraZXPpigBkjVK0HecnMpFR4miDXuZhGT93GTabpYo7BhREwevA2FeoJsvM5d1zARAW2y5t0QA1dW7LTq/8h7gE4+khHX6Ks2Dq4AFMNp2kYCyTkzT6a47qWsnOF9FxaJu44Y90GjuH2w6kwMxVSfDSKtmDsyncNeH7L9TS6TcrGQnW7sTqSqA+LBdbmnwEUYknIJN8bnIJKBtiRMGdDIGv9Ujc81g1B9gzta1z+BXbQf88QDjpn6JZPygfl17xVdjcfWFwodVJP85RewoCb1tNV9KyEqiS9dFd9DOz2Gafe8QoyvluPcR2B5G/mo3qVazrcGDtHg5rKzqjZNO0FtTFkJgT9+U9HYf6z97qej0BjHCqS2D/UquVz5Ng1FopBXeW3+UC9KzCRnPSzNCbU835yajqrL2/zhHLcEonp/nXQNnPr0FGCjugeerPD8uU98pmUfjvTplgLcTUxr570pXYR+5zCaTlMVi3n1EuFTZrrMe4NMgQWMXXkMo1CikFQlMgHK517yO52hd0CSGH9WYwBMOueyeCtst5h47Kjp2ac60Cs2sQQhPDNtcP+9T7j2S64dAULoWe2JZBe/euvYMfYLk2vrcENbWFTuGFoYBIfmkf4i+aRMB5QgZCfdnyGAWlQgOF2Y0yBAYr38E8i4Wn9hZBYwI8IF5pfndA6y/qaZqPM8l3iQk0tt1ARGndZ91UhqLjqxITiNeNooujbDpXCO0mrCo5aOzAAvYaO1YDdshclfRbYzTrlC36yFwNxnPWBxKbHb/7NdPC/rDV5BB1YhHlyQ7Jc6XHB0GL8k7AqTTj6ouk7HmztssYngnUocxSS6nHlFfSgMK2f29GTi2mFSjVwGW+1mCo9tSKniOLYt2AJLxbRbSuCMk5qzw9yxVBCysTDlEgywzfZgQA6rKBhkP+eBc73MQdx58a10dS8T2F5/MSTCjZb+Nbc4WYOwN/CDZXEtlS3HG6d3EwrZIBKClLFddvbNqVP6TjDt9Gw0Ep1PiCEavm5rcrYgI9Ewmy3wDtLFgUaiWrbr1fhKUn7y+NfP08/GYSkLZ1pwR9m/jRT4stnqB6lwF2wMwBwnaHJPI7OOMsKLsWAMONanCth4fD4FuPEyZv9wDZCQAOJzHM8paW+rr3bqvz4bNXuFofo1gp9XfSHEmQq2xcFwqkMvoKcFwXPxnL/N6vLrgJmSZ6wrXOS7dCcUmlLFtK7YcceIR8tslna/oC0/2aprXBWWzkaKgOQBjd8JXEuDbHVIExyzZ+2vfKWUD9XMok6Az3q7dbcLjMhMX5zuXxvdDxY8qfZ8BJIjOaM1uVc8Vi2x0r1gvmXOGlA0cEDfr83Zb5Brvc3qXp7amqT+BdE8pe+FRlNNTWpDD9uJALm5qmShjz4dIAGoGsgWo9zc60Wv/BwU8yc3Brdjx5FYL0r4+y7BX7r6zKzvdaN+JYVAPw6ivel432vVHwBfJjIB0x9RijG12z94dXXrCQynQ2GM4wFGPVX51hzJ3RT+TMlxuC8Arixjy5CZOftLt1lJ9uZWVodX6NArI6gphh5q3z6g/cslspJNRdpT89k9mMh67uNa03aATVQlwcGWF2pXfgJB77nr9sfnq1WeB5BwNbWCNc98xy7hWjlDEYv/EQ15MwbOStINZXMbBiSsGuEiG2w== X-OriginatorOrg: vmware.com X-MS-Exchange-CrossTenant-Network-Message-Id: fcdf15f4-403d-4c51-2d1a-08da3de735f3 X-MS-Exchange-CrossTenant-AuthSource: BYAPR05MB5624.namprd05.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 25 May 2022 00:40:47.9621 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: b39138ca-3cee-4b4a-a4d6-cd83d9dd62f0 X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: rU8ADKxAGpqbIeoJGw82ABSwZOFMIq+Sytk8qrstvLjyywRB1Eb9mEiG7aif9Kg5S7pmmlD1aUxd45pdgO4vTQ== X-MS-Exchange-Transport-CrossTenantHeadersStamped: MWHPR0501MB3753 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 Add VMXNET3 v5 support. Tested, using testpmd, for different hardware versions on ESXi 7.0 Update 2. Signed-off-by: Pankaj Gupta Reviewed-by: Jochen Behrens --- doc/guides/rel_notes/release_21_08.rst | 2 ++ drivers/net/vmxnet3/vmxnet3_ethdev.c | 7 +++++-- drivers/net/vmxnet3/vmxnet3_ethdev.h | 2 ++ 3 files changed, 9 insertions(+), 2 deletions(-) diff --git a/doc/guides/rel_notes/release_21_08.rst b/doc/guides/rel_notes/release_21_08.rst index ac1c081903..cc472d7a05 100644 --- a/doc/guides/rel_notes/release_21_08.rst +++ b/doc/guides/rel_notes/release_21_08.rst @@ -129,6 +129,8 @@ New Features Updated testpmd application to output log errors and warnings to stderr instead of stdout. +* **Added vmxnet3 version 5 support.** + API Changes ----------- diff --git a/drivers/net/vmxnet3/vmxnet3_ethdev.c b/drivers/net/vmxnet3/vmxnet3_ethdev.c index d1ef1cad08..a7e1e5fef5 100644 --- a/drivers/net/vmxnet3/vmxnet3_ethdev.c +++ b/drivers/net/vmxnet3/vmxnet3_ethdev.c @@ -316,9 +316,12 @@ eth_vmxnet3_dev_init(struct rte_eth_dev *eth_dev) /* Check h/w version compatibility with driver. */ ver = VMXNET3_READ_BAR1_REG(hw, VMXNET3_REG_VRRS); - PMD_INIT_LOG(DEBUG, "Hardware version : %d", ver); - if (ver & (1 << VMXNET3_REV_4)) { + if (ver & (1 << VMXNET3_REV_5)) { + VMXNET3_WRITE_BAR1_REG(hw, VMXNET3_REG_VRRS, + 1 << VMXNET3_REV_5); + hw->version = VMXNET3_REV_5 + 1; + } else if (ver & (1 << VMXNET3_REV_4)) { VMXNET3_WRITE_BAR1_REG(hw, VMXNET3_REG_VRRS, 1 << VMXNET3_REV_4); hw->version = VMXNET3_REV_4 + 1; diff --git a/drivers/net/vmxnet3/vmxnet3_ethdev.h b/drivers/net/vmxnet3/vmxnet3_ethdev.h index ef858ac951..7ec3b2e1f0 100644 --- a/drivers/net/vmxnet3/vmxnet3_ethdev.h +++ b/drivers/net/vmxnet3/vmxnet3_ethdev.h @@ -124,11 +124,13 @@ struct vmxnet3_hw { UPT1_RxStats snapshot_rx_stats[VMXNET3_MAX_RX_QUEUES]; }; +#define VMXNET3_REV_5 4 /* Vmxnet3 Rev. 5 */ #define VMXNET3_REV_4 3 /* Vmxnet3 Rev. 4 */ #define VMXNET3_REV_3 2 /* Vmxnet3 Rev. 3 */ #define VMXNET3_REV_2 1 /* Vmxnet3 Rev. 2 */ #define VMXNET3_REV_1 0 /* Vmxnet3 Rev. 1 */ +#define VMXNET3_VERSION_GE_5(hw) ((hw)->version >= VMXNET3_REV_5 + 1) #define VMXNET3_VERSION_GE_4(hw) ((hw)->version >= VMXNET3_REV_4 + 1) #define VMXNET3_VERSION_GE_3(hw) ((hw)->version >= VMXNET3_REV_3 + 1) #define VMXNET3_VERSION_GE_2(hw) ((hw)->version >= VMXNET3_REV_2 + 1) From patchwork Wed May 25 00:40:21 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Pankaj Gupta X-Patchwork-Id: 111767 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 24B66A0545; Wed, 25 May 2022 02:41:24 +0200 (CEST) Received: from [217.70.189.124] (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id 0C17642B6E; Wed, 25 May 2022 02:41:04 +0200 (CEST) Received: from NAM10-DM6-obe.outbound.protection.outlook.com (mail-dm6nam10on2046.outbound.protection.outlook.com [40.107.93.46]) by mails.dpdk.org (Postfix) with ESMTP id E6B83400D6 for ; Wed, 25 May 2022 02:40:53 +0200 (CEST) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=cho/755sQV0avSprth1bx8hLBcdWx5exLTTwz8+z9yVnvLTqdEQ0ZfOa/3gwhdaLR3sLLaeKgbkLI0aUjIvQZfe9fnX5bIvDHa5egpQah9YYKk+rgKJkRcJV0HQEEibcBQtvtd0bPVS7BpAOGBUaNk+aTcz2uB1dArnAomSC1z7tl5FG1cN55q1udYCsH+0Pq4ScUAVCPwbQ3eDm/81LcgCm1sHIsVn0n4Xp4F5BPHUG5hGuyEanVzgBbmb5VT3nxMpYNUcKpgKJbN6f//MKPG8JIfXhP/K1b1zlBQfKRwRYmcxI5Dj8oVF5oDTN4/2y0daYOqS8HRfWu08vUEA0vA== 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=1XfjfD+mTk2A8kK5ofGwjcdZO539L9riw4F+79FgZbo=; b=iLZgX+5JFq7HA7+6pxYPulRuclRxN1Z9RQcE+WE5xXeuoOu5TxBnd+ullrF28l745Vt6hNbYyi9xkvqMm1gD9+E1Ffsj96vcV06wJRHyQPYyH7hlVLUqBGqD/JMhMyZSlyIywxDWn5NYY1k2e1KHwnaDrQ4lX8piSw+nptgoSrHoSogxtpWGoLgUzZTJ8fiGxPS6+A/YK0nbHz0T+v4RKgmNwXTQKd//aTqwVE4UqiiTHSTNgKUYYW9TYuSuBiKOpIdtzcKsfRdr1jfIeh81419MBVv++QCu0+ZRpfFPxDqCtBCCo2JFolC2ZSq5KQduWOPXlfQ7xcAlhNQjr3FPtQ== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=vmware.com; dmarc=pass action=none header.from=vmware.com; dkim=pass header.d=vmware.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=vmware.com; s=selector2; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=1XfjfD+mTk2A8kK5ofGwjcdZO539L9riw4F+79FgZbo=; b=ca+8YHGftcxQLaO8LJrMbujKYyYv7ELSVAC9TpZU9/NQekWob5FxzHM/EltLrpvD2oHXEQEZtR56BUs14d4iVWrtVESsMHBfC2I+vugVdjcXXb+yDWRXXSL4dms9/qw6pQxQ6o+oaO3UHTAyQ5NH4HRTifFvERsi3TbWF0nncM8= Authentication-Results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=vmware.com; Received: from BYAPR05MB5624.namprd05.prod.outlook.com (2603:10b6:a03:1d::13) by MWHPR0501MB3753.namprd05.prod.outlook.com (2603:10b6:301:79::26) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5293.13; Wed, 25 May 2022 00:40:49 +0000 Received: from BYAPR05MB5624.namprd05.prod.outlook.com ([fe80::49ad:2ac7:16c0:51c8]) by BYAPR05MB5624.namprd05.prod.outlook.com ([fe80::49ad:2ac7:16c0:51c8%6]) with mapi id 15.20.5293.013; Wed, 25 May 2022 00:40:48 +0000 From: Pankaj Gupta To: jbehrens@vmware.com Cc: dev@dpdk.org, pagupta@vmware.com Subject: [PATCH v6 2/9] net/vmxnet3: implement RETA query and RETA update Date: Tue, 24 May 2022 17:40:21 -0700 Message-Id: <20220525004028.24938-3-pagupta@vmware.com> X-Mailer: git-send-email 2.17.1 In-Reply-To: <20220525004028.24938-1-pagupta@vmware.com> References: <20220525004028.24938-1-pagupta@vmware.com> X-ClientProxiedBy: SJ0PR05CA0056.namprd05.prod.outlook.com (2603:10b6:a03:33f::31) To BYAPR05MB5624.namprd05.prod.outlook.com (2603:10b6:a03:1d::13) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: 9ebd9cde-f5a9-4647-db48-08da3de73622 X-MS-TrafficTypeDiagnostic: MWHPR0501MB3753: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: x2SUwjBI3/psry8UwQwIRUfqQxR/J12WQ6g4pviLKS9esZYPeUZq0jADyL9iQfXNWKE9FL0AAoMh3hz+jRnKB2zO/JwTHEnGjolYNOMjW21EMZPzPQTnLtLrCzBSZNfw9FQOmJNQKmHOtjfbl1PN++ka50RjJAn+5tlVP1EgWpQdT6s96ZxD1xW4vm6Y/t3fmNk/jrbDqa1kX78FjTQ9nTBq5hWx7YrqkuHKEt2SsweL+MbKA5AfisUBnvpqUyummaRoJYFhRz74T1zn+Dvc0JpcBoSkacfegez+yj7jokOqxVA71diWY8kaxgBwkHfKUOV8Tazjc245fkAQjBuyq3CrXfWe2RAD3E1BF9WGyTCoS3uqcXI2mQ/Bj9ImUzmWHScZxed+8K8OBcciDEIgP0BH6Y+qf8JpMnlW8vFcUPVcS9HHMnuuP/V184ynDrIEX12DHC23A3kEFLKkIKUKwo2xYERAe3TazBpfOJSmjDMWxROf74vn0Evq6XtAxe/FKqwtr4jGioCfYV/JccXj65TqeEPSMR+vD6h5ko6SCpNeZPlEcuoVOI8/lcUKogJG3IUwlsXUvkyuJBy2jlY1uiUTxB46ktQ2yPZjEMn4l08z9AlgcBdD/Ilag+ldnfzYmH/B8r9T3ZZWD5egJHlCK6tqhDWW2L5dAQySFUrhP4UA8EkuBN0wXoC/CwON7xhkICDSZgvvY9FsNY+EW8vDRg== X-Forefront-Antispam-Report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:BYAPR05MB5624.namprd05.prod.outlook.com; PTR:; CAT:NONE; SFS:(13230001)(4636009)(366004)(186003)(52116002)(1076003)(2616005)(6666004)(8676002)(6506007)(316002)(66476007)(66556008)(66946007)(38100700002)(6512007)(34206002)(4326008)(107886003)(508600001)(6486002)(6636002)(37006003)(36756003)(26005)(38350700002)(2906002)(5660300002)(83380400001)(15650500001)(86362001)(8936002); DIR:OUT; SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: 4bdQzkFUL+izsMkI74ZELKEInMktCG9k53qslgtV7gQAd8aPkCqt90SzTe2r1hgDGE22gOUDNHpxOvq9j5JaBP1mI5+3GaN+/EY0DPrGSsIAmAiuDcU1Gi45ge25pV/TRgxqo0YR10IiGhsvxVHcSObDlja+oer+jITg1UFk9wGd/qX7F4DGpyrq1tx0ilXQEb79aAnkZX6xCd6lqbRFN97fio4JsLTvsP/T4E5w6owqnly/nT9mEp/pSsP6A+Zp0LffwLG7dXq3OnY1x4fur3Y/L5AeQbCcJvhiUWziHCkp7sfG48t6H6/obovq0R5ns27d7nDzh7gIS4wuGo/htlSy30Q/yTaCu8Ah5+uDlTrqTnRvz68SXIloD+Y9rldzppSz3xx//C8SIwqUSRNqxV7lcOie5bqbSFP8bPDVXHOXrzqQpgBlgIRvFDcqPYw1eJ6SVfm+4aS20P/kTDxg10d+MUrmLeC4BcqrGgZLSaJ94BpAkwA+Swy/AvJqy937rC2um8lLu10GMpM4ETcIgIev3Dbx1nAoqP+kcQ5wNqHGtE/Hlfcg/uHQi1T8t1YxY+Y4nyyE29X7bWn7TtPm3kVhB8lN30vbFG3SbAvMC1WlY3eKF4aJL6AlouI95+zLxu+saXHzjAp9+W4rdRE4uwX5zgJZ1y6zoB0FPR2UC26hU/T3c9o4DWi5pdubsp5qAH0Ol3RYqa6FvD/Nm3mXpXsi4FTjmKvacZjPJ92diyJD6dfAcvfPWX5JDQ0srbUgPfp3m1I2AVTiAsiyGI9v0zdYMgY9dOP8ia3I/XvxhfXlrlJh1pC5Sy6/8CnroAEUunMBOfMEW6oQirgKoNtvCzd559qMTbLYmFm+uMDvLOW1k2NqvjBGhFPli40fOr8s/G+7eU2J9jnvwB7wnWO7MFFpq1i6zIPMRUbslPmbcuBwnJscAQo0vQ89kuSke9yktM3L4U3M4K8a33KIGhLksrD15bs56ZMR8jIahhNAt4ihQSbLx0gnT7tJkqAaaV/C8NRDOUmfN8CRL5acTmHr6Pd/OX7sARcuwYjhYWmfjzYOiOK22UdAY/EGIs4scupVx6g0C6JZPF5qKmMQh0qMHKUXei1zMyO7D9u4pO94woIPJ07ywBuhULPzn5Yk0Ac26QGw13oU4NEDDUHItGfKNbbYAzgwsDM9TlaU0VD/uVfAe4LrvWhaz3aeL8jzCOClsRS0rF6C6cKIv+FrVxgA58spENeq+BdYKvxGNYPtkFLcJ+Vr0NSdzVVOPJ/Olv52Ef7C4fD693j/knWdWpZCqvEj29Lk8MASfbVbFSXgYC2QZMuPVwfOTCUqkpW3o69Sq8ZQSxVY2Wcw4U5rOLK40u3daRg+l33yU7dTwmo8bMj9K9NCC6zLlv7zKiXNlijAYIjYAJscDt8SZ2WCKDTR6mL4qaK0KEACGd/muBdAEJrLSPCOtEFw/i6R3FOeEaIv+IYo3qPkOp317PnP4J1HkCC3F4N/wgCxo/N63V4bwgGHTGULRWP5DQTP8tC8K/NXtMtVcxMf8arev+WV2bWJoLk829ayw3oQelxqOrJZoiLvCMzI1tm0QRFIHMQ/LoYON+pojLYpYXDtZMnCDR6LvUFUBrOsqPuWby4PT/42fFvgd3w4kiImV15tMwFrCH6ulcufgG5mhX73NMS9ly1HHn+9tKXtCMgTJegdzYXObZTvkzWEMoQvih2Rn9K2/NAQxa1w75Xa3ksQuBbWUwXFdw== X-OriginatorOrg: vmware.com X-MS-Exchange-CrossTenant-Network-Message-Id: 9ebd9cde-f5a9-4647-db48-08da3de73622 X-MS-Exchange-CrossTenant-AuthSource: BYAPR05MB5624.namprd05.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 25 May 2022 00:40:48.2433 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: b39138ca-3cee-4b4a-a4d6-cd83d9dd62f0 X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: xHPOvJg2Rq/SrFRAPp0buAkYIXq37B9lELhg+G4co/PppeJPtwHZtWuuqaUcNJqmj+ULi5PtjKUVmvBlju5sSg== X-MS-Exchange-Transport-CrossTenantHeadersStamped: MWHPR0501MB3753 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 Add RETA query and RETA update support for VMXNET3. Tested, using testpmd, for different hardware versions on ESXi 7.0 Update 2. Signed-off-by: Pankaj Gupta Reviewed-by: Jochen Behrens --- doc/guides/rel_notes/release_21_08.rst | 2 + drivers/net/vmxnet3/vmxnet3_ethdev.c | 67 ++++++++++++++++++++++++++ 2 files changed, 69 insertions(+) diff --git a/doc/guides/rel_notes/release_21_08.rst b/doc/guides/rel_notes/release_21_08.rst index cc472d7a05..4027bd4390 100644 --- a/doc/guides/rel_notes/release_21_08.rst +++ b/doc/guides/rel_notes/release_21_08.rst @@ -131,6 +131,8 @@ New Features * **Added vmxnet3 version 5 support.** +* **Added RETA query and RETA update support for vmxnet3.** + API Changes ----------- diff --git a/drivers/net/vmxnet3/vmxnet3_ethdev.c b/drivers/net/vmxnet3/vmxnet3_ethdev.c index a7e1e5fef5..d5f9903946 100644 --- a/drivers/net/vmxnet3/vmxnet3_ethdev.c +++ b/drivers/net/vmxnet3/vmxnet3_ethdev.c @@ -95,6 +95,14 @@ static int vmxnet3_mac_addr_set(struct rte_eth_dev *dev, struct rte_ether_addr *mac_addr); static void vmxnet3_process_events(struct rte_eth_dev *dev); static void vmxnet3_interrupt_handler(void *param); +static int +vmxnet3_rss_reta_update(struct rte_eth_dev *dev, + struct rte_eth_rss_reta_entry64 *reta_conf, + uint16_t reta_size); +static int +vmxnet3_rss_reta_query(struct rte_eth_dev *dev, + struct rte_eth_rss_reta_entry64 *reta_conf, + uint16_t reta_size); static int vmxnet3_dev_rx_queue_intr_enable(struct rte_eth_dev *dev, uint16_t queue_id); static int vmxnet3_dev_rx_queue_intr_disable(struct rte_eth_dev *dev, @@ -137,6 +145,8 @@ static const struct eth_dev_ops vmxnet3_eth_dev_ops = { .tx_queue_release = vmxnet3_dev_tx_queue_release, .rx_queue_intr_enable = vmxnet3_dev_rx_queue_intr_enable, .rx_queue_intr_disable = vmxnet3_dev_rx_queue_intr_disable, + .reta_update = vmxnet3_rss_reta_update, + .reta_query = vmxnet3_rss_reta_query, }; struct vmxnet3_xstats_name_off { @@ -1696,3 +1706,60 @@ RTE_PMD_REGISTER_PCI_TABLE(net_vmxnet3, pci_id_vmxnet3_map); RTE_PMD_REGISTER_KMOD_DEP(net_vmxnet3, "* igb_uio | uio_pci_generic | vfio-pci"); RTE_LOG_REGISTER_SUFFIX(vmxnet3_logtype_init, init, NOTICE); RTE_LOG_REGISTER_SUFFIX(vmxnet3_logtype_driver, driver, NOTICE); + +static int +vmxnet3_rss_reta_update(struct rte_eth_dev *dev, + struct rte_eth_rss_reta_entry64 *reta_conf, + uint16_t reta_size) +{ + int i, idx, shift; + struct vmxnet3_hw *hw = dev->data->dev_private; + struct VMXNET3_RSSConf *dev_rss_conf = hw->rss_conf; + + if (reta_size != dev_rss_conf->indTableSize) { + PMD_DRV_LOG(ERR, + "The size of hash lookup table configured (%d) doesn't match " + "the supported number (%d)", + reta_size, dev_rss_conf->indTableSize); + return -EINVAL; + } + + for (i = 0; i < reta_size; i++) { + idx = i / RTE_ETH_RETA_GROUP_SIZE; + shift = i % RTE_ETH_RETA_GROUP_SIZE; + if (reta_conf[idx].mask & RTE_BIT64(shift)) + dev_rss_conf->indTable[i] = (uint8_t)reta_conf[idx].reta[shift]; + } + + VMXNET3_WRITE_BAR1_REG(hw, VMXNET3_REG_CMD, + VMXNET3_CMD_UPDATE_RSSIDT); + + return 0; +} + +static int +vmxnet3_rss_reta_query(struct rte_eth_dev *dev, + struct rte_eth_rss_reta_entry64 *reta_conf, + uint16_t reta_size) +{ + int i, idx, shift; + struct vmxnet3_hw *hw = dev->data->dev_private; + struct VMXNET3_RSSConf *dev_rss_conf = hw->rss_conf; + + if (reta_size != dev_rss_conf->indTableSize) { + PMD_DRV_LOG(ERR, + "Size of requested hash lookup table (%d) doesn't " + "match the configured size (%d)", + reta_size, dev_rss_conf->indTableSize); + return -EINVAL; + } + + for (i = 0; i < reta_size; i++) { + idx = i / RTE_ETH_RETA_GROUP_SIZE; + shift = i % RTE_ETH_RETA_GROUP_SIZE; + if (reta_conf[idx].mask & RTE_BIT64(shift)) + reta_conf[idx].reta[shift] = dev_rss_conf->indTable[i]; + } + + return 0; +} From patchwork Wed May 25 00:40:22 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Pankaj Gupta X-Patchwork-Id: 111762 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 54AA9A0545; Wed, 25 May 2022 02:40:58 +0200 (CEST) Received: from [217.70.189.124] (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id 0F30D4113D; Wed, 25 May 2022 02:40:54 +0200 (CEST) Received: from NAM10-DM6-obe.outbound.protection.outlook.com (mail-dm6nam10on2046.outbound.protection.outlook.com [40.107.93.46]) by mails.dpdk.org (Postfix) with ESMTP id 9BE10400EF for ; Wed, 25 May 2022 02:40:52 +0200 (CEST) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=GAiMTMxYLyNorwSgSuGeZ1Bu5mO2XorOZnvrImQ2uCJRNhUO4JoaJ0fJTMuHEp+WCJbondMTHc21fGSsYeJJL+2X8qrNmBzsJIehJU6kn4Zd0uVE/49Lhf8Q+W6fa6Ri53Go2QRHv7jnIffh3OYLxbxeiPbWBY6ZXqmZ1/GDrF9eTBTx7fNwrttoDW8rRN1ITTHYTbdRSli//y0+L8jMCV87SNnrt5U8TJuMVlpe8BSvupeJEd3J1Ft4IZ9Y+8RHDc44AW+d2skqwHCWWkHIwbRX6cLSGxXm4Xg0dsw+09z1XjHma2MpvG2qyAVKlVmuPvzOOBDphyL4GpkStZn1cQ== 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=d7FRTvoANiacjCoDvBXjbr4lWin8NkGwQ9yCiRDap/4=; b=QBSRke+8XOJdlSgoE+pYayLWNunQpNQ90ZbSevZ1eid8+UxXrdUbA9+G4+CX/SRut2daVGQSdjA711OVp9dqtP9peifMwnD37L8rMcKDmiYqICdIG4nB8H2yZTnn/TTGVjjrECQvR/oqtd/9N5oyh+IZ2EKwQnTtOZ4UK5aKIvDoamnFht1Jki+t0SpLoPraIABCjFJBfksIbKTbHS5n/q+5vNuPZba7m/InjbD/bDf12ZdribdAYnJi22M2yfVecTEVbzncaeRoVKbWl9AzDhz+HbAlst9XQAkkqDonv26payHEgsOde/UZh6KVcWm4/P4HUIfzydZH+xYoRdPHGg== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=vmware.com; dmarc=pass action=none header.from=vmware.com; dkim=pass header.d=vmware.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=vmware.com; s=selector2; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=d7FRTvoANiacjCoDvBXjbr4lWin8NkGwQ9yCiRDap/4=; b=yl+I64Nb8DCjiHcw6DK1cJlj7Ibk6/bDgJz9wYANpvk3cwvQbXmx1LYrlhSv4gUIRdynrlHytg9qZc80nq2Wii4G4VvpkMJM5nx9E4ZcErZQ18x+VGWiaSDpfV0L20oC92PirQwEtkYhIVhCFSWFZrvSUe7AXnC4WosRElPnSEM= Authentication-Results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=vmware.com; Received: from BYAPR05MB5624.namprd05.prod.outlook.com (2603:10b6:a03:1d::13) by MWHPR0501MB3753.namprd05.prod.outlook.com (2603:10b6:301:79::26) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5293.13; Wed, 25 May 2022 00:40:49 +0000 Received: from BYAPR05MB5624.namprd05.prod.outlook.com ([fe80::49ad:2ac7:16c0:51c8]) by BYAPR05MB5624.namprd05.prod.outlook.com ([fe80::49ad:2ac7:16c0:51c8%6]) with mapi id 15.20.5293.013; Wed, 25 May 2022 00:40:49 +0000 From: Pankaj Gupta To: jbehrens@vmware.com Cc: dev@dpdk.org, pagupta@vmware.com Subject: [PATCH v6 3/9] net/vmxnet3: add Rx queue usage count utility Date: Tue, 24 May 2022 17:40:22 -0700 Message-Id: <20220525004028.24938-4-pagupta@vmware.com> X-Mailer: git-send-email 2.17.1 In-Reply-To: <20220525004028.24938-1-pagupta@vmware.com> References: <20220525004028.24938-1-pagupta@vmware.com> X-ClientProxiedBy: SJ0PR05CA0056.namprd05.prod.outlook.com (2603:10b6:a03:33f::31) To BYAPR05MB5624.namprd05.prod.outlook.com (2603:10b6:a03:1d::13) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: 0510e2b2-0698-4e71-9dee-08da3de73646 X-MS-TrafficTypeDiagnostic: MWHPR0501MB3753: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: Z9axPJkJbBWZN2EXbv8S8aQxwm227zneFDA0QKeZ70LFKOtxjFZAHOPbLD8lZo57s8w2CWq3vAi7OK/FCNScXrbrh22Cb9p+60dvPyWiwsik2mEIYhn7KV+qacnzbZB0/ZrUebpwZNNncTScMYSVRdGgWs3D49cyBskgY0HKVbXEcUroL0r7d/yz3VkA8z4hp72lzia3+2vjLp0ZwFpxfw5IdYKo22KIu1IkqZzJQIjndOG4D6fMwl61BNhAeGuZejSRaG5QSodNA4cB13PxZ4IfUP8E0vvB0h2flL2jUch+aRL0/XQP6siji3aKOgLXLEUpi8ogP6g/CL07nrqKufAd7bo2RRTTfWMLHVA+lpku4cXTrGYNU4ocrBC4jOQgDtx9upNxJ3t+Cr56l1xY+xR6PX0JFnONbfUmCjheIEOfrgEjf+74SgEtqZP6fFecv+KIpphrYvBrAwRBz9yyiG+GEfh5IA/7Qj+o495XKMmPSeBHSKhBd0Q49f3O8EvuVj6/kzLEDUWLjYEhzEjgx6dcGq0ZQ2iQfWY8t5OsOJbrKU84DJj87pA/fXiaH51c1ykHpEcGVsbRrt5bCkHxzz3xGEcLgKCz8BRfGgvJqWRdcIUouBFZaRdh/mYLdNLpz8i+H2cihiv574DEhCI2UB3m3dnJO3ZQxqXd5edC8dNcREAOiDB7ayUxXECsyy1GB3F9+Qe7NF3ta7pwft01pQ== X-Forefront-Antispam-Report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:BYAPR05MB5624.namprd05.prod.outlook.com; PTR:; CAT:NONE; SFS:(13230001)(4636009)(366004)(186003)(52116002)(1076003)(2616005)(6666004)(8676002)(6506007)(316002)(66476007)(66556008)(66946007)(38100700002)(6512007)(34206002)(4326008)(107886003)(508600001)(6486002)(6636002)(37006003)(36756003)(26005)(38350700002)(2906002)(19627235002)(5660300002)(83380400001)(86362001)(8936002); DIR:OUT; SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: RcmIc9v52Xsg1Dua34M9R10YqaOjxzqcZ4J0qwI7LJwjm8zSdvkVMWb4CT7hlxD0Viv9Gn3MRf5kEQlU0/fcgypXD2HPVcEM2JK67N7dkUQYQvumWU8zjMo7uZO2q4WrW+zZCgPPPpzdvIypHEvV6erMdmp20YM5x/RO7y/c9Ogx+6IgbIPC0sR17lbbiXlDtpb0exadi0ZVKj4oh23g1GYYicQSOebU6hUbi/UGHvZlnzUK6LwubB13cKgf8zcnowc5yqFQVG/l0lDMBF8pCRVK1n+uAvZ0w4X7lPnx51N3r+fG5k85ouosSHmYd/BDNsoY5fwCdsiLQKJvvw+n8+cT/EFxpT/W095O0akhDQJyMxoByQUFWp5gbcWZZzd3jKEF1NUA6E97/DeA1o4+FP5VqabIk5Zdf518LtU4BD8G+BlmiigVVBbrEn7EI1gRHyloYE3S/cd/KmpG46LoOZLUc40mbaO7YDM26A1gk0rArdmtf/rSaSzF4IFtI/FsxojZ6Xufkf4ymP4Q3mJQbOI88ZWhCwTHD9zOs6YZ6N3MVX8fGz7GB2SVXi3H2Q0eVGqMCKXhY/FDew+zwO5h9B6FPy+e4URqcVYQIEN6OUhqevKycFnRQC5i2Nlb/80jQ2hKCSrcBh4JilSwYqGe943pjfD3gNi/u54RJpVk2FavhdKEMZam4A6PmBsaIusoQdOKjtm4ROdV4GFaBdfg3F5HKxWNZl/EzBworqj47B60slU17GBWnOJd4vQK+TpwcHfO61M9wec2WygFIXkXogR97RzD11AU3D2cmoaoKU7fOjqlH6CzTCn/3TnvUhLU2r1VGXfkGmYyyv2AbEaUKkvIYR2wAobkimaN2kDUw7ug2+jURTGi92YoAPAtGIPNVFfAsbHP9SBIB0pFnluh2qI5e+pTP2sJXf2GpM6oI29OlZ8IXtuI2Dx8tnPkPNdXBTsqyGoudp21JVbD4IV3sko9hYTcmrqED855YE+/6Jxobiby0PxGkJ9p3OT9mwtgKf+KDNTwnHf1bzqywCorQDpAPYxRyHISak3aba244mJVXp0C2Z8DyB9Gjd3Laydr7thSddqgKujaPanhcsW0haKTSHKc9RpBDkbri+8zoe/hJytt3qXB1lWUl+wVRzTVKLh/39yGZ/OSWI4YGv3hwWGtNpYoKa5TuJ+YHhIIEf4QamiDlZ48BlGcxj1iluXq6TU/Q8sd3buMJ0R8Hxwcz2sbv6Uwgd8elz8nh1HE5gGDvJ2m/nImBW/ejlnBrdE6dS3gzaSvbVUzaBdMuKltLT2crBN9ke+qbYe6GAanB4u3jRF8rQ0FubmjnlC6YQAKZpXOAz12I3an8zode75QwYb8lw+3A0Q32fpx36fx3FdCxoWHKUAu8ZQVARfeploXqeEzwrAC4u5GaY881ehaMYVDVDgyHgnOvZ9GKrQfMxIJJPeoKi/wVfIzCudmVA0EaWlPmmmS9EQOeiMU1GMdys3Sp1o3sNt4/6EFvWhK0YheDssUBZ1EpSW7CSNsUhtbcNXkF3PiS7raCeQbtmpWZRcWjVvXqjkP5AsBi+X+aTXrOR7ZZWDoOSRVVmptqzyb5+BcZptceDVb/YJ2H6yNTE8CrHMprAWh/RrNHmU+GyRM3JIQIUH0DxFuKsBa7zbHjWTVLRGgX8aOfLsvNi2fURZBa2YkD7KJKCMxuEhDCW/d4FzFBEqf8ICl0WHCp2NbZMyvtkpiHVGNOeTQvLmyoQ== X-OriginatorOrg: vmware.com X-MS-Exchange-CrossTenant-Network-Message-Id: 0510e2b2-0698-4e71-9dee-08da3de73646 X-MS-Exchange-CrossTenant-AuthSource: BYAPR05MB5624.namprd05.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 25 May 2022 00:40:48.5089 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: b39138ca-3cee-4b4a-a4d6-cd83d9dd62f0 X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: LI9gEn9AB17z3IvhYlNyNQkGNQ/S2YTwxEgcuEt26pDMaDsBKEp7GoPAPp7ymEjoub4z1YgAPbzH12/4Ypo3WQ== X-MS-Exchange-Transport-CrossTenantHeadersStamped: MWHPR0501MB3753 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 Count the number of entries in the Rx queue for debugging. Tested, using testpmd, for different hardware versions on ESXi 7.0 Update 2. Signed-off-by: Pankaj Gupta Reviewed-by: Jochen Behrens --- drivers/net/vmxnet3/vmxnet3_ethdev.c | 1 + drivers/net/vmxnet3/vmxnet3_ethdev.h | 3 +++ drivers/net/vmxnet3/vmxnet3_rxtx.c | 30 ++++++++++++++++++++++++++++ 3 files changed, 34 insertions(+) diff --git a/drivers/net/vmxnet3/vmxnet3_ethdev.c b/drivers/net/vmxnet3/vmxnet3_ethdev.c index d5f9903946..cd32c1b4ee 100644 --- a/drivers/net/vmxnet3/vmxnet3_ethdev.c +++ b/drivers/net/vmxnet3/vmxnet3_ethdev.c @@ -294,6 +294,7 @@ eth_vmxnet3_dev_init(struct rte_eth_dev *eth_dev) eth_dev->rx_pkt_burst = &vmxnet3_recv_pkts; eth_dev->tx_pkt_burst = &vmxnet3_xmit_pkts; eth_dev->tx_pkt_prepare = vmxnet3_prep_pkts; + eth_dev->rx_queue_count = vmxnet3_dev_rx_queue_count; pci_dev = RTE_ETH_DEV_TO_PCI(eth_dev); /* extra mbuf field is required to guess MSS */ diff --git a/drivers/net/vmxnet3/vmxnet3_ethdev.h b/drivers/net/vmxnet3/vmxnet3_ethdev.h index 7ec3b2e1f0..ceaeb66392 100644 --- a/drivers/net/vmxnet3/vmxnet3_ethdev.h +++ b/drivers/net/vmxnet3/vmxnet3_ethdev.h @@ -193,6 +193,9 @@ int vmxnet3_dev_rx_queue_setup(struct rte_eth_dev *dev, uint16_t rx_queue_id, uint16_t nb_rx_desc, unsigned int socket_id, const struct rte_eth_rxconf *rx_conf, struct rte_mempool *mb_pool); + +uint32_t vmxnet3_dev_rx_queue_count(void *rx_queue); + int vmxnet3_dev_tx_queue_setup(struct rte_eth_dev *dev, uint16_t tx_queue_id, uint16_t nb_tx_desc, unsigned int socket_id, const struct rte_eth_txconf *tx_conf); diff --git a/drivers/net/vmxnet3/vmxnet3_rxtx.c b/drivers/net/vmxnet3/vmxnet3_rxtx.c index d745064bc4..e15b377d8c 100644 --- a/drivers/net/vmxnet3/vmxnet3_rxtx.c +++ b/drivers/net/vmxnet3/vmxnet3_rxtx.c @@ -1019,6 +1019,36 @@ vmxnet3_recv_pkts(void *rx_queue, struct rte_mbuf **rx_pkts, uint16_t nb_pkts) return nb_rx; } +uint32_t +vmxnet3_dev_rx_queue_count(void *rx_queue) +{ + const vmxnet3_rx_queue_t *rxq; + const Vmxnet3_RxCompDesc *rcd; + uint32_t idx, nb_rxd = 0; + uint8_t gen; + + rxq = rx_queue; + if (unlikely(rxq->stopped)) { + PMD_RX_LOG(DEBUG, "Rx queue is stopped."); + return 0; + } + + gen = rxq->comp_ring.gen; + idx = rxq->comp_ring.next2proc; + rcd = &rxq->comp_ring.base[idx].rcd; + while (rcd->gen == gen) { + if (rcd->eop) + ++nb_rxd; + if (++idx == rxq->comp_ring.size) { + idx = 0; + gen ^= 1; + } + rcd = &rxq->comp_ring.base[idx].rcd; + } + + return nb_rxd; +} + int vmxnet3_dev_tx_queue_setup(struct rte_eth_dev *dev, uint16_t queue_idx, From patchwork Wed May 25 00:40:23 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Pankaj Gupta X-Patchwork-Id: 111763 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 BB92FA0545; Wed, 25 May 2022 02:41:03 +0200 (CEST) Received: from [217.70.189.124] (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id 0B29942685; Wed, 25 May 2022 02:41:00 +0200 (CEST) Received: from NAM10-DM6-obe.outbound.protection.outlook.com (mail-dm6nam10on2046.outbound.protection.outlook.com [40.107.93.46]) by mails.dpdk.org (Postfix) with ESMTP id E8A66400D6 for ; Wed, 25 May 2022 02:40:52 +0200 (CEST) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=doRJICRc4lG9FgjA1tCWS+ZA1mXpEe5UaigsLuaXZylpF52fgjfihzc5KSMRJU28Z95IL52Jfx/zbicktmPhgMYBaJ8KpKg5UqTx3rqMVgoYA8On5PqtWwYU3YYIlRtmzGrHo2FFgbA5b2wL5x8p931KsoERVGNOvOo6AEnb9TyFhCvbBflYDoCmu7Obuj9x1CscwfsOJKA0hZDb3VLKCz0oO5PNIq2jQImOStAQssNCLoetKHaOgmDHNasKwuM1J4og3H+VmOpNRPWc51QKwJCJZFva+dmVQxin1IlBVsf5zEezHZocjElapO/k7FeS+3xRT3QXJoYL3edXXJUIWQ== 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=g2kRpXLJN9uQc3gixa8sGQSHcdYNfeXHlbrjwGZpAso=; b=gxfbZ088ZgIahHoThvJNN88Uuo8Sw90GqDHQ/KjZwhicND2wgPmWLit4MAfYG9COtBDxy6uYAd1Sejfz0LOe4bUGlzkU88kKpPe31niam5rrP5DuTTUBZnetqu7l0NBAnPcRyLFtiAHnTn/T8DrXTKBqj4y/bjeQy9CMPYenV4yYnp50FSY61RjYDI4IaN7ETg0UzuFeYkvJ/e8yriLPK6D6ll4M4B/fshlR+sNkXmEmyKkfvD9AKq8XxW79l76PJjg7etYtHOJjFoKlhLUCRj5t+zKNSz88EdW2GzznWv7FccdKZWnT5PPr3LwoLo7LV1dCcnkHPr5cjWy9JhViaA== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=vmware.com; dmarc=pass action=none header.from=vmware.com; dkim=pass header.d=vmware.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=vmware.com; s=selector2; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=g2kRpXLJN9uQc3gixa8sGQSHcdYNfeXHlbrjwGZpAso=; b=1byM7MYa41uzLZQh8uJR/N2abIAiPR8zFHdDvvFCRsyT2CdbdGzb0sfVMOCOpS4NJ1u85ySqcaEAtaJ+PwMaiauVwDaYHnx2dBucnwun29L+XmTZdzudUmytmObx0mVOkL+4teEtbyfbXwOk75zJrOjgwLcT6gv/gGabw0hjWlE= Authentication-Results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=vmware.com; Received: from BYAPR05MB5624.namprd05.prod.outlook.com (2603:10b6:a03:1d::13) by MWHPR0501MB3753.namprd05.prod.outlook.com (2603:10b6:301:79::26) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5293.13; Wed, 25 May 2022 00:40:50 +0000 Received: from BYAPR05MB5624.namprd05.prod.outlook.com ([fe80::49ad:2ac7:16c0:51c8]) by BYAPR05MB5624.namprd05.prod.outlook.com ([fe80::49ad:2ac7:16c0:51c8%6]) with mapi id 15.20.5293.013; Wed, 25 May 2022 00:40:49 +0000 From: Pankaj Gupta To: jbehrens@vmware.com Cc: dev@dpdk.org, pagupta@vmware.com, Andrew Rybchenko Subject: [PATCH v6 4/9] net/vmxnet3: fix ethdev callbacks init order Date: Tue, 24 May 2022 17:40:23 -0700 Message-Id: <20220525004028.24938-5-pagupta@vmware.com> X-Mailer: git-send-email 2.17.1 In-Reply-To: <20220525004028.24938-1-pagupta@vmware.com> References: <20220525004028.24938-1-pagupta@vmware.com> X-ClientProxiedBy: SJ0PR05CA0056.namprd05.prod.outlook.com (2603:10b6:a03:33f::31) To BYAPR05MB5624.namprd05.prod.outlook.com (2603:10b6:a03:1d::13) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: cf2e692c-7438-478b-e9df-08da3de73673 X-MS-TrafficTypeDiagnostic: MWHPR0501MB3753: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: DJ1oAQ8WuP68CsN6bYDzALUpmUuUvNPOM0NKLUOe7VgwTsajRQ7wkWj/MvTbQ+NfehcWOky/gJm5cD6OyFFrRRcLU65wAd0YcqpRzOEsfTAPmoBUiUeXckFs1OAe5EhFYZn8zgkfm60yQLwnANNn8FMWrPe2qNNeJ3w4ROrAcYP8loOFs3xsK5qCzpXS1UxG9F95hn96Zwbfs4BYkbpx5tUqfCOrIyRrtlfE9aFKsTL5enE7DuRIM20qaZa6kZqlGAUQOa0eCFsReg9y07+VmTBQypITfjEvSKK1/9GYtf1obS1ZfgonVvH8bonSNNfW41FcuTdEoJ+QfKpQY7jQOf9rExKslGsYcccFf8AcRvWxo9bvaCwrGQxF4qlY1ki25Yy516xya0dG0a8yQ5i21dHG7eiOgN9XWVUxmVdmy1vKA+dO+m4nAAvkN8SMaKfYyrdxVVW6GfHuvTZL981THOfeRhjPUNKEax19beloEUWikjAn1nPQxM5WzfgANCq8KwLfpWOvDhe+Uo1An+d22nCVonKPJ+d/30PvZYRJJTIAoavoD9qXoNm3RLgj4pI3jRaywQl0upQlnPFHcEuH0Y95wrSxW+6iaEp9n4IOWbHn7AvFEO4LUF/Jah0rtU1xDeOweI0tO3iAMla/KTLqKDbICr8FkLKf8/phHHMbT9GoOOCrPKZ3vesqqBB6qe4MqFejCsWGmr+itzWnmCplUA== X-Forefront-Antispam-Report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:BYAPR05MB5624.namprd05.prod.outlook.com; PTR:; CAT:NONE; SFS:(13230001)(4636009)(366004)(186003)(52116002)(1076003)(2616005)(6666004)(8676002)(6506007)(316002)(66476007)(66556008)(66946007)(38100700002)(6512007)(34206002)(4326008)(508600001)(6486002)(6636002)(37006003)(36756003)(26005)(38350700002)(2906002)(5660300002)(83380400001)(86362001)(8936002); DIR:OUT; SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: HbycMsDPHfsHbwzFnzOA8Pt2aOpR6FMewHU3Z31ZL/rkKKHkdQ2Alv7z7PutI4MLAhQ2xgJTRXvA9DUIGYBClN90SQXIxBMyotWdYmzJG4kEQ7OR2bn62VtNALKg4mnBKn6amOwu1uuEzzb75BQD3uK2AmnAbEdVAPpe1aA8Uo+HRuamn+ZBLTZ6+n9YR7kjhGGwukPYPh1lhSY4Rn8f6PPNmGL/nnYs29GW9pkz6tWk+W/nwWwlc4fwyiGngxUoDJcfCy26iXT6DogIiIcGSndG4pTeRLeY6eTGTogKzKEOe6FP5c6n8s/TvNI/bvyzDBQOWR6FxcYjGLhdqZ6UnIL5mzKDsZ1hy/zNkfYlESNTVy/CJez+z4xYGDkHio7BSGlflIJqcaixJe4FpaCBvjpNLau0M9pWba0IVAYCf0Dj1qx8JknLxxqNGT5mWEUXGLGsTQ5XyU2xiT9+f/VmHWxIjUBPz/6uUAp7LAcAInl/aE2Iddyp6hU4t4idHhXgqEkRfnGKKV1m9Djj8rDIcpml3PvJOMKRPknl1QKCalf31TzW4VKDWXw+lcP24CNgI16Q1mxW75nP0k+zQMqQ+UnrbI/2mw+28tLVIn3kd/oa6d4TzvlTZfgMBLP0Vcg5tzD1arA7WyWZlET1br+OVN5eKiC2ivJ0NcA7EnZmkb7mcyTGv8P50VbEcGOoBQIXVDGdtZNiquqLl04+liMRcnq0S6q7DYVPA3UzPcR1yd4SJJ8C4T6R+GAAJVDw/ofuCqDE5NO8Fm0+CSm3ukU7d5oy57AVvz+PCfmZTGoowKR9jL4dh7VlxUpXKTneCUBkjPZQvFon07B3F2DbKvBIJe5mTRp/tvr0ruAJAWEYroActUVpB7VAD/lM6981/QiXWjdheaw0huX5tfNerBPBy0fwd0lX+ZQ9iCOK496aqqmrASakShBdCk2SJTaPuREcxXEj/dL1ny/TfqyFVzmcffz5pcXVHd6toR4M+2BN4P/WA4M/vX3zQ90niF6NFootdIE5cUY0tBwL9TP1FxbqLNFzLOoSnVMi9sp5H144UO6qC5CWAkeGZQ+nw62+ZuWLuveygOMCdqT6Z3tz5Rp/YHIf70SWxfLfOcMFnFC5gsbJkXn1u9MRl13MPuoaHx7GLLQVsU+mXjHKCyFRBecIlrZ7AljrljD7OeY2CIO473Y6+IRYBYhxJsdRJLw3S4F7+fpUG5ZRLNBqNXZEKmyiEt9RFNeDCUPxJtvomJ46BQdUOxHYCEHVWyvi5+U9e6171SH7hUdsSZh6XwWDsQpMgR5LkvHJ0+JcZHpe0o5ux88JdVJU+ZtETC3qYWkFTzUosYjUTTTNAwh1FdTYxCq+G9BC7hwcKHDBroH7AJpjoURraMRYmK6uyojMjLFKbsgDL7dq8PjH7PpMjPYBp9M1SSKElR+yl0cX8h2OyjZRAKW6Ji/ys2FyriAG7sxPM1XIbkSKsIsGWM38QZS38sMRloNNLTl4C4ohSLuFBgwF9B9BLYzYHXKNfBEbBStHK62J/dxtbF7+Q3UFdLsyNFrEoapCEGRupRhDEyc2BjFyRwqPdwEUxCankc2IvcNs8K7XbQEv0Sc9fh2gCz0PuYICdDRP4S3S0U3Wv2AIsXAp27kJhbFFgcDR22uaok1Pp5OhAEddRKF75rNedQ2/2PLY9vZtjRvdg8X4BKgmGE+PnIh+WkAaNA5cb72O1aF5wP2Bq7lBuUP1MycSLm28u+fP2w== X-OriginatorOrg: vmware.com X-MS-Exchange-CrossTenant-Network-Message-Id: cf2e692c-7438-478b-e9df-08da3de73673 X-MS-Exchange-CrossTenant-AuthSource: BYAPR05MB5624.namprd05.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 25 May 2022 00:40:48.7589 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: b39138ca-3cee-4b4a-a4d6-cd83d9dd62f0 X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: hoxzeILlKl0HabSr+AzrmvhMK3zofNhHXqrb0l1UBYGX9C7T6lfmWwB8y+9laqy+4CPMZVs1+LS/NPIH9UAehA== X-MS-Exchange-Transport-CrossTenantHeadersStamped: MWHPR0501MB3753 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 Driver callbacks initialization should follow callbacks order in the structure definition. Do not reorder callbacks implementation to avoid extra noise in the code. Signed-off-by: Pankaj Gupta Signed-off-by: Andrew Rybchenko --- drivers/net/vmxnet3/vmxnet3_ethdev.c | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/drivers/net/vmxnet3/vmxnet3_ethdev.c b/drivers/net/vmxnet3/vmxnet3_ethdev.c index cd32c1b4ee..e84d304378 100644 --- a/drivers/net/vmxnet3/vmxnet3_ethdev.c +++ b/drivers/net/vmxnet3/vmxnet3_ethdev.c @@ -124,27 +124,27 @@ static const struct eth_dev_ops vmxnet3_eth_dev_ops = { .dev_stop = vmxnet3_dev_stop, .dev_close = vmxnet3_dev_close, .dev_reset = vmxnet3_dev_reset, + .link_update = vmxnet3_dev_link_update, .promiscuous_enable = vmxnet3_dev_promiscuous_enable, .promiscuous_disable = vmxnet3_dev_promiscuous_disable, .allmulticast_enable = vmxnet3_dev_allmulticast_enable, .allmulticast_disable = vmxnet3_dev_allmulticast_disable, - .link_update = vmxnet3_dev_link_update, + .mac_addr_set = vmxnet3_mac_addr_set, + .mtu_set = vmxnet3_dev_mtu_set, .stats_get = vmxnet3_dev_stats_get, - .xstats_get_names = vmxnet3_dev_xstats_get_names, - .xstats_get = vmxnet3_dev_xstats_get, .stats_reset = vmxnet3_dev_stats_reset, - .mac_addr_set = vmxnet3_mac_addr_set, + .xstats_get = vmxnet3_dev_xstats_get, + .xstats_get_names = vmxnet3_dev_xstats_get_names, .dev_infos_get = vmxnet3_dev_info_get, .dev_supported_ptypes_get = vmxnet3_dev_supported_ptypes_get, - .mtu_set = vmxnet3_dev_mtu_set, .vlan_filter_set = vmxnet3_dev_vlan_filter_set, .vlan_offload_set = vmxnet3_dev_vlan_offload_set, .rx_queue_setup = vmxnet3_dev_rx_queue_setup, .rx_queue_release = vmxnet3_dev_rx_queue_release, - .tx_queue_setup = vmxnet3_dev_tx_queue_setup, - .tx_queue_release = vmxnet3_dev_tx_queue_release, .rx_queue_intr_enable = vmxnet3_dev_rx_queue_intr_enable, .rx_queue_intr_disable = vmxnet3_dev_rx_queue_intr_disable, + .tx_queue_setup = vmxnet3_dev_tx_queue_setup, + .tx_queue_release = vmxnet3_dev_tx_queue_release, .reta_update = vmxnet3_rss_reta_update, .reta_query = vmxnet3_rss_reta_query, }; From patchwork Wed May 25 00:40:24 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Pankaj Gupta X-Patchwork-Id: 111765 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 842CDA0545; Wed, 25 May 2022 02:41:13 +0200 (CEST) Received: from [217.70.189.124] (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id 0C30142802; Wed, 25 May 2022 02:41:02 +0200 (CEST) Received: from NAM10-DM6-obe.outbound.protection.outlook.com (mail-dm6nam10on2046.outbound.protection.outlook.com [40.107.93.46]) by mails.dpdk.org (Postfix) with ESMTP id 99F0840E2D for ; Wed, 25 May 2022 02:40:53 +0200 (CEST) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=cGLc0n12iVT0qQfkDRxsRhmTYvFN+548YPVosCaPg25p2N4wAoDpA/92nZ1YPx7NuLKNWHu779aB/sVDbMRfAWRUmSLpwaZ4S8o1ZU0p8lBQBWr2n//xFX4EYZ0kQr7fGvyRruKFHn8AISciZdHAv23DjaL25StmhzHJzJ622BVQrkbQMC6N26Ry7VSZN25AKhhMWcUmkf/O1FQTseSxQnrMOhMUR74OhVRFBXskC0rOKB+ATEAkcysI/SLH44WhoPHdggB2liqgcChwtna80yJDhdy9shljyO98o3feBMpTp2ah9v1iRAtttwIBQjzIjwDXVRO7KmhiJjwVxgwuRQ== 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=8X/0vp0YQNs6WToYNxZknyi/dEH2fyrN8jK+evoWHuc=; b=D9W8sx0YcwyP8LM7OZIR5H47P0WRDjPsjdi0eY84wl5S52oeoyEIo5//V0mLhj8OM9GoffqNOlUiJ5kh02kYBLeLWozMYJfYFtfNnXd7eKDQL5tT6QKHGXmKPpgCHZlweuAmWGtzeC9ntYodKJ7e6I8YPJ/8pq5KHFbk1lpVey6m+hSGO725HRjm6XY3bRUTR2qMb0g70/752ukQMVrcUzje1/Nnm65RHxLs1CDKrLlguvzTM2ri75nzdAadCjTX0fbWnt72uw/0utrnY+VlxYUnd4DLNHGgc+hBe5bzA17+qQO9hZhoG97Bxh6KJj4dMvi67mCzni0swGE9y+oK8Q== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=vmware.com; dmarc=pass action=none header.from=vmware.com; dkim=pass header.d=vmware.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=vmware.com; s=selector2; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=8X/0vp0YQNs6WToYNxZknyi/dEH2fyrN8jK+evoWHuc=; b=116uSdNuDex2csRycJ9j37GucJx92LAGKOB/JylIS3Br1XtVA0FNE8Cw0+ITaJmVs46yjbVIBIorc7uYwydqGMwDLkxR0vjBWzr1BMWeRkqAnA4xqBYYNs9eTd75AisX7XFeYN015BSIBtUv+XqQg0h8/CZw8xKPfKAAVXrbvPY= Authentication-Results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=vmware.com; Received: from BYAPR05MB5624.namprd05.prod.outlook.com (2603:10b6:a03:1d::13) by MWHPR0501MB3753.namprd05.prod.outlook.com (2603:10b6:301:79::26) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5293.13; Wed, 25 May 2022 00:40:50 +0000 Received: from BYAPR05MB5624.namprd05.prod.outlook.com ([fe80::49ad:2ac7:16c0:51c8]) by BYAPR05MB5624.namprd05.prod.outlook.com ([fe80::49ad:2ac7:16c0:51c8%6]) with mapi id 15.20.5293.013; Wed, 25 May 2022 00:40:50 +0000 From: Pankaj Gupta To: jbehrens@vmware.com Cc: dev@dpdk.org, pagupta@vmware.com, Andrew Rybchenko Subject: [PATCH v6 5/9] net/vmxnet3: report HW version on FW version get Date: Tue, 24 May 2022 17:40:24 -0700 Message-Id: <20220525004028.24938-6-pagupta@vmware.com> X-Mailer: git-send-email 2.17.1 In-Reply-To: <20220525004028.24938-1-pagupta@vmware.com> References: <20220525004028.24938-1-pagupta@vmware.com> X-ClientProxiedBy: SJ0PR05CA0056.namprd05.prod.outlook.com (2603:10b6:a03:33f::31) To BYAPR05MB5624.namprd05.prod.outlook.com (2603:10b6:a03:1d::13) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: 83708fe1-4213-49b7-0ecb-08da3de7369a X-MS-TrafficTypeDiagnostic: MWHPR0501MB3753: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: cyw/Tz15C9L0h/osT13bTw1L7gcVwqB3NxElpv+GPKibQpM+P6RaShm+OeGgtrnIL1VxsnuCHxqnwiDbsJSiUmYjyh1XIOEWYFO6ULyxpj1NUmSzdUN5Tri6Sen6J6HmuJjkr2DmU0fwbpzRTDhfNJovxBQL5Rcdq/faGqckw1c82Y8bQjnc1nJn+Cf5XGIpPySwiDLRSNOBOwaAnutb8iUt0DNlOyasi97tJubvcFKYPixq6xfObP1K95V/RqVovAp5PNwQpvqcwIymLV5bY/q8PCJorPdcP65la6N6rbcg8Mu7ESb6+by57NdmKj7L1ZjbF+/Kcq/CN6yj682OGcXrkxbxmpBeOD7tpo4YCmJRfgItGfpP5jQgpZ05JUcdriBlXD2E2X3ucWw4fD/tKZzXuzXIOyEBIok+xOHMS0JZMYpchrPbUV8LaZuzMpdq8gq2/U4+VtNzG8XLgGxt1+zdv5EhFI+/KolKRJbV5ihy972TC1jSKL4nlVbf5EB5LTjMlKZuwCH8UGR2Yzq5cH9ANN3kmq+aR/npGsXnQD8P1iEr+ywzcNZzTFr/XRZVy4aj5mAZV6bgHbukXtaFeXJ+UW/Ja6QLczMmZH5ti/oUP1CvySVyrZigUnobBgl2wUxVD0gsVf9mabvry28QZpEQxQyDKiVLhXooT/eC6ZvhjWVlGv20bZ+xcNQJU134BG0We0pAPBIlplWIXMy3ZA== X-Forefront-Antispam-Report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:BYAPR05MB5624.namprd05.prod.outlook.com; PTR:; CAT:NONE; SFS:(13230001)(4636009)(366004)(186003)(52116002)(1076003)(2616005)(6666004)(8676002)(6506007)(316002)(66476007)(66556008)(66946007)(38100700002)(6512007)(34206002)(4326008)(508600001)(6486002)(6636002)(37006003)(36756003)(26005)(38350700002)(2906002)(5660300002)(83380400001)(86362001)(8936002); DIR:OUT; SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: 8ZUUp5z9vyjGkSQ3JmpovOGy4boqYZt4I63XDtes9WvoFSYcu+1wTfAWFpxjHYJ0/m+46RGBg9ehRgXW5WVKpdOXpextEaBiVuprIUpOyNOJm+njNGg43MZyonUJeK9LcUJ6wb2kjsEj+m6cHUeiS7JVtVh2lGEez+qgy8z+j3FGnwLbVckAcUEDQPTzrcBUKKPgaQwlMawJGIhQPbKmFeBHYWzqevoarldtuG80ORlf+Kh9jlCRU2vVrS4EYmlkvQD2eGSgpf5XkRtZk0kt6ahem93khJgyYJ86PjyVqVPmPusJKbTHfuxPDdCnULVitgIVZA+An88TpVGqN0j4xmulTqU7gj328FgO2nt8CvtDza4+TTL18Q6bBKUs0eUJtLHRjIzkn6jm2i3t4qW7loaNdJkiVXVQ7SGaWRTMTgw5bGN2Ci48Oo/yxEOh0yYNB95Dkz3cUjGOy4Uly6HLLh/NzyPfFhZSOWodNgAZVwMlnf7sCrnyN79wakmBpW8eNnziSSuoBhpUwB9T9geDwbeG0dsmTCzWX/I0274JYH0OmvfcIPTzfgHX64B7E5FpLP9pSQNP/D8c9H16R+nA4A9ABpGGKLdb5A/7UZbNmIHG9er+WBO3aQ5BriADyqMVPfbpa1M8M3pNeTP1wCyin2v52zBdik+f6dQtkTa6eRwhiXSTnbQ8Eb+/fkmOk62BtzJkxex96tj7bfWg48zlwM5x44pL3q5WjW9r+w++bzkw+a7zvi/tMee/DFuYlSJ01cij54UafJZQrY8eIwyyFsxshFIUx6LEzdPGaE0cpT6JIa77PQjVTEcCmm3P5ahZaR/zEFsp/ZeiZGABqED1jMF4f866Xr5CJlhLiWg+bSKBGdZUuk009BgukA8TijpKxY+Tj2W5taCghNvGTpygEoHdVe6wvzItvceH0b5CTrs537yAKiPRLw4ZmRAoUNGTrcWSf/wwGQ9ufhSWFzXGi7rUeQj6h9PdaAoYOhJ5YyOJQQfGTC005x4VuzccmQeH38ZtKuSwAmUy7zKoqVglX2UepFPtudKX+cwJgy2iJ+/HASQSWTt+4RcMKpi0QuhM9vX7WMA/9sjuD0CXyiRzQ9dFPfkFaQrvjHJdmK7ycORA2NEExg5AKRqzLax5vZ024ACv1Pxq8LNUVZgQ/1sKcKNdWr7t+CveOC4X+XXwVnqn6KkfQcTurO3fNPkTtoee3ZMEl993MevoLvJr0zN44ErXtEyHrQub+OK0OHqOKx0hZnz08dzDK8OkZ2y9XM55AkdPIBWedz5sR2jrUex+xVwcmbvktbzCxjh+JF4KBd3nGR9a/OtcZzRlIrZXizDaBiFydMyANbxElkB/pEDOJcMH1v6ySTy56u2hsF/xhCVKOwiwJsGhBbBg1Nezbe8kPswyTclMpEit0gP2a3eRBeDBLR/KT2Pzknp3kdIUlQ7AD0eQqUNpA8ujG1k67Pbxu4j0ej6ETJBBHRxuW2crPanOumvM7I6LK4y0HBNGXDwREH8V7azFnPzbhG6HgjQDedF2EnXwzwYqhSJYeGnm5tCMIeIY3pVN+c/HDU9WvcBNnG0w+aG4vc2bZhuY2XZetNIU0UGAgjiLnMACqHdOGr1dgiV7DcgtVJpN3e4ppyJFrAz3LxAfTNLmT43gDOvkQxIvK44PgnCznUwIei4usdi0MIB6vmRO7kLK62a1ZcF3LTUFSE/jkliZ0DGOI2OdfPFCoRPkpz9R0DJxI1bNNQ== X-OriginatorOrg: vmware.com X-MS-Exchange-CrossTenant-Network-Message-Id: 83708fe1-4213-49b7-0ecb-08da3de7369a X-MS-Exchange-CrossTenant-AuthSource: BYAPR05MB5624.namprd05.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 25 May 2022 00:40:49.0558 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: b39138ca-3cee-4b4a-a4d6-cd83d9dd62f0 X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: SnpAHv0lTA1Au6dKQf7O/X/QgmVx0V1ErbFzD5em4t5KPtvro3QmlhonruaqVzNbyOIxOd4ZKJjjIGu82rLJtA== X-MS-Exchange-Transport-CrossTenantHeadersStamped: MWHPR0501MB3753 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 Support rte_eth_dev_fw_version_get() API. Tested, using testpmd, for different hardware versions on ESXi 7.0 Update 2. Signed-off-by: Pankaj Gupta Reviewed-by: Jochen Behrens Signed-off-by: Andrew Rybchenko --- drivers/net/vmxnet3/vmxnet3_ethdev.c | 20 ++++++++++++++++++++ 1 file changed, 20 insertions(+) diff --git a/drivers/net/vmxnet3/vmxnet3_ethdev.c b/drivers/net/vmxnet3/vmxnet3_ethdev.c index e84d304378..62844f3d39 100644 --- a/drivers/net/vmxnet3/vmxnet3_ethdev.c +++ b/drivers/net/vmxnet3/vmxnet3_ethdev.c @@ -85,6 +85,8 @@ static int vmxnet3_dev_xstats_get(struct rte_eth_dev *dev, struct rte_eth_xstat *xstats, unsigned int n); static int vmxnet3_dev_info_get(struct rte_eth_dev *dev, struct rte_eth_dev_info *dev_info); +static int vmxnet3_hw_ver_get(struct rte_eth_dev *dev, + char *fw_version, size_t fw_size); static const uint32_t * vmxnet3_dev_supported_ptypes_get(struct rte_eth_dev *dev); static int vmxnet3_dev_mtu_set(struct rte_eth_dev *dev, uint16_t mtu); @@ -103,6 +105,7 @@ static int vmxnet3_rss_reta_query(struct rte_eth_dev *dev, struct rte_eth_rss_reta_entry64 *reta_conf, uint16_t reta_size); + static int vmxnet3_dev_rx_queue_intr_enable(struct rte_eth_dev *dev, uint16_t queue_id); static int vmxnet3_dev_rx_queue_intr_disable(struct rte_eth_dev *dev, @@ -136,6 +139,7 @@ static const struct eth_dev_ops vmxnet3_eth_dev_ops = { .xstats_get = vmxnet3_dev_xstats_get, .xstats_get_names = vmxnet3_dev_xstats_get_names, .dev_infos_get = vmxnet3_dev_info_get, + .fw_version_get = vmxnet3_hw_ver_get, .dev_supported_ptypes_get = vmxnet3_dev_supported_ptypes_get, .vlan_filter_set = vmxnet3_dev_vlan_filter_set, .vlan_offload_set = vmxnet3_dev_vlan_offload_set, @@ -1410,6 +1414,22 @@ vmxnet3_dev_info_get(struct rte_eth_dev *dev, return 0; } +static int +vmxnet3_hw_ver_get(struct rte_eth_dev *dev, + char *fw_version, size_t fw_size) +{ + int ret; + struct vmxnet3_hw *hw = dev->data->dev_private; + + ret = snprintf(fw_version, fw_size, "v%d", hw->version); + + ret += 1; /* add the size of '\0' */ + if (fw_size < (uint32_t)ret) + return ret; + else + return 0; +} + static const uint32_t * vmxnet3_dev_supported_ptypes_get(struct rte_eth_dev *dev) { From patchwork Wed May 25 00:40:25 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Pankaj Gupta X-Patchwork-Id: 111768 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 6DB94A0545; Wed, 25 May 2022 02:41:29 +0200 (CEST) Received: from [217.70.189.124] (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id 198A242B73; Wed, 25 May 2022 02:41:05 +0200 (CEST) Received: from NAM11-DM6-obe.outbound.protection.outlook.com (mail-dm6nam11on2070.outbound.protection.outlook.com [40.107.223.70]) by mails.dpdk.org (Postfix) with ESMTP id F3EF6410FB for ; Wed, 25 May 2022 02:40:53 +0200 (CEST) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=Aw8lXZ+Ts2o8ice1kiw9Dvga4lPfE8GxKZvJ7Zv6Dx4NbXrJucnHJT7MtLsqiflsir2SXPl4WVnYyJMlcgEGKJGYwkFFlzzq/uwWDGDX/WsPWTSrr7/LIAa/Pgh1PmbdowYu+VJUgEx1j+QpqwBncrn2YWo6RzZmssZAQof33GHjDsbgnR5T7L3kOKKp3F1OC0qkCQgFj5un9B6GAQvE4eBC7ffk5lzeLh6Q7dM8DHoQYVhS+oU5DI9dXgF6Qrm4D986m5br3MLQSAPiwcJHlpJd+M9GowBTGM3QlmhpSeTTg+rMGCZZRoH+T9s7hEEsyDPKLPqeSMi/r85Ii5p9/w== 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=8rIFgrWj9Sl0709PZ6gJGluFlXPRNIZ+3gBFNg1M0Zc=; b=L1/735TGizibrTXTFUnIUxIE1DpwTGrY3PSL21dHQSQlkHjcuHMBVnEn33WaTjEeO6TDBXsR/N/trxAG9SUU+UxUw8oeZ0clFsBpHYcdAxq36lc9mE3hbfIZ4gV2pQTIyLfcV+HFvuwY2+p7DuBhoulXZW77j7VCxSUS8uZxXswGCDypXCQr8v2YdrV+W4USR0wrOjMrUKWHMlUA7JqLcsv0VaQVmvjpSCyZg2XTf8zzUGxUuQKI5OHrG1J1VJvHYbCNYR3DNj7OI2YyyZ/1EmU8z88ARzoneOmIc64wnC1wZ5lmnGFRYENGeFdkNcRSa1WGALl1uJtpbyn0K5LkRA== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=vmware.com; dmarc=pass action=none header.from=vmware.com; dkim=pass header.d=vmware.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=vmware.com; s=selector2; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=8rIFgrWj9Sl0709PZ6gJGluFlXPRNIZ+3gBFNg1M0Zc=; b=mrmqJy01kFUn7uarxAYpnN09Z7wdXPor96BBfmB8WqGMd28Ydp5XRkWro8iSHhE+G9ymyaG6V7gtCQX3heS+se0nYyLy8HodF33rhGH+NvQzRTUTrCKE3RIo763rUneSY/yrnuA7M7iUrHC+B6bfUCfRMLTII4H+0YBj+2h5WOs= Authentication-Results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=vmware.com; Received: from BYAPR05MB5624.namprd05.prod.outlook.com (2603:10b6:a03:1d::13) by SN7PR05MB7534.namprd05.prod.outlook.com (2603:10b6:806:f7::8) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5293.7; Wed, 25 May 2022 00:40:51 +0000 Received: from BYAPR05MB5624.namprd05.prod.outlook.com ([fe80::49ad:2ac7:16c0:51c8]) by BYAPR05MB5624.namprd05.prod.outlook.com ([fe80::49ad:2ac7:16c0:51c8%6]) with mapi id 15.20.5293.013; Wed, 25 May 2022 00:40:51 +0000 From: Pankaj Gupta To: jbehrens@vmware.com Cc: dev@dpdk.org, pagupta@vmware.com Subject: [PATCH v6 6/9] net/vmxnet3: add version 6 support Date: Tue, 24 May 2022 17:40:25 -0700 Message-Id: <20220525004028.24938-7-pagupta@vmware.com> X-Mailer: git-send-email 2.17.1 In-Reply-To: <20220525004028.24938-1-pagupta@vmware.com> References: <20220525004028.24938-1-pagupta@vmware.com> X-ClientProxiedBy: SJ0PR05CA0056.namprd05.prod.outlook.com (2603:10b6:a03:33f::31) To BYAPR05MB5624.namprd05.prod.outlook.com (2603:10b6:a03:1d::13) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: a67edd46-6d7e-4915-5a9c-08da3de736c7 X-MS-TrafficTypeDiagnostic: SN7PR05MB7534: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: Osdef7CoQfZNykI4WAErG/xucHM3KgNFgVS9FVlLkRnTHapvqb7VKx8FpWRTujRUgdP8K8VnV0L/puWKAVypVrqqFVHIRehY/aBeLyjsF3kug7zj6LZsMS2b0ZLg9lkgBbEHXdiKlII6NgFegTMTD4ULf8qR4uAAaq6OY1N+bIrpoustMXHcnLSvVU+q10pywmS43dh7JvVjQmJKdvWElwcxQvuYY28X5cxMkswS/cplNPsuLMZWEsSzewgsl8XBUp6FgkHKvIbc7rYQVmZ3EBfgTcKhDypC6xcoOwXvK9gvdtLNuUz0Es2/GBnoyxbon7FsOfiHyZSuJ2fzBMC4LUB+VWHapkAW+csJL3J25Uk2Gh3+Axh5p8arztoBnMi7V5U5lPEvRjaoDMFyJUWJRjf5nvGMF3wFCtiNv80zjuHuOnErsE/uR2T/RVVWRgFyiudPFsmcFIkY4upP7u4NKnwCKrnk7mvdsUQMEM2nfaiwz0MjKCl5FEYGNurVMKI4e8r9dcMQIOLOpozXPz+ZJDPxJVer4V58Q9cak4w2N0C1s0zQHjdp3HRIRwRpkzMsen0a1sgPz8zqtTBq507JSqfHuH+trHc79D3zBZ2btqT6iW6NosaiCJVXvzxv7DMGQGPM5sU9Bxwx5AmUfLVBH23KTExz0lcV5uCOGDwc7I5+tzbzb5RJi9e4eFv0k6EK3+0LvoQgfqf+W8JfGQjOrD/3YGNldVUFfV6lyGmuA26TjAC4heARcPYPHBj0vXi8rOpK7EJDUCp6tU/Jf1O6xQ== X-Forefront-Antispam-Report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:BYAPR05MB5624.namprd05.prod.outlook.com; PTR:; CAT:NONE; SFS:(13230001)(4636009)(366004)(316002)(30864003)(38100700002)(5660300002)(38350700002)(8936002)(186003)(52116002)(2616005)(36756003)(6506007)(19627235002)(1076003)(6486002)(6666004)(508600001)(37006003)(6512007)(6636002)(107886003)(83380400001)(8676002)(34206002)(4326008)(66476007)(66556008)(66946007)(86362001)(2906002)(26005)(21314003); DIR:OUT; SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: ONHsPZjE6X/l20QiWI2a4yjUpEQV/9s7u4YcVYlM5HcEA3kRjFhETmLIt4nPjQB5MnEoL/NWEOtfDNx1JG7j/4xQnw7nuz+cit06Z8PhXlsg1u+a11t510jFPSYbKDUrTiwTuvPc4i2QNf0S/zC3tNCBa+1gcHaolk3f2oI6txmsQdQGZNP0dOzmttqGN20w5IfZVcaYfla8hUX+FzuCTsb+GrB73nPi2aRpimpcNG3M4iYAN2jKrXnNKAxj4DarrdeiOWnSUVC9shRt9IXMTrtV/8f7UCXrFPhRT0IpA0z4zCspFNJ+5YOi8lbKBBAwUQB8Hr2Q7MY0TrGvfveTsuYYxi1zu8EN+K+f35lmuGC/iEVDNpZWoGEqcrmiBl9ZZLhGV1ILSD6IEg4BGWGHw8ehts+wpKbKJ3r3bpwQjrCqZGwFfvB7WyKDnvDUSby96DCV06/9mVjEyl5q6Uel5DHaf/CLAa/l+lO6Usrs+UAWyxDzk2YsqiO+3d+AxCs5qXUi6/+3AoNIeg+Fc0EoW12L97BAzm45Fl84K08QTXM0F0Ckv4xt9+1oFIQSnfC9Xe4KxntGwMc5aAynw34zbv/i56e0+sNY5rgualNdbhX/789Kw77xfDGp/jFxmD8vfgj60ZyjFlv1HIi5bMmnuS2BIERj/Wc2xzWVsJoq2Yw9ijy1vqBtmhXuZWL1zplZo4JyaSJVsc1FB103QxzmQ/9BVxnhF6ebQZCwziL9dsXI2AEg59HkkAq68ig8U7ZZ+Jtp61ccWeZMbIVX3UWhww62em8WHGpjnhFlXdsZBkRV026FT/Q+j65XaKlArOY8EOVEfhOEFahOujC5cHxa+hxWWI3Og3qtMhp0Heg+fVYwQib0AzMhhewrLjrbUBegVyEhto/OO7xI4R2ZwiJDbzyOeKRe5R2zaz4FNKG1+SjOqqDOQ/KLZ65S1b0MOT9OeXTleFe5SUEuygcov2348JNlkieBhd3xXB2jFIsVmMbUaNlPc5DcPN851nVEoeSEHLzUlyOpjsQJHk1aMbSOA9LmoO/hEkcT1eN27PO0uBdaX/m4+TWBbwnnVJvNkVFlWw5NSMTSff5WMQ9kDHQNIu5/J2jda4Q5G0Zqicw14hri+OuCCoJItxDD53MVitPOGpuzU6enmJSgct1kyhYI8s+7O1XrVY53v1zE0ywoMZurJk6tuJECQm5Eukw3Jmn5NtAhDWQCql80VErE+VobJltP2LmEFcMJiqacR7ufriRfnVc6EvxpPYcQ5hN5jbEMNGwyC2yvtORQWJbLd1zFIFJM64XNdH9MQF+T9/BD1dm7w2BH0VeZ81pAEUfFl+vO3EJUNExP8cpGaWcJXgpi/gruJtoaEP+MPNxJ/s3mVZS/1NF39cHynItCGel6mvWx/qc1DCXu3Tjk8SwKCej/nRWA/BQQZr8uL7otLAzqbGLsQECw1dHRPL4fc3lS6MRXUWsbSPK/vTgpbEEZBEDZsCjfeVZZlOdehPUAIAkTFxUq7vp9yRTmNxp30kk93KUWlmHVYKCIjIHHR+dNxNSwYUSOaGspn3wdVGUuWS/zVrf34lKs0FvsGJRmYyKXCTUyD+nbAzDK/172nPTPprgL7Z9kzz8h8pSm6HlbikurAWaOxrc+IDn3KjcnbDeLNGru374EhcT0xMgnRfMYQRoZEi4N0Z1+qsber3ip+QmpWMTO0IRbIZbiiSee1PS0wlpMAMwMoKc79fisep6S7MmEPQ== X-OriginatorOrg: vmware.com X-MS-Exchange-CrossTenant-Network-Message-Id: a67edd46-6d7e-4915-5a9c-08da3de736c7 X-MS-Exchange-CrossTenant-AuthSource: BYAPR05MB5624.namprd05.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 25 May 2022 00:40:49.3839 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: b39138ca-3cee-4b4a-a4d6-cd83d9dd62f0 X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: slB6Kgs6gU0JJxVb1xp2/xKYAYmwNUdTnEowD2QDA30rYwejQGyQefyIpYu1QwxZaOZ+XJvA/OQ2CwpzKnx/CA== X-MS-Exchange-Transport-CrossTenantHeadersStamped: SN7PR05MB7534 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 VMXNET3 version 6 supports some new features, including but not limited to: - Increased max MTU up to 9190 - Increased max number of queues, both for Rx and Tx - Removes power-of-two limitations - Extended interrupt structures, required implementation for additional number of queues Tested, using testpmd, for different hardware versions on ESXi 7.0 Update 2. Signed-off-by: Pankaj Gupta Reviewed-by: Jochen Behrens --- doc/guides/rel_notes/release_21_08.rst | 8 + drivers/net/vmxnet3/base/vmxnet3_defs.h | 73 ++++++-- drivers/net/vmxnet3/vmxnet3_ethdev.c | 220 +++++++++++++++++------- drivers/net/vmxnet3/vmxnet3_ethdev.h | 10 +- drivers/net/vmxnet3/vmxnet3_rxtx.c | 2 +- 5 files changed, 234 insertions(+), 79 deletions(-) diff --git a/doc/guides/rel_notes/release_21_08.rst b/doc/guides/rel_notes/release_21_08.rst index 4027bd4390..810da2cc1f 100644 --- a/doc/guides/rel_notes/release_21_08.rst +++ b/doc/guides/rel_notes/release_21_08.rst @@ -133,6 +133,14 @@ New Features * **Added RETA query and RETA update support for vmxnet3.** +* **Added vmxnet3 version 6 supports with some new features.** + + * Increased max MTU up to 9190 + * Increased max number of queues, both for Rx and Tx + * Removes power-of-two limitations + * Extended interrupt structures, required implementation for additional number +of queues + API Changes ----------- diff --git a/drivers/net/vmxnet3/base/vmxnet3_defs.h b/drivers/net/vmxnet3/base/vmxnet3_defs.h index 8d62b3e116..bd6695e69d 100644 --- a/drivers/net/vmxnet3/base/vmxnet3_defs.h +++ b/drivers/net/vmxnet3/base/vmxnet3_defs.h @@ -103,7 +103,11 @@ typedef enum { VMXNET3_CMD_GET_CONF_INTR, VMXNET3_CMD_GET_ADAPTIVE_RING_INFO, VMXNET3_CMD_GET_TXDATA_DESC_SIZE, - VMXNET3_CMD_RESERVED5, + VMXNET3_CMD_RESERVED5, + VMXNET3_CMD_RESERVED6, + VMXNET3_CMD_RESERVED7, + VMXNET3_CMD_RESERVED8, + VMXNET3_CMD_GET_MAX_QUEUES_CONF, } Vmxnet3_Cmd; /* Adaptive Ring Info Flags */ @@ -571,6 +575,24 @@ enum vmxnet3_intr_type { /* addition 1 for events */ #define VMXNET3_MAX_INTRS 25 +/* Version 6 and later will use below macros */ +#define VMXNET3_EXT_MAX_TX_QUEUES 32 +#define VMXNET3_EXT_MAX_RX_QUEUES 32 + +/* Version-dependent MAX RX/TX queues macro */ +#define MAX_RX_QUEUES(hw) \ + (VMXNET3_VERSION_GE_6((hw)) ? \ + VMXNET3_EXT_MAX_RX_QUEUES : \ + VMXNET3_MAX_RX_QUEUES) +#define MAX_TX_QUEUES(hw) \ + (VMXNET3_VERSION_GE_6((hw)) ? \ + VMXNET3_EXT_MAX_TX_QUEUES : \ + VMXNET3_MAX_TX_QUEUES) + +/* addition 1 for events */ +#define VMXNET3_EXT_MAX_INTRS 65 +#define VMXNET3_FIRST_SET_INTRS 64 + /* value of intrCtrl */ #define VMXNET3_IC_DISABLE_ALL 0x1 /* bit 0 */ @@ -587,6 +609,21 @@ struct Vmxnet3_IntrConf { #include "vmware_pack_end.h" Vmxnet3_IntrConf; +typedef +#include "vmware_pack_begin.h" +struct Vmxnet3_IntrConfExt { + uint8 autoMask; + uint8 numIntrs; /* # of interrupts */ + uint8 eventIntrIdx; + uint8 reserved; + __le32 intrCtrl; + __le32 reserved1; + uint8 modLevels[VMXNET3_EXT_MAX_INTRS]; /* moderation level for each intr */ + uint8 reserved2[3]; +} +#include "vmware_pack_end.h" +Vmxnet3_IntrConfExt; + /* one bit per VLAN ID, the size is in the units of uint32 */ #define VMXNET3_VFT_SIZE (4096 / (sizeof(uint32) * 8)) @@ -692,6 +729,15 @@ struct Vmxnet3_DSDevRead { #include "vmware_pack_end.h" Vmxnet3_DSDevRead; +typedef +#include "vmware_pack_begin.h" +struct Vmxnet3_DSDevReadExt { + /* read-only region for device, read by dev in response to a SET cmd */ + struct Vmxnet3_IntrConfExt intrConfExt; +} +#include "vmware_pack_end.h" +Vmxnet3_DSDevReadExt; + typedef #include "vmware_pack_begin.h" struct Vmxnet3_TxQueueDesc { @@ -778,18 +824,18 @@ Vmxnet3_CmdInfo; typedef #include "vmware_pack_begin.h" struct Vmxnet3_DriverShared { - __le32 magic; - __le32 pad; /* make devRead start at 64-bit boundaries */ - Vmxnet3_DSDevRead devRead; - __le32 ecr; - __le32 reserved; - - union { - __le32 reserved1[4]; - Vmxnet3_CmdInfo cmdInfo; /* only valid in the context of executing the - * relevant command - */ - } cu; + __le32 magic; + __le32 size; /* size of DriverShared */ + Vmxnet3_DSDevRead devRead; + __le32 ecr; + __le32 reserved; + + union { + __le32 reserved1[4]; + /* only valid in the context of executing the relevant command */ + Vmxnet3_CmdInfo cmdInfo; + } cu; + struct Vmxnet3_DSDevReadExt devReadExt; } #include "vmware_pack_end.h" Vmxnet3_DriverShared; @@ -821,6 +867,7 @@ do {\ ((vfTable[vid >> 5] & (1 << (vid & 31))) != 0) #define VMXNET3_MAX_MTU 9000 +#define VMXNET3_V6_MAX_MTU 9190 #define VMXNET3_MIN_MTU 60 #define VMXNET3_LINK_UP (10000 << 16 | 1) // 10 Gbps, up diff --git a/drivers/net/vmxnet3/vmxnet3_ethdev.c b/drivers/net/vmxnet3/vmxnet3_ethdev.c index 62844f3d39..52309811e5 100644 --- a/drivers/net/vmxnet3/vmxnet3_ethdev.c +++ b/drivers/net/vmxnet3/vmxnet3_ethdev.c @@ -221,24 +221,20 @@ vmxnet3_disable_intr(struct vmxnet3_hw *hw, unsigned int intr_idx) } /* - * Enable all intrs used by the device + * Simple helper to get intrCtrl and eventIntrIdx based on config and hw version */ static void -vmxnet3_enable_all_intrs(struct vmxnet3_hw *hw) +vmxnet3_get_intr_ctrl_ev(struct vmxnet3_hw *hw, + uint8 **out_eventIntrIdx, + uint32 **out_intrCtrl) { - Vmxnet3_DSDevRead *devRead = &hw->shared->devRead; - - PMD_INIT_FUNC_TRACE(); - devRead->intrConf.intrCtrl &= rte_cpu_to_le_32(~VMXNET3_IC_DISABLE_ALL); - - if (hw->intr.lsc_only) { - vmxnet3_enable_intr(hw, devRead->intrConf.eventIntrIdx); + if (VMXNET3_VERSION_GE_6(hw) && hw->queuesExtEnabled) { + *out_eventIntrIdx = &hw->shared->devReadExt.intrConfExt.eventIntrIdx; + *out_intrCtrl = &hw->shared->devReadExt.intrConfExt.intrCtrl; } else { - int i; - - for (i = 0; i < hw->intr.num_intrs; i++) - vmxnet3_enable_intr(hw, i); + *out_eventIntrIdx = &hw->shared->devRead.intrConf.eventIntrIdx; + *out_intrCtrl = &hw->shared->devRead.intrConf.intrCtrl; } } @@ -249,15 +245,42 @@ static void vmxnet3_disable_all_intrs(struct vmxnet3_hw *hw) { int i; + uint8 *eventIntrIdx; + uint32 *intrCtrl; PMD_INIT_FUNC_TRACE(); + vmxnet3_get_intr_ctrl_ev(hw, &eventIntrIdx, &intrCtrl); + + *intrCtrl |= rte_cpu_to_le_32(VMXNET3_IC_DISABLE_ALL); - hw->shared->devRead.intrConf.intrCtrl |= - rte_cpu_to_le_32(VMXNET3_IC_DISABLE_ALL); - for (i = 0; i < hw->num_intrs; i++) + for (i = 0; i < hw->intr.num_intrs; i++) vmxnet3_disable_intr(hw, i); } +/* + * Enable all intrs used by the device + */ +static void +vmxnet3_enable_all_intrs(struct vmxnet3_hw *hw) +{ + uint8 *eventIntrIdx; + uint32 *intrCtrl; + + PMD_INIT_FUNC_TRACE(); + vmxnet3_get_intr_ctrl_ev(hw, &eventIntrIdx, &intrCtrl); + + *intrCtrl &= rte_cpu_to_le_32(~VMXNET3_IC_DISABLE_ALL); + + if (hw->intr.lsc_only) { + vmxnet3_enable_intr(hw, *eventIntrIdx); + } else { + int i; + + for (i = 0; i < hw->intr.num_intrs; i++) + vmxnet3_enable_intr(hw, i); + } +} + /* * Gets tx data ring descriptor size. */ @@ -332,7 +355,11 @@ eth_vmxnet3_dev_init(struct rte_eth_dev *eth_dev) /* Check h/w version compatibility with driver. */ ver = VMXNET3_READ_BAR1_REG(hw, VMXNET3_REG_VRRS); - if (ver & (1 << VMXNET3_REV_5)) { + if (ver & (1 << VMXNET3_REV_6)) { + VMXNET3_WRITE_BAR1_REG(hw, VMXNET3_REG_VRRS, + 1 << VMXNET3_REV_6); + hw->version = VMXNET3_REV_6 + 1; + } else if (ver & (1 << VMXNET3_REV_5)) { VMXNET3_WRITE_BAR1_REG(hw, VMXNET3_REG_VRRS, 1 << VMXNET3_REV_5); hw->version = VMXNET3_REV_5 + 1; @@ -507,15 +534,22 @@ vmxnet3_dev_configure(struct rte_eth_dev *dev) if (dev->data->dev_conf.rxmode.mq_mode & RTE_ETH_MQ_RX_RSS_FLAG) dev->data->dev_conf.rxmode.offloads |= RTE_ETH_RX_OFFLOAD_RSS_HASH; - if (dev->data->nb_tx_queues > VMXNET3_MAX_TX_QUEUES || - dev->data->nb_rx_queues > VMXNET3_MAX_RX_QUEUES) { - PMD_INIT_LOG(ERR, "ERROR: Number of queues not supported"); - return -EINVAL; + if (!VMXNET3_VERSION_GE_6(hw)) { + if (!rte_is_power_of_2(dev->data->nb_rx_queues)) { + PMD_INIT_LOG(ERR, + "ERROR: Number of rx queues not power of 2"); + return -EINVAL; + } } - if (!rte_is_power_of_2(dev->data->nb_rx_queues)) { - PMD_INIT_LOG(ERR, "ERROR: Number of rx queues not power of 2"); - return -EINVAL; + /* At this point, the number of queues requested has already + * been validated against dev_infos max queues by EAL + */ + if (dev->data->nb_rx_queues > VMXNET3_MAX_RX_QUEUES || + dev->data->nb_tx_queues > VMXNET3_MAX_TX_QUEUES) { + hw->queuesExtEnabled = 1; + } else { + hw->queuesExtEnabled = 0; } size = dev->data->nb_rx_queues * sizeof(struct Vmxnet3_TxQueueDesc) + @@ -626,9 +660,9 @@ vmxnet3_configure_msix(struct rte_eth_dev *dev) return -1; intr_vector = dev->data->nb_rx_queues; - if (intr_vector > VMXNET3_MAX_RX_QUEUES) { + if (intr_vector > MAX_RX_QUEUES(hw)) { PMD_INIT_LOG(ERR, "At most %d intr queues supported", - VMXNET3_MAX_RX_QUEUES); + MAX_RX_QUEUES(hw)); return -ENOTSUP; } @@ -776,6 +810,7 @@ vmxnet3_setup_driver_shared(struct rte_eth_dev *dev) uint32_t mtu = dev->data->mtu; Vmxnet3_DriverShared *shared = hw->shared; Vmxnet3_DSDevRead *devRead = &shared->devRead; + struct Vmxnet3_DSDevReadExt *devReadExt = &shared->devReadExt; uint64_t rx_offloads = dev->data->dev_conf.rxmode.offloads; uint32_t i; int ret; @@ -852,13 +887,27 @@ vmxnet3_setup_driver_shared(struct rte_eth_dev *dev) } /* intr settings */ - devRead->intrConf.autoMask = hw->intr.mask_mode == VMXNET3_IMM_AUTO; - devRead->intrConf.numIntrs = hw->intr.num_intrs; - for (i = 0; i < hw->intr.num_intrs; i++) - devRead->intrConf.modLevels[i] = hw->intr.mod_levels[i]; + if (VMXNET3_VERSION_GE_6(hw) && hw->queuesExtEnabled) { + devReadExt->intrConfExt.autoMask = hw->intr.mask_mode == + VMXNET3_IMM_AUTO; + devReadExt->intrConfExt.numIntrs = hw->intr.num_intrs; + for (i = 0; i < hw->intr.num_intrs; i++) + devReadExt->intrConfExt.modLevels[i] = + hw->intr.mod_levels[i]; + + devReadExt->intrConfExt.eventIntrIdx = hw->intr.event_intr_idx; + devReadExt->intrConfExt.intrCtrl |= + rte_cpu_to_le_32(VMXNET3_IC_DISABLE_ALL); + } else { + devRead->intrConf.autoMask = hw->intr.mask_mode == + VMXNET3_IMM_AUTO; + devRead->intrConf.numIntrs = hw->intr.num_intrs; + for (i = 0; i < hw->intr.num_intrs; i++) + devRead->intrConf.modLevels[i] = hw->intr.mod_levels[i]; - devRead->intrConf.eventIntrIdx = hw->intr.event_intr_idx; - devRead->intrConf.intrCtrl |= rte_cpu_to_le_32(VMXNET3_IC_DISABLE_ALL); + devRead->intrConf.eventIntrIdx = hw->intr.event_intr_idx; + devRead->intrConf.intrCtrl |= rte_cpu_to_le_32(VMXNET3_IC_DISABLE_ALL); + } /* RxMode set to 0 of VMXNET3_RXM_xxx */ devRead->rxFilterConf.rxMode = 0; @@ -936,18 +985,24 @@ vmxnet3_dev_start(struct rte_eth_dev *dev) return -EINVAL; } - /* Setup memory region for rx buffers */ - ret = vmxnet3_dev_setup_memreg(dev); - if (ret == 0) { - VMXNET3_WRITE_BAR1_REG(hw, VMXNET3_REG_CMD, - VMXNET3_CMD_REGISTER_MEMREGS); - ret = VMXNET3_READ_BAR1_REG(hw, VMXNET3_REG_CMD); - if (ret != 0) - PMD_INIT_LOG(DEBUG, - "Failed in setup memory region cmd\n"); - ret = 0; + /* Check memregs restrictions first */ + if (dev->data->nb_rx_queues <= VMXNET3_MAX_RX_QUEUES && + dev->data->nb_tx_queues <= VMXNET3_MAX_TX_QUEUES) { + ret = vmxnet3_dev_setup_memreg(dev); + if (ret == 0) { + VMXNET3_WRITE_BAR1_REG(hw, VMXNET3_REG_CMD, + VMXNET3_CMD_REGISTER_MEMREGS); + ret = VMXNET3_READ_BAR1_REG(hw, VMXNET3_REG_CMD); + if (ret != 0) + PMD_INIT_LOG(DEBUG, + "Failed in setup memory region cmd\n"); + ret = 0; + } else { + PMD_INIT_LOG(DEBUG, "Failed to setup memory region\n"); + } } else { - PMD_INIT_LOG(DEBUG, "Failed to setup memory region\n"); + PMD_INIT_LOG(WARNING, "Memregs can't init (rx: %d, tx: %d)", + dev->data->nb_rx_queues, dev->data->nb_tx_queues); } if (VMXNET3_VERSION_GE_4(hw) && @@ -1202,8 +1257,6 @@ vmxnet3_hw_stats_save(struct vmxnet3_hw *hw) VMXNET3_WRITE_BAR1_REG(hw, VMXNET3_REG_CMD, VMXNET3_CMD_GET_STATS); - RTE_BUILD_BUG_ON(RTE_ETHDEV_QUEUE_STAT_CNTRS < VMXNET3_MAX_TX_QUEUES); - for (i = 0; i < hw->num_tx_queues; i++) vmxnet3_hw_tx_stats_get(hw, i, &hw->saved_tx_stats[i]); for (i = 0; i < hw->num_rx_queues; i++) @@ -1305,7 +1358,6 @@ vmxnet3_dev_stats_get(struct rte_eth_dev *dev, struct rte_eth_stats *stats) VMXNET3_WRITE_BAR1_REG(hw, VMXNET3_REG_CMD, VMXNET3_CMD_GET_STATS); - RTE_BUILD_BUG_ON(RTE_ETHDEV_QUEUE_STAT_CNTRS < VMXNET3_MAX_TX_QUEUES); for (i = 0; i < hw->num_tx_queues; i++) { vmxnet3_tx_stats_get(hw, i, &txStats); @@ -1322,7 +1374,6 @@ vmxnet3_dev_stats_get(struct rte_eth_dev *dev, struct rte_eth_stats *stats) stats->oerrors += txStats.pktsTxError + txStats.pktsTxDiscard; } - RTE_BUILD_BUG_ON(RTE_ETHDEV_QUEUE_STAT_CNTRS < VMXNET3_MAX_RX_QUEUES); for (i = 0; i < hw->num_rx_queues; i++) { vmxnet3_rx_stats_get(hw, i, &rxStats); @@ -1376,9 +1427,27 @@ vmxnet3_dev_info_get(struct rte_eth_dev *dev, struct rte_eth_dev_info *dev_info) { struct vmxnet3_hw *hw = dev->data->dev_private; + int queues = 0; + + if (VMXNET3_VERSION_GE_6(hw)) { + VMXNET3_WRITE_BAR1_REG(hw, VMXNET3_REG_CMD, + VMXNET3_CMD_GET_MAX_QUEUES_CONF); + queues = VMXNET3_READ_BAR1_REG(hw, VMXNET3_REG_CMD); + + if (queues > 0) { + dev_info->max_rx_queues = + RTE_MIN(VMXNET3_EXT_MAX_RX_QUEUES, ((queues >> 8) & 0xff)); + dev_info->max_tx_queues = + RTE_MIN(VMXNET3_EXT_MAX_TX_QUEUES, (queues & 0xff)); + } else { + dev_info->max_rx_queues = VMXNET3_MAX_RX_QUEUES; + dev_info->max_tx_queues = VMXNET3_MAX_TX_QUEUES; + } + } else { + dev_info->max_rx_queues = VMXNET3_MAX_RX_QUEUES; + dev_info->max_tx_queues = VMXNET3_MAX_TX_QUEUES; + } - dev_info->max_rx_queues = VMXNET3_MAX_RX_QUEUES; - dev_info->max_tx_queues = VMXNET3_MAX_TX_QUEUES; dev_info->min_rx_bufsize = 1518 + RTE_PKTMBUF_HEADROOM; dev_info->max_rx_pktlen = 16384; /* includes CRC, cf MAXFRS register */ dev_info->min_mtu = VMXNET3_MIN_MTU; @@ -1445,24 +1514,50 @@ vmxnet3_dev_supported_ptypes_get(struct rte_eth_dev *dev) } static int -vmxnet3_dev_mtu_set(struct rte_eth_dev *dev, __rte_unused uint16_t mtu) +vmxnet3_mac_addr_set(struct rte_eth_dev *dev, struct rte_ether_addr *mac_addr) { - if (dev->data->dev_started) { - PMD_DRV_LOG(ERR, "Port %d must be stopped to configure MTU", - dev->data->port_id); - return -EBUSY; - } + struct vmxnet3_hw *hw = dev->data->dev_private; + rte_ether_addr_copy(mac_addr, (struct rte_ether_addr *)(hw->perm_addr)); + vmxnet3_write_mac(hw, mac_addr->addr_bytes); return 0; } static int -vmxnet3_mac_addr_set(struct rte_eth_dev *dev, struct rte_ether_addr *mac_addr) +vmxnet3_dev_mtu_set(struct rte_eth_dev *dev, uint16_t mtu) { struct vmxnet3_hw *hw = dev->data->dev_private; + uint32_t frame_size = mtu + RTE_ETHER_HDR_LEN + RTE_ETHER_CRC_LEN + 4; + + if (mtu < VMXNET3_MIN_MTU) + return -EINVAL; + + if (VMXNET3_VERSION_GE_6(hw)) { + if (mtu > VMXNET3_V6_MAX_MTU) + return -EINVAL; + } else { + if (mtu > VMXNET3_MAX_MTU) { + PMD_DRV_LOG(ERR, "MTU %d too large in device version v%d", + mtu, hw->version); + return -EINVAL; + } + } + + dev->data->mtu = mtu; + /* update max frame size */ + dev->data->dev_conf.rxmode.mtu = frame_size; + + if (dev->data->dev_started == 0) + return 0; + + /* changing mtu for vmxnet3 pmd does not require a restart + * as it does not need to repopulate the rx rings to support + * different mtu size. We stop and restart the device here + * just to pass the mtu info to the backend. + */ + vmxnet3_dev_stop(dev); + vmxnet3_dev_start(dev); - rte_ether_addr_copy(mac_addr, (struct rte_ether_addr *)(hw->perm_addr)); - vmxnet3_write_mac(hw, mac_addr->addr_bytes); return 0; } @@ -1683,11 +1778,14 @@ vmxnet3_interrupt_handler(void *param) { struct rte_eth_dev *dev = param; struct vmxnet3_hw *hw = dev->data->dev_private; - Vmxnet3_DSDevRead *devRead = &hw->shared->devRead; uint32_t events; + uint8 *eventIntrIdx; + uint32 *intrCtrl; PMD_INIT_FUNC_TRACE(); - vmxnet3_disable_intr(hw, devRead->intrConf.eventIntrIdx); + + vmxnet3_get_intr_ctrl_ev(hw, &eventIntrIdx, &intrCtrl); + vmxnet3_disable_intr(hw, *eventIntrIdx); events = VMXNET3_READ_BAR1_REG(hw, VMXNET3_REG_ECR); if (events == 0) @@ -1696,7 +1794,7 @@ vmxnet3_interrupt_handler(void *param) RTE_LOG(DEBUG, PMD, "Reading events: 0x%X", events); vmxnet3_process_events(dev); done: - vmxnet3_enable_intr(hw, devRead->intrConf.eventIntrIdx); + vmxnet3_enable_intr(hw, *eventIntrIdx); } static int diff --git a/drivers/net/vmxnet3/vmxnet3_ethdev.h b/drivers/net/vmxnet3/vmxnet3_ethdev.h index ceaeb66392..5a303717b1 100644 --- a/drivers/net/vmxnet3/vmxnet3_ethdev.h +++ b/drivers/net/vmxnet3/vmxnet3_ethdev.h @@ -70,7 +70,7 @@ struct vmxnet3_intr { enum vmxnet3_intr_type type; /* MSI-X, MSI, or INTx? */ uint8_t num_intrs; /* # of intr vectors */ uint8_t event_intr_idx; /* idx of the intr vector for event */ - uint8_t mod_levels[VMXNET3_MAX_MSIX_VECT]; /* moderation level */ + uint8_t mod_levels[VMXNET3_EXT_MAX_INTRS]; /* moderation level */ bool lsc_only; /* no Rx queue interrupt */ }; @@ -108,6 +108,7 @@ struct vmxnet3_hw { uint64_t queueDescPA; uint16_t queue_desc_len; uint16_t mtu; + bool queuesExtEnabled; VMXNET3_RSSConf *rss_conf; uint64_t rss_confPA; @@ -117,19 +118,20 @@ struct vmxnet3_hw { Vmxnet3_MemRegs *memRegs; uint64_t memRegsPA; #define VMXNET3_VFT_TABLE_SIZE (VMXNET3_VFT_SIZE * sizeof(uint32_t)) - UPT1_TxStats saved_tx_stats[VMXNET3_MAX_TX_QUEUES]; - UPT1_RxStats saved_rx_stats[VMXNET3_MAX_RX_QUEUES]; - + UPT1_TxStats saved_tx_stats[VMXNET3_EXT_MAX_TX_QUEUES]; + UPT1_RxStats saved_rx_stats[VMXNET3_EXT_MAX_RX_QUEUES]; UPT1_TxStats snapshot_tx_stats[VMXNET3_MAX_TX_QUEUES]; UPT1_RxStats snapshot_rx_stats[VMXNET3_MAX_RX_QUEUES]; }; +#define VMXNET3_REV_6 5 /* Vmxnet3 Rev. 6 */ #define VMXNET3_REV_5 4 /* Vmxnet3 Rev. 5 */ #define VMXNET3_REV_4 3 /* Vmxnet3 Rev. 4 */ #define VMXNET3_REV_3 2 /* Vmxnet3 Rev. 3 */ #define VMXNET3_REV_2 1 /* Vmxnet3 Rev. 2 */ #define VMXNET3_REV_1 0 /* Vmxnet3 Rev. 1 */ +#define VMXNET3_VERSION_GE_6(hw) ((hw)->version >= VMXNET3_REV_6 + 1) #define VMXNET3_VERSION_GE_5(hw) ((hw)->version >= VMXNET3_REV_5 + 1) #define VMXNET3_VERSION_GE_4(hw) ((hw)->version >= VMXNET3_REV_4 + 1) #define VMXNET3_VERSION_GE_3(hw) ((hw)->version >= VMXNET3_REV_3 + 1) diff --git a/drivers/net/vmxnet3/vmxnet3_rxtx.c b/drivers/net/vmxnet3/vmxnet3_rxtx.c index e15b377d8c..c94e3762e6 100644 --- a/drivers/net/vmxnet3/vmxnet3_rxtx.c +++ b/drivers/net/vmxnet3/vmxnet3_rxtx.c @@ -1400,7 +1400,7 @@ vmxnet3_rss_configure(struct rte_eth_dev *dev) /* loading hashKeySize */ dev_rss_conf->hashKeySize = VMXNET3_RSS_MAX_KEY_SIZE; /* loading indTableSize: Must not exceed VMXNET3_RSS_MAX_IND_TABLE_SIZE (128)*/ - dev_rss_conf->indTableSize = (uint16_t)(hw->num_rx_queues * 4); + dev_rss_conf->indTableSize = (uint16_t)((MAX_RX_QUEUES(hw)) * 4); if (port_rss_conf->rss_key == NULL) { /* Default hash key */ From patchwork Wed May 25 00:40:26 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Pankaj Gupta X-Patchwork-Id: 111766 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 97AF4A0545; Wed, 25 May 2022 02:41:18 +0200 (CEST) Received: from [217.70.189.124] (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id 094D342824; Wed, 25 May 2022 02:41:03 +0200 (CEST) Received: from NAM11-DM6-obe.outbound.protection.outlook.com (mail-dm6nam11on2070.outbound.protection.outlook.com [40.107.223.70]) by mails.dpdk.org (Postfix) with ESMTP id 950AE40C35 for ; Wed, 25 May 2022 02:40:53 +0200 (CEST) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=aVj+o3unHj1phw4kkd+/fpKFMyw5wiiGvE3xwrsYzi8dBoGixuEDCYNgLFQMfgRaKUFPbGAaO+gByQIhNES6v1/cDW5WYge5qT4A9bQTIli4zz8qSLic1uoOstXfgAbqavDtmFYIO4MnY3C1yWdx/QJ4rMse570bQlsOh1Lr0ilVyaeIp6ReQviwmkGNuez4TAkU6u/EKBWwCIpL4s8SlX/vPk+851HHidB/bGHe824FMOYOMvBZzGMvN82/GD/DN7hbV304rJaE0n0Jv0uV5cWNUaXjk3NAWwBsxusaXYrnviNPewdzrr5+OcgeoH5/kBMKTEIwEFMPENltiuGMmw== 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=szvzva9e7Ay2q+fQbrQputerDjGq5GXbxWkcC4vLwgg=; b=d44uHO815nfQ1SnpkR+3k+5/77l2q15+AnqotfkBRhr6hZj2keY7BS9YVxSPRlQbXtC6XTrgtddWVbglRq55hatpkq2QXJ349CD1iGi8yggx5mh/+3/QHbxyVnx/BTCNzN9Y3QmajCHowUXUzISM2WjYqcMOI4VsSq+qDXLTx2+wvszSMzsKfyNzhk2chTv1QgUjEbry4VNGr2QY190aUb7FPHCGdH9b7XbxqFIfwkySPZmiw1cIMx79t6LdQHYoDI4yNIBXCmqTu9lxkZXYmOJTvIA6sTPyEi09EcD5kvrFLRVfTf0xNkv7aXKVQ5nna1ToOEzdb6yISTsXcCcNcg== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=vmware.com; dmarc=pass action=none header.from=vmware.com; dkim=pass header.d=vmware.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=vmware.com; s=selector2; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=szvzva9e7Ay2q+fQbrQputerDjGq5GXbxWkcC4vLwgg=; b=fWahZVFGabkEOPZc3dUwZEPDH8oN3z+KyS8x2gwT9y46dG2ZsDdHxShfbwIQqJg1aZzBsgtGXXpAIdZ5fa2ZhcFg0neIZ7JuaA9bTOrBCaC3vGAf9gfahQZnKUZkfLvEy2ioPn4XPkwpi3inGVDMKKpoe7HPrF0nODaCo//VQtQ= Authentication-Results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=vmware.com; Received: from BYAPR05MB5624.namprd05.prod.outlook.com (2603:10b6:a03:1d::13) by SN7PR05MB7534.namprd05.prod.outlook.com (2603:10b6:806:f7::8) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5293.7; Wed, 25 May 2022 00:40:52 +0000 Received: from BYAPR05MB5624.namprd05.prod.outlook.com ([fe80::49ad:2ac7:16c0:51c8]) by BYAPR05MB5624.namprd05.prod.outlook.com ([fe80::49ad:2ac7:16c0:51c8%6]) with mapi id 15.20.5293.013; Wed, 25 May 2022 00:40:52 +0000 From: Pankaj Gupta To: jbehrens@vmware.com Cc: dev@dpdk.org, pagupta@vmware.com Subject: [PATCH v6 7/9] net/vmxnet3: advertise RETA size in device info Date: Tue, 24 May 2022 17:40:26 -0700 Message-Id: <20220525004028.24938-8-pagupta@vmware.com> X-Mailer: git-send-email 2.17.1 In-Reply-To: <20220525004028.24938-1-pagupta@vmware.com> References: <20220525004028.24938-1-pagupta@vmware.com> X-ClientProxiedBy: SJ0PR05CA0056.namprd05.prod.outlook.com (2603:10b6:a03:33f::31) To BYAPR05MB5624.namprd05.prod.outlook.com (2603:10b6:a03:1d::13) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: 292887b6-893d-4e12-cd7a-08da3de736fb X-MS-TrafficTypeDiagnostic: SN7PR05MB7534: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: 160uFBThcMjlARNiMyBfJF2JNNEahTLkM/zAVND3GYd4m2xlbReITrI8XPjp2462BQACGjrZWZesQIWH1KxN4VLtIFg2OdUIZo0BS6sM7YhOERb2f5GEWz1PX7vk3vuY9bpezThpyBzDN0WQqJSI+qMphzf7a5uuIqReLbAKXO26/zIO9verl/1uTbJ1gFrvGyIkzxZ3cCMVX2JObiEAHoQ0KWrfwHIKlF90q8jA0k+d+DgzqmflFTcb3wwq+K9pPX6CWmCnjy4tz9LB56x/++d3POhBP9rQTDghMdGtgYw/XH91hFF6CirVcNFVqeRBeEA7mj8wU2SGfqRODtiAL90qneoe9C6msSLZl/iMwX70xMQ5auir8RwrU3/EEEHSB3Z6Quu+/lbFmLdtZCBtnzzleoy5kBaoQkUTEACMSYvwxuY/cKZhSL2hsRAvgn3yVw3zZ9bAzdKQceD4uxMrGxIytx4qdXgwyqmbdlgdbEaTeUH6vOLAulhlH4MiHtNils8Jfv+Hb/C/lfJbPVIyNsknHCs5oLHiMtqSsuZ5UGqLahv4qvcVltEwRZuTyule1VPgtM4L8dLHSJnHWcMGgiKdwbn3umIfI6X3HrTZqqaCNgdIMGp3vo/6s+L5w5al1UWPaBhFRQvCY2Uv/skjotc5SJTow09oHo+C1lN/U7CXJalbIb3Vr+u6ZvVx+TlxkRDUGSIevuvJQOX/2gI5CUY9AV6PoO7ld3cEYIWiMIaMrekfRGlL5h0Oa4Dr8cgL X-Forefront-Antispam-Report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:BYAPR05MB5624.namprd05.prod.outlook.com; PTR:; CAT:NONE; SFS:(13230001)(4636009)(366004)(316002)(38100700002)(5660300002)(38350700002)(8936002)(186003)(52116002)(2616005)(36756003)(6506007)(1076003)(6486002)(6666004)(508600001)(37006003)(6512007)(6636002)(107886003)(83380400001)(8676002)(34206002)(4326008)(66476007)(66556008)(66946007)(86362001)(2906002)(26005); DIR:OUT; SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: 72qQY8aMK5dWpo+Pdk9RjboPvMVTRFeo1ImGo6MbB5LHOwnnFRa/6zkoQ4QK2NCPsG/IjPeor2QZFFlP+4peq6QxdvBh+NslM/QipetnrjYVJtjyV8MsGmdX1O+LUuS2fCJ8CTkglfYJROGgdNrD1aiGJP8PGXWzlz2zJ3H1jfoPmWrIA3o6riXIwSxyEtnJ2htUUFQhKRCwlw/KEk9MLixV+HMkB3n6Ve8A/4D6v/FzgsuDhaf+UA6EWmmf3PjUhsRvyaUvoAIUTVj38gncW664FOerfzj3S1sTpl8yL1oGQitXyThM4Qtwg/vtKptcaqoqiJZjSe4WjU4AkPD/KuWa2k2Z575U8Zg1DMqzEUXF9YdgLeDY0YfENLqZn0/NYIBYrJ0Kok5/CUPRcAG/5gYvy5R11Dt0UFBUfk/XXBSbnzEfAoI40jiCW3gzP+s4lC+xNkzjipk8vod9256Ri5GhqTHrVLqJoBiEREEG+kz7QzLh7ooSolvQsD4rirhTLYC6j+H3xWKT8lvbAcXzqpxSWp8mKc/h4zmcefOkH+0m0zPfx5zExkh5zhjTewhJqQ5fsIgvtPdqjY5tOsow1PCZUVLG8TDrcxzFumH+d9CDyL4pRvq+p12pfR+Cjh5O8gFZ3ze5u6d9V7HM91hN7Vyb7UcZ0egVdSJQC1hSCqhhUn40X9rSbzAn3ouETJimWFWLEEGuBmaibSrA3cqeLC6OYoHyqGrr9l3u7ZS1MfYAlOpP/992ZadfBc5csg3vjzN4xS6+dBOeIKzKT0VD1malvl3vJwIyxvp6pOzC1Rgd+TJmOKhMFxyErfsgALZ0Jw/SxaWiVCHKh50Ts3wCmxAzObpOHmbQUTg0z8t0pyZ63a+3RhpKoQIiPZ6Fgz+bYKAzfFEareDlkHpkIatc3iYgp26+Hoi/ncCEk2yebGbVbIAk5qwBGa8sI9f2Ez46EH0z+TcB2Y90nKp5Sva75E45nwLcqPt86wjam68LUxLoEnlUKNGb8Olg8GmTpzUQIl1UDukVBJoNAROl3whGmv8es/ppPvXn2AlCXyzASIkmgRrhfet7is2FRgke2zqja7xOZkt/Lw8EQC6fwLH5Hxy5VgKONBTaapMd/EC8IXsmUwAObuknti/pCsXZqB2wVApE63+pAQbFOezjj6CeZpM9hFrFrhs6MM2OTHVoFwVBYBpXAfhIWnDd43MmguXlDLMO4f7SRHT7lsKbyS4AJFfCN1R2l4g3Vgv8ndtv4Uza5F86sXf/+34T8blngvxC7iR6PWpjbOBCtzReSCcdt72bfadcMmJZCluytwNnx2LnxLf6eGd0HH9LoGUueB4wQhcWED5S6pmyZMt+YB7vi80ptguccJ4pAq0MkkNZcd8pflosu40iox1cG+SxagR/Nt9UL5vxICnqQC/8UiucAH8aTgUQxer+JdlfFqorO3Q4P2XmNJvjE8P3OTevdJeh0KKjAjanEQC2AAANOKfo5UTwzxjJNB9fd6BkqZRfFyzFZfNXeMFAYgme2cfPDOj7/HZvnAOh7KFP5RwCpvufiLyr2kD8ZvxWc5xRlfRADHDxEcmwQmMl6HAL0gNDShoaYJmJRMPqeYdfWSrGdVnJWvKqf/9Osl1RFkrmSlrmtYzCcciPk6+/9WOkDBzNH/sRCK7zyl71yfPfgOe7vYeuIRdl9TamAYeTpM7PieF+E/rz6FF+6q88MquT8tZ3a3xaZr/G2nbBysZuUDryYMqBHg== X-OriginatorOrg: vmware.com X-MS-Exchange-CrossTenant-Network-Message-Id: 292887b6-893d-4e12-cd7a-08da3de736fb X-MS-Exchange-CrossTenant-AuthSource: BYAPR05MB5624.namprd05.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 25 May 2022 00:40:49.7276 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: b39138ca-3cee-4b4a-a4d6-cd83d9dd62f0 X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: Y+zY4CN/cvIdTzUWCCerMldaTOEpZ90Knmrh6RanFUxQO1Ity5dkaLRb1PYIxcg1mItzYRiV72VP6g4v3SzidA== X-MS-Exchange-Transport-CrossTenantHeadersStamped: SN7PR05MB7534 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 Currently the driver assumes that the size of the RETA table is four times the number of Rx queues at multiple places. However, it sets it to four times the maximum number of queues (4 * 32 = 128) when it first initializes the device. Change the other uses to use the stored value, not the assumed default. Tested, using testpmd, for different hardware versions on ESXi 7.0 Update 2. Signed-off-by: Pankaj Gupta Reviewed-by: Jochen Behrens --- drivers/net/vmxnet3/vmxnet3_ethdev.c | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/drivers/net/vmxnet3/vmxnet3_ethdev.c b/drivers/net/vmxnet3/vmxnet3_ethdev.c index 52309811e5..c9e352b73a 100644 --- a/drivers/net/vmxnet3/vmxnet3_ethdev.c +++ b/drivers/net/vmxnet3/vmxnet3_ethdev.c @@ -1479,7 +1479,12 @@ vmxnet3_dev_info_get(struct rte_eth_dev *dev, dev_info->rx_queue_offload_capa = 0; dev_info->tx_offload_capa = VMXNET3_TX_OFFLOAD_CAP; dev_info->tx_queue_offload_capa = 0; - + if (hw->rss_conf == NULL) { + /* RSS not configured */ + dev_info->reta_size = 0; + } else { + dev_info->reta_size = hw->rss_conf->indTableSize; + } return 0; } From patchwork Wed May 25 00:40:27 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Pankaj Gupta X-Patchwork-Id: 111769 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 0038DA0545; Wed, 25 May 2022 02:41:34 +0200 (CEST) Received: from [217.70.189.124] (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id 09B4F42B78; Wed, 25 May 2022 02:41:06 +0200 (CEST) Received: from NAM11-DM6-obe.outbound.protection.outlook.com (mail-dm6nam11on2070.outbound.protection.outlook.com [40.107.223.70]) by mails.dpdk.org (Postfix) with ESMTP id 61EF8400D6 for ; Wed, 25 May 2022 02:40:54 +0200 (CEST) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=gBPzy1+iQNEvL3B39UoTUlPOeWJPp88lzDKcPIv71XXxQbxXq7I2Cppm+hMkJy+X41q/3Q181eFTK1S1w6DquC51pfsQNGEnbusAEQSYBYY6SO+q7qjR9FqDo/+c5SfY2Kt3Y3wXNa7t6vgQQoDoK3JY2CHYaDqZ2bTkX/XYHsqOCHnRMAWoMV3jeC5TvnOHUlCCmVdnYhWlH5mnw9P8TceOBLVzvUiUPBjz1iBuVJoUSVZj4+Bg0l8TSePKc7INDe0bKBm+VI/Raif6dwDYvMAcHtpLN6ncKWEGAvDmq5w6rYMf+mXzbtF18LnOZNn4ATdACxrY24qi10IHa4rxEQ== 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=mx4GhvuOyKIBdxn16Cc6bj+OU8HRHvZhTcxFc/K9V6A=; b=ecCGCjf5SeTR4cp7Z7gSZ2cKyilUZDVnBIdn1wZXab1eDLOgJl6/mCkztVFNDpUn5i7rSVR3UI+JsOUa0A+EqMUWDLMVqAC4wg86iGYY8UCqslja5CW4EgBXUXTNir1zmRGG2M88smEb9urfnyEOwM69jwGHoW32M/0Lklb58vKxKK3XcdwwsvN2JMJeExsC82BuEKZTBzx3b7o2vmnKpqe695tDO+2RSmgz9S2PJAV+PWM809x22AcOvPQz19D5ALdynanxxB377Wbv9iqDCpC/Pr97Tad08s9RjYoUFSGf3XCnBwmiIwinlKXbBwFfu3xL2CNxL9k3ER7AlCn3Ug== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=vmware.com; dmarc=pass action=none header.from=vmware.com; dkim=pass header.d=vmware.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=vmware.com; s=selector2; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=mx4GhvuOyKIBdxn16Cc6bj+OU8HRHvZhTcxFc/K9V6A=; b=ImcS8Gkt7uXqZPNMRPkTYTPe1MW9Ym12qxOmeolsokCTEpctybKzBhLiDl3PhyImqQf/+qrFiQ6vhfDGipnhH2je2BA5v/0gNELNU+gUZrbqMdPheYwwdGNNTrAzLtkapeuHFJypzenji1IPTavPrMH5czRKZHM1723P6ySkYgI= Authentication-Results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=vmware.com; Received: from BYAPR05MB5624.namprd05.prod.outlook.com (2603:10b6:a03:1d::13) by SN7PR05MB7534.namprd05.prod.outlook.com (2603:10b6:806:f7::8) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5293.7; Wed, 25 May 2022 00:40:52 +0000 Received: from BYAPR05MB5624.namprd05.prod.outlook.com ([fe80::49ad:2ac7:16c0:51c8]) by BYAPR05MB5624.namprd05.prod.outlook.com ([fe80::49ad:2ac7:16c0:51c8%6]) with mapi id 15.20.5293.013; Wed, 25 May 2022 00:40:52 +0000 From: Pankaj Gupta To: jbehrens@vmware.com Cc: dev@dpdk.org, pagupta@vmware.com Subject: [PATCH v6 8/9] net/vmxnet3: set packet type for fragmented packet Date: Tue, 24 May 2022 17:40:27 -0700 Message-Id: <20220525004028.24938-9-pagupta@vmware.com> X-Mailer: git-send-email 2.17.1 In-Reply-To: <20220525004028.24938-1-pagupta@vmware.com> References: <20220525004028.24938-1-pagupta@vmware.com> X-ClientProxiedBy: SJ0PR05CA0056.namprd05.prod.outlook.com (2603:10b6:a03:33f::31) To BYAPR05MB5624.namprd05.prod.outlook.com (2603:10b6:a03:1d::13) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: 290ded91-d8fd-4be0-4040-08da3de73730 X-MS-TrafficTypeDiagnostic: SN7PR05MB7534: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: vF+mCo07n2da34bTTQemj7yFTAO+0bhAzA1V3jA7rWajimmnztnF6eF97bu6zzNgrFEpqjif8qDZvcseu3QbQdNtYkOGZ6ZoTLqnXEbrfdIOfcaM3LLduuDo/ZWxQnZQaDzJM7LuUI0cLdYzhVQMHeFFcqSpx12R6Dh431sYHWYZGBaXPT3TkYwmFm5jvRxL6znZQ8E1hV5hiDoCX8k7wB0cOJghFrJQpckpksw7r6XvfNkHmiByfTTIDtbTeAr+cHxIK4WX5co674CgvReH4I3X3rpHgb6hECWR7kRM196aGeEGwuYALg/8++YYMhbXiqkEH5ahAmK/HwYucLB+BVyq6brj832tYsJ4ypSful7htrQff8s2WkifGC7GLb4jTEn5tTeHtOuCJVNEycSpnDU0XV/Fz+qeSySQ/c8YbcrR1L6aiQKkBPNmps6Vr+0alosXIpD1ypEgF0+c9kl8XakS3R58/czPH5n2WqPlsPNuj8e+cMFSUhSbsv5lKNVQ9Dg23K44UeRQxTy+UZl8QNZ3wY0dVV4jRq20FZc9Tl4PjaIdl68wlLG8EvzZJKVP8Yij+OzuYvzgNvIua01bg5KrwurRF6hQ0LfjYLn8LtgV4aOFgtAkZWzltQngJa4i6znuEjsyzkL3dJnoFg/l/nvz5lNkrMffXaKz+rucQ/ujGys3xAhFu+VrvbPgEx6N/S2AYlqlePzUYoueXAJ65VXtDV3qJ4r4huvBr1L5oBPX4xiKdIBbMfVDAxi+cMuc X-Forefront-Antispam-Report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:BYAPR05MB5624.namprd05.prod.outlook.com; PTR:; CAT:NONE; SFS:(13230001)(4636009)(366004)(316002)(38100700002)(5660300002)(38350700002)(8936002)(186003)(52116002)(2616005)(36756003)(6506007)(19627235002)(1076003)(6486002)(6666004)(508600001)(37006003)(6512007)(6636002)(107886003)(83380400001)(8676002)(34206002)(4326008)(66476007)(66556008)(66946007)(86362001)(2906002)(26005); DIR:OUT; SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: kceDLf/g8wb7Anois8PPbGEotUOoVehJRYizen4wL1/yP7L8a1oJ9T7C2y7Se4S4rCZz5JBt/MQ8E5in6a5ueP13mvvcT5grGahMB6zjHFbVw0NSgx5NS0eJqrXOZhtTzkGIaUDeSBztBPRAoaC6sN8fcCSQhDtXDYkQV/uLrn9y8wXuAWdWA7eyln18QQjtZfaHq09kshS8QPLYsbDQOAjWHdqyVkXoXHlGb4MdtgHA5ppja6deYxLBlWqGF/Gvq9SA4r4/GtwW3yMnOdPgTFArNvwx453CqEeE9gd9kByYMgS6tdyClSjSCxIclFLBbruLo8GIcI2RhfDG87t5FBsLfevfPMJTms5ZJVCHIGmWTb0AS9wmTWplMs9qJtnI4Kgb2Hn4wjk9slUbDFAN7PELgq+iBry8wu2ITIY6w6B81RW7eEgGI2hQyKMp3VzQ1LkoX8SgoTL7S/I48xBKWgxabtMuB+/18UN5liaP5tpxS8W/6jpYAnX5zZQSh66FFfEOAjtCxxq7rSPLG+msB0Ux8B1QevA1b5Iv3N9O1d73G+PAvYESDKIriUwYTJWxfpsV+PB5e++Bl3kvKWgvK2PyrtHoZ498d25Njus0rKfxqMyiFlX95/4SewjHvjBrG1kYploF77gv41nAO2Sqhs2oSYV0grxTSaYaeyNKeY2uzq1xZC8UbAUNlxrAYIhnSgkcW3jyklEkN4Cgkne6o+9LcbZamI5KhWY5dqC593+WZepXTFbPbr1O/OQ8y9S8oVFBYExDdwGUyZXXAuSsF8L3UPBmMFNaSBVp/ckZ1U77dyAY8nx6TIQdyzb9QvDefcsr2zGZDsnWqEmud9xUs7BvJDyce/bqiYjZbbyHltMY5cXAyXAhWFuUjdSmBp01Cb40nx5qDZT79WH92QxmvR9YgPwtZxog03T3CCWuH+SSNBL8JLNiyuJ2puGCnBCr0rDtVEBz4ww0zSlM52pjiOBDSnA0ioykIkP4pOzpRhIy9kN+jYzkyP93/FsR/iXJgNEvixgoLs8fe8+wpVtLAKoOcLSFZ/0fiuqXUxnMjxPHL+yYGFJXQqSIYwDHlc7jw3Lb8kDA3Mna6uo/P57uEPrNF8OcAmSNzmN+y4sTyTsZiY1F7BCdOK+eX//If1Lq45eMlEXCQ2iB08XZw6oJ57zwDEpBy2fwLbjXCusbmMuYffYHySzPo6W8crOWDzfJ8GlYY5OIowCirGg1uH5D+Zbk174xpsh8PKqpH3dWt5Ibbb8jtDhjnIH5qjaCjlR5x9wSg+L302JiXLHsfgw1NoTc1lmyOaDPRbwxXds+WtMtp0iVTK6L5mYeII7KxncPY8P3aDpSO6nikdGbkJvAX+JwDbDN+AVTE1cH09ep1Gd+shOp5oPKa325MKZYT5lKHmm0bqnT/nviAqM6QTWJFpetrtvpJO5qLZzJungS/pY0q2d4oEUIUutOs/0dtPS0Y4hmi/LRr6U8pnqLAdqT/xkl6qbAwlLX6vMdAJE6/W2peug+Tf159857N9gabLSP76JbKe1WYIspseW5AfNsFUgLUGe/fcs8e6XBvxSCTJdLCLNfjdKR5RBLr0/23vGo3Fr+S+cEccK1rRAYiecjs5QBaudwVPRIjkLS3v9AKFVotaHAcFEPtaox5wqATcx58N6J8dybc4eTO2odRYFKDJ9MnDUJk1tUUi7kIMZM+YHNevCBx0YeQ5phbVk98QqBoAnlGJxpG5pIXGG5fhrrCQ== X-OriginatorOrg: vmware.com X-MS-Exchange-CrossTenant-Network-Message-Id: 290ded91-d8fd-4be0-4040-08da3de73730 X-MS-Exchange-CrossTenant-AuthSource: BYAPR05MB5624.namprd05.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 25 May 2022 00:40:50.0557 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: b39138ca-3cee-4b4a-a4d6-cd83d9dd62f0 X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: 3vHOCjv8WGE/ab2st7TBHI4lnNdxm1dO5xc/Z2zZplAWaMmmrsTj/AiECKs54PP9puzOTD0WjoPOqn4xCeQM0A== X-MS-Exchange-Transport-CrossTenantHeadersStamped: SN7PR05MB7534 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 The packet type is set even if it is a fragmented packet. Tested, using testpmd, for different hardware versions on ESXi 7.0 Update 2. Signed-off-by: Pankaj Gupta Reviewed-by: Jochen Behrens --- drivers/net/vmxnet3/vmxnet3_rxtx.c | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) diff --git a/drivers/net/vmxnet3/vmxnet3_rxtx.c b/drivers/net/vmxnet3/vmxnet3_rxtx.c index c94e3762e6..a875ffec07 100644 --- a/drivers/net/vmxnet3/vmxnet3_rxtx.c +++ b/drivers/net/vmxnet3/vmxnet3_rxtx.c @@ -759,6 +759,23 @@ vmxnet3_rx_offload(struct vmxnet3_hw *hw, const Vmxnet3_RxCompDesc *rcd, /* Check packet type, checksum errors, etc. */ if (rcd->cnc) { ol_flags |= RTE_MBUF_F_RX_L4_CKSUM_UNKNOWN; + + if (rcd->v4) { + packet_type |= RTE_PTYPE_L3_IPV4_EXT_UNKNOWN; + if (rcd->tcp) + packet_type |= RTE_PTYPE_L4_TCP; + else if (rcd->udp) + packet_type |= RTE_PTYPE_L4_UDP; + } else if (rcd->v6) { + packet_type |= RTE_PTYPE_L3_IPV6_EXT_UNKNOWN; + if (rcd->tcp) + packet_type |= RTE_PTYPE_L4_TCP; + else if (rcd->udp) + packet_type |= RTE_PTYPE_L4_UDP; + } else { + packet_type |= RTE_PTYPE_UNKNOWN; + } + } else { if (rcd->v4) { packet_type |= RTE_PTYPE_L3_IPV4_EXT_UNKNOWN; From patchwork Wed May 25 00:40:28 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Pankaj Gupta X-Patchwork-Id: 111770 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 F0B84A0545; Wed, 25 May 2022 02:41:39 +0200 (CEST) Received: from [217.70.189.124] (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id 01CDA42B7C; Wed, 25 May 2022 02:41:07 +0200 (CEST) Received: from NAM11-DM6-obe.outbound.protection.outlook.com (mail-dm6nam11on2070.outbound.protection.outlook.com [40.107.223.70]) by mails.dpdk.org (Postfix) with ESMTP id A778D410FB; Wed, 25 May 2022 02:40:54 +0200 (CEST) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=YK2tEJck39s21E3H4NZ6F0oSmQKtkYAaSSQ9LvguOKyyrxEQWTb8CF660qARZIgLbGhjOtKOCZgZeNTy/zyLVW38TYWtMj0aMCcx8bPcN5goAlOUvlbdjUXqJAvsnxB6SDANK+6/jVERcPhpQRDgy4kIcgB46FSlfkHsWjsjp4PO43N+ey/ffljyzYOsN/Zg+WVBn9MES/iZH7Eu+KDSeCHUyE31J7IQ0AMT8Xld4gCTiKifJqFqy/ecunVwLrEfpHbcl54g+aPD0nU1F0WTwoqWwYG+VpyVpvh7zO+FLVCpCPAyP9OA4thco3jqHLEai6mLUQR07DmHSGKLvahJwg== 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=GnOnSiz4Y8VVIdPm/0ZbY+3FcTzjXZI0e2fwq2SVZH4=; b=c/K7brEQ2g/UN4+NypissIN3IH0/aM+33z9u+cATr3OZyKL8cwZ6dcas+QK/pMY/bp+SZN0xc/FEPSo3Mh7uhQOG0CkpZDBvKyoo9FoOdEskD5KOW4wFyXUVIitEth8pXuVw6k72LWIkgRizEDYsRs3UDBqOKUsX3klzNQjAApDfv2XHUUFmAto3cHQFaDonHUxlNR6rhPcm2J6xbbKNXjtjQyMMfslehMbqBPeniykyXXHFDB5SQiNtH+pRu6lWUbueOOnDkKI3kb5uCejg6D58kO23dDv1atm2VfQV0zhKqUzP6Qosivk/g7MjsZpH6aZUvyExyYg+bwD/EYcRgA== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=vmware.com; dmarc=pass action=none header.from=vmware.com; dkim=pass header.d=vmware.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=vmware.com; s=selector2; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=GnOnSiz4Y8VVIdPm/0ZbY+3FcTzjXZI0e2fwq2SVZH4=; b=Vs4cdymViKuLVbjbvybVSW1cUv0/VnAhz8zhVtCberzMYp7S5Qd1N3+4pOqHkuOGVQKKf4taZgPz/rs5PLaPYcmrxzd/xFP0J34q0F8x0SVBkwsLe60qSRS4MNk2ekInb+XErVls/eK9qMqE5tmXIsb/SAzU1I6EOv2NHUShn/A= Authentication-Results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=vmware.com; Received: from BYAPR05MB5624.namprd05.prod.outlook.com (2603:10b6:a03:1d::13) by SN7PR05MB7534.namprd05.prod.outlook.com (2603:10b6:806:f7::8) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5293.7; Wed, 25 May 2022 00:40:53 +0000 Received: from BYAPR05MB5624.namprd05.prod.outlook.com ([fe80::49ad:2ac7:16c0:51c8]) by BYAPR05MB5624.namprd05.prod.outlook.com ([fe80::49ad:2ac7:16c0:51c8%6]) with mapi id 15.20.5293.013; Wed, 25 May 2022 00:40:52 +0000 From: Pankaj Gupta To: jbehrens@vmware.com Cc: dev@dpdk.org, pagupta@vmware.com, stable@dpdk.org Subject: [PATCH v6 9/9] net/vmxnet3: fix merge error in Rx data ring initialization Date: Tue, 24 May 2022 17:40:28 -0700 Message-Id: <20220525004028.24938-10-pagupta@vmware.com> X-Mailer: git-send-email 2.17.1 In-Reply-To: <20220525004028.24938-1-pagupta@vmware.com> References: <20220525004028.24938-1-pagupta@vmware.com> X-ClientProxiedBy: SJ0PR05CA0056.namprd05.prod.outlook.com (2603:10b6:a03:33f::31) To BYAPR05MB5624.namprd05.prod.outlook.com (2603:10b6:a03:1d::13) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: 279c06d5-0098-4bcb-ee69-08da3de7375f X-MS-TrafficTypeDiagnostic: SN7PR05MB7534: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: Q3jfsH8zr18Q3T9VDEv1FBDpjIc5h4JwCHfknaxROrW+NSy64OW3kCP7vuZqr0ahdU4q87ZfrfR3g85kDJAu8a9tiz3Nma0+wmOxManSGZLY34eFg0wTq10eS9KQXIWYITFu3pqtmPLGSqjVEAk/66QJwIrcunMS3iN51B8y3pK5u1s4a2xkRVj0Wzotvm+/TAeSyGlK4WwQqwSK5I2y5DFLTtmrDwrWBggwbn6roIu/GKsKWACARgxRRT+uG2KoB3m4OLJ4YcqHbN2IeKtzTtKxeaGake/6eSeUVyTk2p2oZvPbzaTs29FgNMNJrmLhGVT07t5isEIcslCDIxQmXoUX4aREyRfBwPpJIDYvEb16NYjdMcHGeOo3ShsP5UIc8dFSHIci+MBRRg09AvP65d7adm5mV32B5z6dYCaNDaOqoiu/G27FSUxmM/5wAEvYpL+HmY+2z05KCoBD5MPAqp+WJEw8I33OT4ql8LNU5ABbRNYszr+ZpHccYWU0ehdFF0uw73ebWb8RmX31RqMsuEfBbqT5EYTvCmsKEeQ0kOGmtCbiu/jRUu3idGmKORbTjJBl3bM7VQ8TRvz8Q+nlRs4pUhDy9C+Z6xYOlCBXrINJv5S7hX/aaCcws0dPSKFWl7EkMX2xG4r1afrijoSH9SbN7vrOLH1JqEVVWgUhrDOKKYqehwOO7CHkOFQ5eS50V9nzoFnOOjju5pS5yI8aYndedQNBkGASaWfW+Juk4YVe5d5IRKkKpkrnRXFjdbxa X-Forefront-Antispam-Report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:BYAPR05MB5624.namprd05.prod.outlook.com; PTR:; CAT:NONE; SFS:(13230001)(4636009)(366004)(316002)(4744005)(38100700002)(5660300002)(38350700002)(8936002)(186003)(52116002)(2616005)(36756003)(6506007)(1076003)(6486002)(6666004)(508600001)(37006003)(6512007)(6636002)(450100002)(83380400001)(8676002)(34206002)(4326008)(66476007)(66556008)(66946007)(86362001)(2906002)(26005); DIR:OUT; SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: SEZPW5sH6aJoUb0wi0HGRunjdMUzVrKTTnL4rsY/EN7KX82D/BztcOXBVrC+iMq/3aPy4/uAha2uqgN9ZCLR989NjjQPlKuL4RcsGfB5/Ud5wOCdAMxfDdyt4foNYCCznWAk6uoTudgNnXMnMpevSpsIPXj39o3A5CnPBNHk5MfOnPWgysUe1CBxB5/8nrQyECNaRxRXQD1K2+Q33vtnGhHJ/TIFSiTzjALsHuxDyHzSyamshJzew0OcJvtOKt/ud/9unOqgGQDS6vIU79hm+r2pLsUekG9FA1yzKZi8Dpe/KMppA+PUUwRU96evF3912egAQ5nkLuGDGvnxYpWF7MnDmD9Hm83VPZG4/7jCHAW69golqF0xoDwLaGjTjBNKRxj8EYqAcJaO4OT5WRuWYr30l9+wRPIKjd5HVvy0Q9Vomy2R3S1+sTsX+/KuR9w7E6vO78sSQrJENyht0wnryZz6UuhqRJ6hKUCR1oBby/OTL0hok/DqVvb8W8DrfyzX02SI+3/N45oOmYe9jxCfxXGRpOJqd89cE8dBntgTq+X664vmhzce4mTzL99RjVfJWAoVHoOkECaSoT93sLI7LwyTfzolgBqzOgKX/fyoyS089lnaNTxV867v5Q7/XK/dTvRSPLrz4S8g3bDeWibDNi7wILpYyrzWt/Xv8E4uPe4I9ekNr/d4irs3GyIYo2PHAWBGRbVwNPOtvIyYKta2xJQkV+PMBmxZkmqThnHxSXjf1++Ki16ovgFlZvXSLR84FmX//juj62ekllWI6Qnsi8O9ylVWzW3/m6swpjCSbafLkS773YmICsObQxhBkC4lR+/pujgn1p01z0GvT8ydJnQKgNoh3YA8sRvKTEcNQXrGEjQ+J3dpzedS8sPJuRaBXkxLbkfC50OwgzTDoooSDtr2lBPNi6NcW1eWuz4JWYHbYbvP3FKI1ZglPtNuvLZl95bF/kiKV77/KtwPaI6Zgylbjlv1+8IEEofqxUb75v8UczV82gsdsgkpXkkuAIi3RLXW0oydOw4e0sqIowzt8huOjrecrLkeU+Jskg6tdegTwrle91JNNXJZSU9KP+Jzz3oBxh6Kl5z6wX8udxGjjYsaw9LwMc8JaG8wUROyOYNpjCqd8sYnrJJ7/FbZjIcMQcCZ33dlGyM52V4xbt4kxx3+Np7SBF2H2MhajH1FV4qudYNIJsI2KptbwTwrchIWolcaBTyXhjdHnFUOWJwJhoq7POBLha5JJEiL6aMaYLkU82Tg9FCT6CAPNN8R6biV6Pz8Kiq4Yvwdg0+QUaKZY5vSh8OkP18yb1M4tGpf/P54MU8hHfdtEXvWCcFneywPl3a0xYHlgws9xBz44zS6DrFzJrxRZ8AIgVZxFdFkmIES87yDjC9TAal6wpKzaypBaSZDjUMI27eDuP0XHo3BR0TqR4LqxJwwl6nce2oPPnUddtazZuBVcolYfTgt85Q7FoeF6pNKSPDafWOBKueIGOpgaFvUqv2hGVSTJlhkqSifb/B223lPaGfWO0DHC0wmzudHr2jPy2jo/rGkQ7/PP6h9VrLjzbiLLzP+3KPK5tq07GU+rYRXyAlri32e1eTebX5GGqRhhiBWPmHmxZO3yb2EaLdwzHtepV1sbsRz7z39blp1ex4EvquV0CGFhWcL+RTl0JfArtLAQjtFa3bR35MPcIzRcejeDAu8Wo5MkLbQKgag8tZtqM9MSks4FDb2Wu+74+k+3OvGsbou1Un1lw== X-OriginatorOrg: vmware.com X-MS-Exchange-CrossTenant-Network-Message-Id: 279c06d5-0098-4bcb-ee69-08da3de7375f X-MS-Exchange-CrossTenant-AuthSource: BYAPR05MB5624.namprd05.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 25 May 2022 00:40:50.3526 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: b39138ca-3cee-4b4a-a4d6-cd83d9dd62f0 X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: HomgoECPhNDtoID9r6Ddwj79Yx7FmC2S+ULsL3E+RQAg7kk7FkC+E5188oIqEoBE2HPeywuDTgs6rTlYK5glHA== X-MS-Exchange-Transport-CrossTenantHeadersStamped: SN7PR05MB7534 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 Tested, using testpmd, for different hardware versions on ESXi 7.0 Update 2. Fixes: 046f11619567 ("net/vmxnet3: support MSI-X interrupt") Cc: stable@dpdk.org Signed-off-by: Pankaj Gupta Reviewed-by: Jochen Behrens --- drivers/net/vmxnet3/vmxnet3_ethdev.c | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/drivers/net/vmxnet3/vmxnet3_ethdev.c b/drivers/net/vmxnet3/vmxnet3_ethdev.c index c9e352b73a..2af67dc0a3 100644 --- a/drivers/net/vmxnet3/vmxnet3_ethdev.c +++ b/drivers/net/vmxnet3/vmxnet3_ethdev.c @@ -875,6 +875,11 @@ vmxnet3_setup_driver_shared(struct rte_eth_dev *dev) rqd->conf.rxRingSize[1] = rxq->cmd_ring[1].size; rqd->conf.compRingSize = rxq->comp_ring.size; + if (VMXNET3_VERSION_GE_3(hw)) { + rqd->conf.rxDataRingBasePA = rxq->data_ring.basePA; + rqd->conf.rxDataRingDescSize = rxq->data_desc_size; + } + if (hw->intr.lsc_only) rqd->conf.intrIdx = 1; else