From mboxrd@z Thu Jan  1 00:00:00 1970
Return-Path: <dev-bounces@dpdk.org>
Received: from mails.dpdk.org (mails.dpdk.org [217.70.189.124])
	by inbox.dpdk.org (Postfix) with ESMTP id DF88F45BE6;
	Fri,  1 Nov 2024 01:29:02 +0100 (CET)
Received: from mails.dpdk.org (localhost [127.0.0.1])
	by mails.dpdk.org (Postfix) with ESMTP id 6ECA240264;
	Fri,  1 Nov 2024 01:29:02 +0100 (CET)
Received: from NAM12-MW2-obe.outbound.protection.outlook.com
 (mail-mw2nam12on2077.outbound.protection.outlook.com [40.107.244.77])
 by mails.dpdk.org (Postfix) with ESMTP id 5AE6440041
 for <dev@dpdk.org>; Fri,  1 Nov 2024 01:29:00 +0100 (CET)
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=naJIuKqzn30/EqdJXPZ5ubGbOvNcucFbON+Q+oxwV5HpvH8yshDDdLVrKv9oGT8Gv858ZW8BJNEg1HT6WNlQalc3LZlAYRs/N3rlH8BuO64Pc3pjzz3txc1RSCbaV4BNTH+X6lOpshhaPsHbwsaymPMOyyOFIGINf39NwpVyWpAI6zmxYGV7r4IHg7yqO7A8LJW//k+o750SBR93HLoMhcn4LFM5NzI4kRyvMHUUKuMiqXCcthMzq2jpVJVpqGXuYLuCjzNbgCJgDlPKbvxwQTyPgkJc5BbHnsYeBWn+nhWubFMrYoKIcvfKGH4hWS0XFnUjlF43y1iTu/TQbGAOjg==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; 
 s=arcselector10001;
 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=JwWgviAURx92BV9L60ESKruYSV+ls/k/ViCQCX9DcrI=;
 b=goBVMouzuPTkPUEta8CDJdLuJZxaua1rtuEyIYKGfyGWS3sUpK7OS794tX/IJsTY4VNBbecWznEgswdf0zS95nLyE/E7pr7oo4ULnxt2rJ2YFzWmQh8GxFP53qGOeCMorAeGD9EDvugiw3dDidE3QoqPnvpslLWTaBMccQ9jo8AIRvEBFiXC3cqsXZ8qAYjWlUaxUZjf81LvMtXTnCalkAtAXGTIPXeiO97etR2hnbhVW0ilhO/iuLClPi+pZyYJUKmNeYc23vkqVCtiP000ifrmQpz7IcEjMYrrNjvZKnPtQdlHtTFI1SVCQkG8gYKLZHSOURutcR6+BGebBnbR/A==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=amd.com; dmarc=pass action=none header.from=amd.com; dkim=pass
 header.d=amd.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=amd.com; s=selector1; 
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=JwWgviAURx92BV9L60ESKruYSV+ls/k/ViCQCX9DcrI=;
 b=SPQZe7bWvVVxriaX7qP+4kqrC925/2yGnWjveyxKXzpAMCZlsPsVqcipSXCoVVd9Bb6w8jJNAFfsqmbGbU0IZ0/zh5GGtuWkCsFTkPwKYEbIdl00zBq00vLMBu14u4o97bXgEmpKgRt94YEv0CIaMvnF4W13NoEpMx/H0QaBsDY=
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=amd.com;
Received: from SJ2PR12MB8830.namprd12.prod.outlook.com (2603:10b6:a03:4d0::9)
 by MW4PR12MB7381.namprd12.prod.outlook.com (2603:10b6:303:223::14)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8114.23; Fri, 1 Nov
 2024 00:28:57 +0000
Received: from SJ2PR12MB8830.namprd12.prod.outlook.com
 ([fe80::c3eb:df02:eaa9:2055]) by SJ2PR12MB8830.namprd12.prod.outlook.com
 ([fe80::c3eb:df02:eaa9:2055%4]) with mapi id 15.20.8093.024; Fri, 1 Nov 2024
 00:28:57 +0000
Message-ID: <74bea300-25dd-4557-89ea-c57dfa3a991f@amd.com>
Date: Fri, 1 Nov 2024 00:28:52 +0000
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v2] net/vmxnet3: support per-queue stats for fewer queues
To: =?UTF-8?Q?Morten_Br=C3=B8rup?= <mb@smartsharesystems.com>, dev@dpdk.org,
 Jochen Behrens <jochen.behrens@broadcom.com>
References: <20241024110129.791362-1-mb@smartsharesystems.com>
 <20241025092734.1222248-1-mb@smartsharesystems.com>
Content-Language: en-US
From: Ferruh Yigit <ferruh.yigit@amd.com>
In-Reply-To: <20241025092734.1222248-1-mb@smartsharesystems.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-ClientProxiedBy: LO2P265CA0491.GBRP265.PROD.OUTLOOK.COM
 (2603:10a6:600:13a::16) To SJ2PR12MB8830.namprd12.prod.outlook.com
 (2603:10b6:a03:4d0::9)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: SJ2PR12MB8830:EE_|MW4PR12MB7381:EE_
X-MS-Office365-Filtering-Correlation-Id: 5d6e2029-c8a1-4dd5-0168-08dcfa0c2c3b
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;ARA:13230040|366016|1800799024|376014;
X-Microsoft-Antispam-Message-Info: =?utf-8?B?ejFSUHJNMWV5Sld3TnY1N1k3UlR1N0dtYzBYdGV4aVNFeEZoSW4wUlU4L3Q0?=
 =?utf-8?B?NmpIeTRHZTBtcllqL1RrS3pMYnNWdTVGaXdDT0J1TUplOWlKMEdZenNMZ3RW?=
 =?utf-8?B?SlczYVRmbldPcFA1MDYyNm8vSW5WSkRlUTE5c2lmTHNXcEY5Yytna3VoL3Rv?=
 =?utf-8?B?ZXlvYk1Zd1FYQzQrVm9WZHhyQ2RZTk1uUVFEcFRranBsU0hiV0FBUXRyczJ0?=
 =?utf-8?B?QmJlZmdObkk3TDZXcWdZTmk2elM3bWtPcG1JSmg4ZndXTkhvRi8xYjZVSHov?=
 =?utf-8?B?VEpzdWRXdkdwMnQ2MnJhQjQvREVOd1JNTlhmM1l3OWN1aVFacGNGbzJnTkxV?=
 =?utf-8?B?WE05dkxGMnlVdVV2M3JSRVN2MG5hNExIby9Edjk0V3ErSUZlNC85TERWUjlh?=
 =?utf-8?B?ZmMxa1dmRmd0RXRpN2RkOHRYbkJQdlhkcndJSE52S3FUZUl4MGZMaFdCSUNr?=
 =?utf-8?B?T3ZiNkpkT3dSbUJ1WDNGcWEvc1lWZFlsYS85OFlzY1BpcnNEWHJMc0RPZ1lk?=
 =?utf-8?B?dkRKM013OVBSbjVTSXBQRVdlR1cyWTB3cTJTRGxwNEUzcHFGMWJaQmdDakMw?=
 =?utf-8?B?SHlZTUNHZW5hRkRHSnRkZ3hXbW5iL3FZeWhqeU4ybkJ1T3pQVWtxaFdSYmth?=
 =?utf-8?B?MDRiK21hMmtFZGtRNXVURTVjemdVUHdHZnRWZEd5UGEzSzRMUTVhNlkzWDl4?=
 =?utf-8?B?SXBpWThNSHBQdTNmOFVNVCsrTXdpaGdBSUptK3pxc2ZoUzNpSFZWSlNuSTFv?=
 =?utf-8?B?NENDS0c5Nlh4THUrbGtRN1U3Mlo3TWl1cXF0NENoRUxwVUdUY0Z0bWxPdlUz?=
 =?utf-8?B?ZnJsRjB5VWJ2UzV2TmdBSjlCYkFkWEg1R1o4cHB2aXBqQ3JxTFZFT1FSVndS?=
 =?utf-8?B?b21kNSs3Qndyc1JZVGZ6bFB1YVUwd0grVHhER0NMWjJtQlVZaDJHUVhQaEJ6?=
 =?utf-8?B?L1BaLzFDeE1LQXgzeTVoOFgrTjdyNHVyaERCakdSdWUvUElUaStNWld5ckl1?=
 =?utf-8?B?OGtyL3gvYlorOFFmS1VRWmNraXRvRnNJaE5SUm56SzhhbE81V3Q4NUxteU5Q?=
 =?utf-8?B?TjUrV1VUS0gyODcxR2w2TWFQZllqTzRja1VaeGJSNEQ4SlBwblV4T1MxY0hT?=
 =?utf-8?B?UzFVVTB0WVNSTzJVZ25NMzJDZFFEOWpCK3VTZEs3OWFsMzNtalFZTkdWUytl?=
 =?utf-8?B?bEFMc0hRbmRqTkc4OEpac0Y3aHdYMGlFMDFIcGtEeS9rVmo3VUpPQlRGbFRm?=
 =?utf-8?B?ejUzOXdPcWxqamdZS1BzYnRpTXRndUw5Nlkrbkl0eTlTT2RFNkttVjlDa1NR?=
 =?utf-8?B?TTNtdmVUMDBuNlZMOXorRFdTSW1adi9iZmFRUW82R2tWWGRkaWlhZGpsa0xI?=
 =?utf-8?B?VW9mN0RuSGpOZ1pxcUhaWmJIT3ZMTHJlU3RPalllOTB2Ykx0bHpucUMvZFg5?=
 =?utf-8?B?WnNxdDRSc2U3T3o2Ni9leGJxMmhLNjZRMncvMUx0R3MwMzJRUHFYZ0ZwQllN?=
 =?utf-8?B?QXgxN2p4TzR6Ti9TYmZPRkZOZEhMZ0plMkZDRTFXM2NvaXlBSUNVL0Znamdp?=
 =?utf-8?B?UGFyTDJncmMrSHpXMGhTZ1JWNG1pZytuWkZuYnBkSGpESUN1V25tcGZya1Zs?=
 =?utf-8?B?SXN4YkVQSG9LQnZoajR6VFIvblp4dGRES2QxaW1jQ0lyY2ZOdlA3allUamly?=
 =?utf-8?B?ZFg0Tzd1SVpjNndDQkJCeGxxRUZtR2FJNVpXaXliRzVZNW1kcWYxdHdyNEF3?=
 =?utf-8?Q?vdTlbMhWYOYlGLjAbbFchW/hwXvYUcNos2EuG6U?=
X-Forefront-Antispam-Report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:;
 IPV:NLI; SFV:NSPM; H:SJ2PR12MB8830.namprd12.prod.outlook.com; PTR:; CAT:NONE;
 SFS:(13230040)(366016)(1800799024)(376014); DIR:OUT; SFP:1101; 
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0: =?utf-8?B?LzkyVGJhMHRpcnVkUmxSQmtDWUo4SWl6RElJdHZXNCtqWGJNcEZrd25Tc205?=
 =?utf-8?B?TUFvd0tHUWhnNW13ZjE1cFNWNUJLZEoyanh3elBpN0JheWNNVWV4OStRUlN6?=
 =?utf-8?B?bUpTd3poUnhYaUNvYXlGaDdhbHRPTlRFSUVTb0s4VmxEVVZjUUNQRmdIWXlS?=
 =?utf-8?B?UUlRY3p6WFlCR1laTFQ1c1NvUGlGYTFGbFNqWFRqdDJpMFdtZ0Q1KzFNcnJp?=
 =?utf-8?B?QTU2RjJRZHY5SHZrbFdWVmNkZFVIM2k2N0owQmVtSzc4cUdvekdLSEtvYm44?=
 =?utf-8?B?N2hhT05xS3Qwc1VRV3RZL0Franh3akNDR1FUd2VyTjNKWDZaSllzTW42L0tk?=
 =?utf-8?B?TCt4NjZQckk2RGtuNW9LM1RLMSsyVzNMbzYxa0JUWTVTcjJDMldQWUc0UVhZ?=
 =?utf-8?B?L2gxa0Q0NEo0UUgzUnBxWHVmUEgzaTNoZ2V2MHdqWkFScituQUw5NEZreVRW?=
 =?utf-8?B?dDBkQk5lalJBcWk2b0tmSldHT3E3RVVlYTB3cWhCcllZRXduQUFZLzQrTkJ0?=
 =?utf-8?B?MnZRYmgzN1g5RjVCVWhWTTBMMTBhYzJwckl1akVSbTlxQUtiME1kM1diUktK?=
 =?utf-8?B?cGVyUXdGRHNjTDBpU0xNeVRZL1I3L2JJb0Rmc3lrcU4rY05ESTJpcGR6T2Vl?=
 =?utf-8?B?MlhCSlFlem5tdFc5eU5nYlg4SUxad2lwMzNYcWJDZUF1R3k1R2xBQ3pVSlky?=
 =?utf-8?B?SU1XM1o0SWxLR3FrMW9jV0pZbDQ3Zk4yckdmd0ZqTjg3eDVWOEVoQXFPZjB5?=
 =?utf-8?B?SmZBWTF3c3ZmZUZMTGF5bUZrY1l6WE9WSjlEVGtNR2ZoQW5KM1ZpM1cxZXNJ?=
 =?utf-8?B?cWdkczFPS1h1bXlMOVpuamlKMG54aVVZbTMyaGJGcy9BYmpoa2VCYitsMkNI?=
 =?utf-8?B?MTA1WWtNUWhJT1ZTUTRqQzJvUlZCaWpTemhycEpVK3YwNHlOMmk1WkFPa1hC?=
 =?utf-8?B?SnlvRTJkKzJjUnZFR0cwMmc3ZWU5QXFmcTc4TlFYUnYyUGplT2xqZDRmaS9P?=
 =?utf-8?B?QW96R0ZvM0NPK3lMa3d3MFVXSG91Vm44MzB5SkZyd3JyUFZ2ZWw5UEI5bnoz?=
 =?utf-8?B?aUxZLzZqRllySmV3M3Vhc1FxS2RETkQ2TlZtQ2pJWmt1QzZFZEtJdTBEcDBF?=
 =?utf-8?B?UXZuTjMyYXlOcnF3RnBYeFBmcHdLVkdZUWZJelI4cWhUcWVBQUxtUDNrT2Nm?=
 =?utf-8?B?SXFjS0t6OEJ0VTZjNVVTWmlsVW5TakZlRDAvd1NsWVlJdHJKZ0NvQmtFTVdV?=
 =?utf-8?B?SXFMUTlKamppNTlPNzRsOFI4OXFJalBrUEdzTnpHa0VrV1VOV2tMdkN2THJQ?=
 =?utf-8?B?TU9lem5WeEN4aTlkeWpmTHdMNlEvdUZ2UW5Pb2M0RHR5aFBaUHVZQkpDdDF3?=
 =?utf-8?B?S1NNc1ZNMzdEd0t5NisrdENsYTIzM1Q3MmVnTlNEQjltOGx1dEpJTnYvYlpw?=
 =?utf-8?B?dnFQVVRyeitIbEVDRzduQkprOWRSSVlWd04wK0tKRDNzVXNtbWZlMHR2SFBi?=
 =?utf-8?B?T1FsRUIvUGx4NnJVTWh6MFZxNWVza1RCMEY3UWZHSi9ybUdtZ201SU9PTWQ4?=
 =?utf-8?B?VXZoaUhUZmhoNTVhVzluQzU4aThkR1hlNGdObEI1amhsNnFGUjJaWDJ6SUZz?=
 =?utf-8?B?NkdBd3hXcGN3bUhKTkp1ODgwR2dkbk9ZVHRNaVVJcS8xVG4rdU5nT0FVMk91?=
 =?utf-8?B?ZnNHNXVsajZGdHRIeDFURWYrRFNOZ295eUw0UTN4Zk5DMlRMeU1FQlR3SDQ4?=
 =?utf-8?B?Mms2LzVEZVIray9KN2RSU1lwZUd3a2hsUGNqU3VKZnBTc2UyR3o4MlVQeldn?=
 =?utf-8?B?c0J4SmowUjVJbHJWL2gvOEZrZm5UWnExbVp5bXZNb0tTV1VreTFNSENQQmEy?=
 =?utf-8?B?L1BVRzNLZDdPc25nclJtSGFGMmVLZDV6MnNwSWZ2OE1MWWRwTGxTSkpwMUM1?=
 =?utf-8?B?ZnRDSklRaUh5NHNsR1U1ajFGeUUrbGN5YXNSaEp4dGpOM0Q2YVVCVEpKREJq?=
 =?utf-8?B?Y1BPVlJBTjFNSW9rQVFkMk1NVUw4WnlHNGhGeTQyYnJ1QVJzU1djaHgxLzRB?=
 =?utf-8?B?ZUJENmlOcmhQVU9vY2lPT2xtdERXdXdoVHZGT0JNRk9Xa3RKOG9mTFA3L3l3?=
 =?utf-8?Q?u6XQkBr6Jit/CXeaY7+JJX6FN?=
X-OriginatorOrg: amd.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 5d6e2029-c8a1-4dd5-0168-08dcfa0c2c3b
X-MS-Exchange-CrossTenant-AuthSource: SJ2PR12MB8830.namprd12.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 01 Nov 2024 00:28:57.1239 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: 3dd8961f-e488-4e60-8e11-a82d994e183d
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: KmsMtdwIYY0RcxBt4N4KrG2khzEhyl3ox0zTS2ghnZx6oKlgIHcWlMR3GF+tiUas
X-MS-Exchange-Transport-CrossTenantHeadersStamped: MW4PR12MB7381
X-BeenThere: dev@dpdk.org
X-Mailman-Version: 2.1.29
Precedence: list
List-Id: DPDK patches and discussions <dev.dpdk.org>
List-Unsubscribe: <https://mails.dpdk.org/options/dev>,
 <mailto:dev-request@dpdk.org?subject=unsubscribe>
List-Archive: <http://mails.dpdk.org/archives/dev/>
List-Post: <mailto:dev@dpdk.org>
List-Help: <mailto:dev-request@dpdk.org?subject=help>
List-Subscribe: <https://mails.dpdk.org/listinfo/dev>,
 <mailto:dev-request@dpdk.org?subject=subscribe>
Errors-To: dev-bounces@dpdk.org

On 10/25/2024 10:27 AM, Morten Brørup wrote:
> Removed the requirement that the configured number of queues to provide
> statistics for (RTE_ETHDEV_QUEUE_STAT_CNTRS) cannot be less than the
> driver's max number of supported transmit queues (VMXNET3_MAX_TX_QUEUES).
> 
> Also improved support for virtual hardware version 6.
> 
> Signed-off-by: Morten Brørup <mb@smartsharesystems.com>
> ---
> v2:
> * Virtual hardware version 6 supports more queues; updated some arrays
>   accordingly.
> * Added support for larger MTU with virtual hardware version 6.
> ---
>  drivers/net/vmxnet3/vmxnet3_ethdev.c | 34 +++++++++++++++++-----------
>  drivers/net/vmxnet3/vmxnet3_ethdev.h |  4 ++--
>  2 files changed, 23 insertions(+), 15 deletions(-)
> 
> diff --git a/drivers/net/vmxnet3/vmxnet3_ethdev.c b/drivers/net/vmxnet3/vmxnet3_ethdev.c
> index 78fac63ab6..1752c58069 100644
> --- a/drivers/net/vmxnet3/vmxnet3_ethdev.c
> +++ b/drivers/net/vmxnet3/vmxnet3_ethdev.c
> @@ -1470,42 +1470,52 @@ vmxnet3_dev_stats_get(struct rte_eth_dev *dev, struct rte_eth_stats *stats)
>  	struct vmxnet3_hw *hw = dev->data->dev_private;
>  	struct UPT1_TxStats txStats;
>  	struct UPT1_RxStats rxStats;
> +	uint64_t packets, bytes;
>  
>  	VMXNET3_WRITE_BAR1_REG(hw, VMXNET3_REG_CMD, VMXNET3_CMD_GET_STATS);
>  
>  	for (i = 0; i < hw->num_tx_queues; i++) {
>  		vmxnet3_tx_stats_get(hw, i, &txStats);
>  
> -		stats->q_opackets[i] = txStats.ucastPktsTxOK +
> +		packets = txStats.ucastPktsTxOK +
>  			txStats.mcastPktsTxOK +
>  			txStats.bcastPktsTxOK;
>  
> -		stats->q_obytes[i] = txStats.ucastBytesTxOK +
> +		bytes = txStats.ucastBytesTxOK +
>  			txStats.mcastBytesTxOK +
>  			txStats.bcastBytesTxOK;
>  
> -		stats->opackets += stats->q_opackets[i];
> -		stats->obytes += stats->q_obytes[i];
> +		stats->opackets += packets;
> +		stats->obytes += bytes;
>  		stats->oerrors += txStats.pktsTxError + txStats.pktsTxDiscard;
> +
> +		if (i < RTE_ETHDEV_QUEUE_STAT_CNTRS) {
> +			stats->q_opackets[i] = packets;
> +			stats->q_obytes[i] = bytes;
> +		}
>  	}
>  
>  	for (i = 0; i < hw->num_rx_queues; i++) {
>  		vmxnet3_rx_stats_get(hw, i, &rxStats);
>  
> -		stats->q_ipackets[i] = rxStats.ucastPktsRxOK +
> +		packets = rxStats.ucastPktsRxOK +
>  			rxStats.mcastPktsRxOK +
>  			rxStats.bcastPktsRxOK;
>  
> -		stats->q_ibytes[i] = rxStats.ucastBytesRxOK +
> +		bytes = rxStats.ucastBytesRxOK +
>  			rxStats.mcastBytesRxOK +
>  			rxStats.bcastBytesRxOK;
>  
> -		stats->ipackets += stats->q_ipackets[i];
> -		stats->ibytes += stats->q_ibytes[i];
> -
> -		stats->q_errors[i] = rxStats.pktsRxError;
> +		stats->ipackets += packets;
> +		stats->ibytes += bytes;
>  		stats->ierrors += rxStats.pktsRxError;
>  		stats->imissed += rxStats.pktsRxOutOfBuf;
> +
> +		if (i < RTE_ETHDEV_QUEUE_STAT_CNTRS) {
> +			stats->q_ipackets[i] = packets;
> +			stats->q_ibytes[i] = bytes;
> +			stats->q_errors[i] = rxStats.pktsRxError;
> +		}
>  	}
>

Ack, this is also a fix, since queue size can be up to
'VMXNET3_EXT_MAX_RX_QUEUES' (32) for version 6, even if
'RTE_ETHDEV_QUEUE_STAT_CNTRS > VMXNET3_MAX_TX_QUEUES',
'RTE_ETHDEV_QUEUE_STAT_CNTRS ' still can be smaller than
'VMXNET3_EXT_MAX_RX_QUEUES', which will cause accessing out of boundary
to queue stats array.


>  
>  	return 0;
> @@ -1521,8 +1531,6 @@ vmxnet3_dev_stats_reset(struct rte_eth_dev *dev)
>  
>  	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, &txStats);
>  		memcpy(&hw->snapshot_tx_stats[i], &txStats,
> @@ -1566,7 +1574,7 @@ vmxnet3_dev_info_get(struct rte_eth_dev *dev,
>  	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;
> -	dev_info->max_mtu = VMXNET3_MAX_MTU;
> +	dev_info->max_mtu = VMXNET3_VERSION_GE_6(hw) ? VMXNET3_V6_MAX_MTU : VMXNET3_MAX_MTU;
>

Hi Morten,

The MTU update is unrelated with the main purpose of this patch, what do
you think to separate above to its own function.

>  	dev_info->speed_capa = RTE_ETH_LINK_SPEED_10G;
>  	dev_info->max_mac_addrs = VMXNET3_MAX_MAC_ADDRS;
>  
> diff --git a/drivers/net/vmxnet3/vmxnet3_ethdev.h b/drivers/net/vmxnet3/vmxnet3_ethdev.h
> index 2b3e2c4caa..e9ded6663d 100644
> --- a/drivers/net/vmxnet3/vmxnet3_ethdev.h
> +++ b/drivers/net/vmxnet3/vmxnet3_ethdev.h
> @@ -121,8 +121,8 @@ struct vmxnet3_hw {
>  #define VMXNET3_VFT_TABLE_SIZE     (VMXNET3_VFT_SIZE * sizeof(uint32_t))
>  	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];
> +	UPT1_TxStats          snapshot_tx_stats[VMXNET3_EXT_MAX_TX_QUEUES];
> +	UPT1_RxStats          snapshot_rx_stats[VMXNET3_EXT_MAX_RX_QUEUES];
>

Ack, probably above needs to be fixed anyway, even with
"VMXNET3_MAX_TX_QUEUES < RTE_ETHDEV_QUEUE_STAT_CNTRS" restriction (as
RTE_ETHDEV_QUEUE_STAT_CNTRS can be configured to be a bigger value
during build).