Release Notes Change Log History

Linux Kernel Upstream Release Notes v6.5

Category

Description

Ref. No.

Rev. 5.50.51000

Contains the following versions of components:

  • Bus, eth, IPoIB and mux drivers version is 5.40.14659

  • The CIM provider version is 5.40.14659

General

Added support for Windows Server 2019.

-

Bug Fixes

See Bug Fixes History.

-

Rev. 5.50

Contains the following versions of components:

  • Bus, eth, IPoIB and mux drivers version is 5.50.14643

  • The CIM provider version is 5.40.5.50.14643

Dump Me Now (DMN)

DMN is a bus driver (mlx4_bus.sys) feature that generates dumps and traces from various components, including hardware, firmware and software, upon internally detected issues (by the resiliency sensors), user requests (mlxtool) or ND application requests via the extended Mellanox ND API. DMN is unsupported on VFs.
For further information, refer to section Dump Me Now (DMN) in the User Manual.

CPUs

Added supports for systems with up to 252 logical processors when Hyperthreading is enabled and up to 126 logical processors when Hyperthreading is disabled.

1265040

Performance

Added support for RSC solution in TCP/IP traffic to reduce CPU overhead.

598819

Added support for extended NDSPI to control CQ moderation.

1052685

Added a new counter for packets with no destination resource.

1078744

Added a new registry key that allows users to configure the E2E Congestion Control feature.

1125414

Added to the vlan_config tool the ability to create VLANs for the Physical Function (PF) in addition to the Virtual Function (VF).

1047438

IPoIB

Added support for VMQ over IPoIB in Windows Server 2016.

Debugging

Added support for collecting firmware MST dumps in cases of system bug check.

1034399

Added an event log message (ID 273) that is printed when the number of resources to load the VF is insufficient.

1110008

Counters

Added a counter for the number of packets discarded due to an invalid QP number.

1065348

Added DSCP based counters to support traffic where no VLAN/priority is present.

1117335

RDMA

RoCE TTL default value has been changed from 128 to 16.

1166268

General

Added support for Windows Server 2019.
Note: Currently the drivers in the Windows Server 2019 package are certified only for Windows Server 2016.

RSC

Modified the RSC default mode when using Windows Server 2019. RSC is disabled by default in Windows Server 2019.

Bug Fixes

See Bug Fixes History.

Rev. 5.40

Contains the following versions of components:

  • Bus, eth, IPoIB and mux drivers version is 5.40.13749

  • The CIM provider version is 5.40.13749

General

Added PDDR (Port Diagnostics Database Register) support: providing details on the root cause when the link is down via mlxtool.

956728

Improved driver load time by reducing the amount of context initialization work done in the firmware, and performing it in the driver instead.

924738

SR-IOV

Amended the PF\VF counters’ wrong data display. For reliable PF/ VF counters, it is recommended to use the WinOf 5.40 version on the host, and WinOf 5.30 or higher as the VF version.

965857

Modified SR-IOV VF driver to use Mellanox hardware comm channel.

853685

mlxtool

Added the ability to show the sensors state for each instance (bus or miniport)

1044293

Added the ability to modify receive ring parameters on the fly.

1022471

Exposed Ethernet driver data path statistics via the mlxtool perfstats command.

1022469

Added an option to dump all ND connections.

Added a command that triggers a "Dump me now" event.

Added performing "HCA reset" function.

Added the ability to show the difference between actual configured registry keys and values in the registry.

RDMA/ND

Extended the ND API to allow reporting to RDMA applications when the device is reset, and when it is back to operational mode. The new ND API header is a part of the SDK.

1020585

1022739

Extended the ND API to allow triggering "Dump-me-now" from an ND application for specific QPs.

1022723

Returning correct return values in case of canceled ND requests.

The RoCE Version Interoperability feature is disabled - RDMA communication between nodes, where one node is configured to RoCE v1.5 and the other to RoCE v2, is not supported.

RSS Monitoring

Added the ability to sample packets which are not sent to the RSS queues via mlxtool.

867203

Added per-core RSS traffic counters.

867201

ND-IBAL

Removed the option to use or install the ND IBAL provider. In case the ND IBAL provider is installed as part of an upgrade with the full package, it will be removed.

1014850

Troubleshooting

The maximal size of the WPP trace file was increased from 16MB to 100MB.

Rev. 5.30

Contains the following versions of components:

  • Bus, eth, IPoIB and mux drivers version is 5.35.12978

  • The CIM provider version is 5.35.12978

Ethernet

Updated driver settings for Virtual Function to receive optimal performance

Added RSS (Rx Steering Mode) monitoring counters support

867201

Added counter for link up/down to count the number of times that the link operative state changes to down. See “Proprietary Mellanox Adapter Diagnostics Counters” in the User Manual.

818135

Tools

vstat tool - Added interface description for each port in the vstat tool.

857255

Mlxtool - Added support in the following actions:

  • Driver restart

  • Pulling resource tracker information for VFs

867812

756249

Bug fixes

See Bug Fixes History.

Rev. 5.25

Contains the following versions of components:

  • Bus, eth, IPoIB and mux drivers version is 5.25.12665.

  • The CIM provider version is 5.25.12665

Virtualization

Virtual Machine Multiple Queue (VMMQ): Virtual Machine Multiple Queues (VMMQ), formerly known as Hardware vRSS, is a NIC offload technology that provides scalability for processing network traffic of a VPort in the host (root partition) of a virtualized node. In essence, VMMQ extends the native RSS feature to the VPorts that are associated with the physical function (PF) of a NIC including the default VPort.

-

Network Direct Kernel Provider Interface (NDK v2): The Network Direct Kernel Provider Interface (NDKPI) is an extension to NDIS that allows IHVs to provide kernel-mode Remote Direct Memory Access (RDMA) support in a network adapter.

-

SR-IOV Port Mode: Changed the default value of SriovPortMode to Manual. Now, by default on dual-port devices the maximum number of VFs will be split between the two ports.

RDMA over VM in SR IOV Mode (Beta Level): Allows the user to work with ND and NDK over Virtual Machines when in SR-IOV mode.

Ethernet

PacketDirect Provider Interface: PacketDirect extends NDIS with an accelerated I/O model, which can increase the number of packets processed per second by an order of magnitude and significantly decrease jitter when compared to the traditional NDIS I/O path.

-

Bug Fixes

See Bug Fixes History.

-

Rev. 5.22

Contains the following versions of components:

  • Bus, eth, IPoIB and mux drivers version is 5.22.12433.

  • The CIM provider version is 5.22.12433

VXLAN

Setting the dynamic VXLAN UDP port is now supported for dual-port devices when only a single port is active.

-

RDMA

Improves cache hit rate in RDMA by reducing the size of the Adapter's Memory Translation Table (MTT).

-

Changed the ND port allocation scheme from hashing to 64k bitmask.

-

Changed the default value of RoCE mode to RoCE v2

753974

Tools

Modified the Vsat tool to function also when RoCE is disabled.

-

nd_write_bw and nd_send_bw now support getting send completions using events instead of polling by using -e switch. Parameter only affects client side and only on “duration” mode (-D <time>).

665164

Improved mlxtool error handling for the pkeys option. When a broken IPoIB interface registry entry exists (for example, an old virtual interface that was not fully removed), the tool would fail and exit. Now the tool skips such entries and prints the next ones.

642352

General

Enabled dual-port card to work as a single-port card.

-

Diagnostic

Improved Event Log Messages explaining behavior of the driver in case of illegal port configuration Port1: Ethernet w/o RoCE, Port2 IB.

681229

Improved Event Log Messages issued on driver-generated dumps.

648731

SR-IOV

SR-IOV is disabled when the port is set as IB type.

-

Set the *PriorityVLANTag registry key of Virtual Function (VF) to not support neither priority nor VLAN, and removed VlanId registry key completely.

659090

[Beta] Added support for SR-IOV Ethernet Windows over KVM.

-

Installation

Removed the co-installer that installs performance counters. The counters is installed during the setup.

-

Teaming

Added support for tagged and untagged traffic over Team driver.

-

Enabled teaming configuration via the Command Line Interface.

-

Documentation

Release Notes and User Manual documents were removed from the package. A new README file which includes basic installation instructions, summary of main features and requirements has replaced them.

661394

Rev. 5.19.11822 (Beta Level)

Contains the following versions of components:

  • Bus, eth, and IPoIB drivers version is 5.19.11822

  • The CIM provider version is 5.19.11822

SR-IOV

Added VLAN support for NDK on VF.

Ethernet

Added a thread race protection for RX/TX CQ/ring iterator

Rev. 5.19.11803 (Beta Level)

Contains the following versions of components:

  • Bus, eth, and IPoIB drivers version is 5.19.11803

  • The CIM provider version is 5.19.11803

NDKPI

Added support for NDKPI v2.0 interface.

Virtualization

Added support for RoCE in SR-IOV VM.
Virtualization: Added support for RoCE in virtualization mode in the hypervisor.

PacketDirect

Added support for PacketDirect Provider Interface (PDPI).

SR-IOV Security

Added support for the Ethertype spoof protection feature, which enables the hypervisor to control the allowed Ethertypes that the VF can transmit.

VMMQ

Added support for RSS load-balancing offload in HW for non-SRIOV VMs.

Rev. 5.10

Contains the following versions of components:

  • Bus, eth, IPoIB and mux drivers version is 5.10.11345.

  • The CIM provider version is 5.10.11345

Operating System

Added support for a new Windows Client version - Windows 10 Client

-

General

Fixed an issue where a device state dump used for debug could cause the device to get stuck, requiring driver restart or server reboot to recover.

568240

Fixed an issue where a system with two or more adapters could crash when one of the adapters gets disabled.

532481

Fixed the case where during very high CPU load on the core that is in charge of transmit notification processing, driver may mistakenly decide the device is hung and initiate a reset to the interface.

550016

Fixed the issue of when a driver fails to start (Mellanox device appears with Yellow bang in the device manager) and user stops the driver, this could cause the system to hang.

492885

General

Added third party branding for ATTO. ATTO devices will be shown in the device manager with customized ATTO device names and model numbers.

520073

RDMA

Fixed synchronization issue between client and server side in nd_write_lat that could cause the test to hang on start.

559668

Fixed a problem of when a user is trying to change the RoCE mode using the Set-MlnxDriverCoreSetting

PowerShell command on a setup with two devices, the mode does not change until the next driver restart.

520406

Enabled the driver to use a minimal number of memory registration resources when physical memory contiguity allows it.

557943

Implemented a resource pool to save physically contiguous memory in the driver, which was used by RDMA applications. This way the re-use of this memory will be allowed.

557954

RDMA

Improved ND connection establishment time when using firmware v2.34.5000

495620

Changed NDK and its clients (like SMBDirect) to be disabled by default when PFC is not enabled.

449771

Added an RDMA test to the package to demonstrate Linux interoperability.

541340

Enlarged private data limit in ND and NDK.

562879

Changed default RoCEv2 UDP destination port to match IANA standard.

574918

Removed all deprecated performance tools.

569889

QoS

Fixed an issue when after OS initiated reset of the interface, default QoS policies were not properly restored.

558513

Virtualization

Fixed the issue of when enabling VMQ after SRIOV has been disabled, VMQ would not work, and the VM would fall back to paravirtualization, impacting performance.

549092

Improved isolation of SRIOV host from VM driver issues.

549073

Fixed a race which caused some of the configurations to be badly reinitialized during VM or host transition to VMQ mode. This bug used to cause loss of communication to the affected VM or host.

560789

Added support in mlxtool to allow the query of PKeys configured in SR-IOV VMs.

565011

RoCE

Fixed an issue where adding VLANs would fail because the driver’s internal table was not cleaned up correctly upon VLAN removal.

547762

Fixed a memory leak caused by a race between successful finish of a Management Datagram (MAD) and canceling it.

541447

Debugging

Enabled mlxtool to allow a manual generation of register dumps.

542828

For performance tuning purposes, debug counters were added to indicate once the driver transmit queue got full.

-

Added a discard counter for performance analysis.

565011

Added discard counters per Transport Class. The counters names are in beta and are subject to change.

591908

Ethernet

Fixed the issue when after removing the Virtual Ethernet Adapter, some registry keys would remain.

529621

Enabled a device watchdog mechanism that prevents the device from sending excessive pauses to the network for any reason.

Added support for Windows 2008R2/Windows 7 Client teaming driver to allow selecting the MAC address of the primary interface.

514256

Added support for driver Teaming in Windows Client 8.1.

507319

InfiniBand

Fixed the issue of when Query Path Record (QPR) option is set, a race condition occurs. The race would be between the handling of received packets and the response to the path query to the new destination. This could cause losing packets received from a new source because the path query for it was not yet finished.

536405

Fixed the Query Path Record list handling to prevent double entering of the same destination. This bug may have caused list corruption which led to unexpected results.

535446

Fixed the issue of when BSOD may occur when running with two HCAs and using sminfo when no Subnet Manager is available.

492579

Fixed the issue of when creating virtual IPoIB PKey interfaces with HP cards using part_man.exe utility was not possible.

491585

Fixed the issue where a new VM creation or its migration in IPoIB could cause the system to crash.

441213

Performance

Fixed an issue where in VMQ mode, not all receive buffers allocated for the VMQ are used, impacting performance.

567513

Installation

Added support for installing counters with co-installer. This allows the installation of counters while installing the driver via the INF mechanism.

549805

Rev. 4.95.50000

Contains the following versions of components:

  • Bus, eth, IPoIB and mux drivers version is 4.95.10777

  • The CIM provider version is 4.95.10777

InfiniBand

Fixed BSOD on next driver restart when running the sminfo tool and SM is not running

492579

Fixed instability in IPoIB driver when polling mode is enabled

521205

Fixed the issue when live-migrated VM with virtual NIC over IPoIB physical interface loses its IP address and comes up with APIPA address (169.254.x.x)

439359

Ethernet

Fixed BSoD after the receive buffer’s size changes in VMQ mode

500228/
522073

Fixed Powershell setting of RoCE mode when the machine has more than one Mellanox device

520406

Fixed reporting of NVGRE capabilities to the OS

535203

Added a new mode that ignores FCS warnings and enables the Ethernet packets to be received by the NIC

-

Added the option of setting the MAC address of 2008R2 teaming driver to be taken from the primary interface

-

Added the option of taking the MAC Address used for teaming from one of the interfaces without manipulation

-

Changes in UI

Added the option of configuring the team MAC address to be the same as the primary adapter MAC address

514989

Troubleshooting

Added an autologger session that dumps WPP traces to file to enable easier analysis of issues

-

Added logging of performance counters and CPU power saving state to system snapshot tool

-

RDMA

Fixed handling of send request with inline data larger than supported

443355

Added the option to allow RDMA programmers to create pre-allocated pools of ND resources to reduce resource creation time

-

Low Level Driver

Fixed the case in which the system rarely gets unstable after driver restart

492885

Infrastructure

Updated customization for OEM cards

-

Rev. 4.90.50000

Contains the following versions of components:

  • Bus, eth, IPoIB and mux drivers version is 4.90.10714

  • The CIM provider version is 4.90.10714

Generic

Fixed driver instability when handling many RDMA connection requests in parallel

461854

Added to MLNX_System_Snapshot Mellanox specific counters and data from Get-Mlnx* Cmdlets

467529

Resiliency

Reset Flow improvements:

  • Resolved race condition when reset is initiated by more than one source

  • Reset initiated on one port does not cause reset of the other port

400887

Ethernet

ETS is now configurable through DSCP values. For further details, please refer to WinOF User Manual, "Differentiated Services Code Point (DSCP)" section

434105

Fixed the issue of when creating a Virtual Ethernet Adapter interface and removing it immediately a Blue Screen may appear

456279

Fixed duplicated values of Receive Completion Method in Advanced Properties driver dialog on Windows Server 2012 R2

443273

Performance Improvement: Reduced memory access time for Receive descriptors

-

VM Scalability: More efficient handling of VMQ control path in HyperV

-

Reduced the amount of kernel memory used for each Ethernet interface by the driver

-

Virtual Machine traffic on the default queue now uses a single CPU core as required by Microsoft. This applies both to SRIOV and VMQ

441581

InfiniBand

Updated IBAL interface version. In order for the applications that use the IBAL interface to work with WinOF Rev 4.90.50000, they must be recompiled with the new SDK

-

Added support for SM change event

435564

Fixed propagation of error code when ib_join_mcast() fails

448028

Fixed connectivity problems when using PKeys from the same partition with different membership types

417753

Fixed VM reset after printing the message "mlx4_core 0000:05:00.0: unparavirt command: OTHER (0x3a) accepted from slave:3" in SR-IOV InfiniBand VM over non-windows hypervisor

422598

RoCE

In RoCE v2, added the option of determining the source port field of the UDP header by the application

-

NDK

Improved CPU utilization by changing ndkgetremotetokenfrommr() to return value in network byte order

-

Performance

Fixed the UI crash when working with a single port

427484

Increased the accuracy of the run time duration parameter of ND Performance tests even when sending large message

-

Fixed Maximum value for ThreadPoll parameter to be 200,000, instead of the previous state when it could not be set above 20,000 due to a bug

481291

IPoIB

Fixed stability issues

-

Fixed displaying of IPoIB default turning option

428601

Fixed temporary network connectivity issues while migrating VMs or modifying VMQ configuration for VMs that uses IPoIB with VMQ

417687

Fixed the part_man tool to use the actual default p_key instead of 0xffff

417858

Fixed NIC reset when attaching to a multicast group fails

423435

Fixed duplicated values of Receive Completion Method in UI on Windows Server 2012 R2

-

Added support for multiple PKey interfaces in IPoIB

-

Added support for teaming of IPoIB interfaces to allow failover

443273

Added IPoIB adapters teaming support (beta level)

-

Added sending of gratuitous ARP in IPoIB interface when the MAC address is changed

408388

Reduced memory footprints of IPoIB interfaces

-

Reduced the multiple number of path record queries to one when old query information exists

466336

Improved completion memory access speed

440018

Changed default VMQ/VPort affinity to use first RSS CPU

442549

Multiple PKey support is now at GA level. The part_man tool allows the creation of up to 64 vIPoIB interfaces (32 per port)

-

IPoIB

Added a warning to the event log if the port MTU is higher than the reported MTU by the SM.

-

Installation

Fixed CIM failure after installation in maintenance mode

423206

Fixed loading of old driver after driver upgrade that requires system reboot to complete the process

422812

Fixed RoCE disable by default after installation of WinOF in Windows 8.1 Client

454020

ND

Fixed seg fault when executing ND application with no device installed or when a wrong device identifier is used

431113

Fixed wrong reported value of supported number of SGE in 32 bit DLLs

425841

Increased the number of supported SGEs in 32 bit DLLs to 2

425841

NVGRE

Fixed restoration of NVGRE configuration after NIC reset

442478

Changes in UI

Replaced the terms “LBFO” and “Bundle” with “Teaming” and “team” respectively.

-

CIM/WMI

Added support to query/set/enable/disable ECN

Added support to query DroplessMode state

Fixed the issue when using the PowerShell command GetMlnxFirmwareIdentity on a system with multiple NICs/HCAs while one of the devices is disabled and the command fails

Rev. 4.80.50000

Contains the following versions of components:

  • Bus, eth, IPoIB and mux drivers version is 4.80.10388

  • The CIM provider version is 4.80.10388

Installation/ Upgrade

Added check for administrator privileges during installation

391704

Added support for installation in silent mode without execution of perf_tune

397946

Fixed installation stuck when Remote Desktop Session Host Windows Installer RDS compatibility is enabled

371541

Generic

Changed Reset Flow (+SR-IOV)-enabled only if no user space application is running and depends on the registry key: AllowResetOnError setting)

370536

Changed the number of supported QPs in a multicast group from hard coded value to firmware capabilities dependent

401850

Fixed driver load failure in machines with 1 TB memory and above

407556

Fixed memory leak on the Virtual Machine in SR-IOV when resetting the Virtual Machine of associated VFs

373144

IPoIB

Added multiple P_Key support (beta level)

391240

Added IPoIB SR-IOV over KVM and ESX Hypervisors (for both full and partialmembership)

-

Added support for LID change event

-

Added enhancements in part_man for the multiple Pkey support

-

Changed IPv6 “all dhcp servers” mcast to be persistent

-

Fixed rare cases of driver hang following a Subnet Manager failover event

-

Fixed stability issues

-

Ethernet

Added RSS in UDP (enabled by default)

-

Added 56 GbE (Please refer to the Infiniband Switch User Guide for further details)

-

Changed DSCP configuration to be per port instead of global

394703

Network Direct: Fixed race in NDK between handling of incoming connection and destruction of a listener

-

Network Direct: Fixed race between NDK object creation and usage

-

Improved TCB (Transmission Control Block) management on send

389974

Improved transmit and receive in multi stream scenarios

-

Enabled hardware checksum offload for non TCP/UDP traffic with ConnectX®-3 Pro

394977

Improved stability when handling OIDs during driver reset

-

Fixed performance tuning for 1GbE link

-

Fixed possible reset of driver during migration of large number of VMs at the same time

401655

Fixed stability issues

-

RoCE

Added RoCE IP based

391238

ND

Fixed wrong return value in IND2Adapter::QueryAddressList

-

InfiniBand

Added non-default PKey in VM

-

Performance

Optimized interrupt moderation values in SR-IOV VF mode for IPoIB

-

Improved perf_tuning detection for the first port

-

Improved performance in packet forwarding scenarios

-

Decreased dropped packets rate for Ethernet significantly

414872

Changed default perf_tuning scenario to be “Balanced configuration”

396981

Various performance improvements

-

WMI/CIM

Added ability to read active RoCE configuration from hardware

400598

Added support for RoCE IP Based

390573

Rev. 4.70.50050

Contains the following versions of components:

  • Bus, eth, IPoIB and mux drivers version is 4.70.10143

  • The CIM provider version is 4.70.10143

IPoIB

Fixed SM fail-over causing the driver to hang

-

Rev. 4.70.50040

Contains the following versions of components:

  • Bus, eth, IPoIB and mux drivers version is 4.70.10141

  • The CIM provider version is 4.70.10141

Generic

Optimized handling of “affinity change” on OID_RECEIVE_FILTER_QUEUE_PARAMETERS

-

Added the ability to control the number of retries and timeout to check the device health before performing reset

-

Ethernet

Fixed missing pause response by sender when using DSCP/untag priority tag mode with ETS enabled

-

Rev. 4.70.50000

Contains the following versions of components:

  • Bus, eth, IPoIB and mux drivers version is 4.70.10126.

  • The CIM provider version is 4.70.10130

Installation/Upgrade

Fixed removal of virtual IPoIB ports in uninstallation

-

All user-space binaries are now signed

-

Fixed restoration process of DNS servers during upgrade

-

Fixed popping windows during installation/upgrade

-

Fixed missing 32 bit files in the catalog files

-

Generic

Changed Ethernet and IPoIB event log messages to be more clear

-

Ported SDK project to Visual Studio 2013.

-

Fixed an issue which caused Mellanox miniport devices to be listed in “Devices and Printers”

-

Fixed Ethernet and IPoIB deadlock in power state change during shutdown/reboot

-

Fixed stability issues

-

IPoIB

Added support for IPoIB SR-IOV Virtual Function (VF) over KVM Hypervisor (Beta level)

-

Added support for non-default pkey, as queried from OpenSM, on IPoIB SR-IOV VF over KVM.

-

Added IPoIB QoS proprietary counters, diagnostics and traffic for monitoring, using Windows' Perfmon utility

-

Fixed part_man exit with return value 0 in case of error

-

Ethernet

Added support for Ethernet SR-IOV over Windows Hyper-V Hypervisor (over Windows Server 2012 R2)*

* Requires firmware v2.30.8000 and above

-

Added Virtual Ethernet Adapter support which enables using SMB Direct and HyperV (VMQ and NVGRE (over ConnectX®-3 Pro)) on the same port**

** Requires firmware v2.31.5050 and above.

-

Added lossless TCP buffer management when no receive WQE are available

-

RoCE

Added ConnectX®-3 Pro support for RoCEv2

-

Changed the transport name in vstat and ibstat to be RoCE v2.0

-

Fixed ibstat behavior on devices with RoCE enabled

-

Fixed releasing of RDMA resources and reacquire them on power down and up.

-

Fixed RDMA Activity counters which didn't increase for ND traffic

-

ND

Fixed hard-coded limitation of 4 SGEs

-

InfiniBand

Fixed vstat printing of counters for Ethernet ports

-

Fixed crash when calling ib_join_mcast() with timeout_ms = 0

330740

Performance

Improved perf_tuning setting in single CPU machines to avoid TX collision

-

Rev. 4.61

(Released as an intermediate release)

Installation/Upgrade

Fixed an issue preventing JumboPackets registry key to be restored correctly

-

Ensured that uninstallation of Mellanox package in Virtual Machine leaves the system clean

-

Generic

Improved information in event log when a bad cable is detected

-

Improved resiliency on error flow in Ethernet, IPoIB and bus drivers

-

Fixed an issue which caused Mellanox devices to be listed in “Devices and Printers” and had “Safe Removal” UI

-

Performance

Added support OF IPv6 to all nd_*_* tests

-

Enabled optimal interrupt moderation values in SR-IOV VF mode

-

Stopped using NdisQueryNetBufferPhysicalCount to improve CPU utilization

-

IPoIB

Enabled searching for IBAT routes based on dest only instead of src,dest and added a mechanism preventing memory growth in IBAT entries

-

Allowed any number of RSS processors, not only a power of 2

-

Ensured SR-IOV mode is not enabled for IPoIB ports, which resulted in confusing message in event log

-

Fixed error statistics collection which could cause false error report

-

Fixed a connectivity problem between Hyper-V VMs on the same host

-

Fixed loopback issues in the virtualization environment

-

Fixed stability issues

-

Ethernet

Added support for “unknown” link state indication

-

Added support for DMA checks by driver verifier on SR-IOV Virtual Function

-

Added support for NVGRE over LBFO Team

-

Improved performance of handling change receive ring affinity request

-

In SR-IOV mode, improved resiliency to driver failures in the Virtual Machine which could result in driver load failure in VM

-

In SR-IOV mode, improved resilience in VF to PF communication

-

Improved structure of INF file for SR-IOV Physical and Virtual Functions

-

Fixed an issue that prevented receiving ARP traffic in NVGRE mode

-

Rev. 4.60.17718

Contains the following versions of components:

  • Bus, eth, IPoIB and mux drivers version is 4.60.17718.

  • The CIM provider version is 4.60.17718.

Hyper-V

Fixed NIC reset when moving IPoIB interface in a VM from non-VMQ to VMQ or from VMQ to non-VMQ

325607

Installation/Upgrade

Enabled configuration changes saving upon Inbox and previous releases upgrade

-

Enabled CIM installation as a standalone package

-

Fixed an issue occurred when uninstalling and reinstalling the driver. The ConnectX-3 Pro Ethernet device was displayed in the Device Manager with a yellow bang (!).

-

Fixed an issues enabling the package’s execution in modify mode resulting in driver being disabled

-

Generic

Added support for a new report for bad cables ***

*** Requires firmware v2.30.8000 and above.

-

Fixed random parsing failures of string registry entries

-

Fixed compilation failure of “Hello_world” in the SDK

-

Fixed the return value of ib_query_ca() if failed to allocate resources for operation

-

Performance

Added support to IPv6-to-all nd_*_* tests

-

Fixed CPU utilization report in nd_*_* tests

-

Fixed correct bandwidth peak results in ibv_send_bw with UD QP

-

Fixed sync problems of bidirectional mode in ibv_read_bw/ ibv_write_bw

-

Fixed an issue reporting incorrect adapter type in performance tuning log file

-

RoCE

Fixed RoCE mode parsing

-

ND

Added the ability to rearm a CQ in the kernel

-

Added the ability to handle LID changes

-

Changed connection timeout behavior. Added the STATUS_CONNECTION_REFUSED return value upon connection timeout.

-

Fixed missing completions when working with Completion Queue with single entry

-

IPoIB

Added the ability to handle LID changes

-

Added support for iSCSI boot over IPoIB

-

Fixed unexpected behavior upon QP asynchronous event

-

Fixed bad completions of VMQ and NonVMQ modes in IPoIB

-

Fixed a failure occurred when setting the IPoIB adapter value to “SA Query Timeout”

-

Fixed propagation of the physical link disconnection to virtual (part_man) interface

-

Fixed BSOD caused by calling ib_join_mcast() with timeout_ms = 0

-

Performance improvements in latency

-

Ethernet

Added DSCP support over IPv4a

-

Added traffic profile

-

Added IRQ dynamic moderation

-

Modified the CQ size to prevent CQ overrun

-

Changed the report link speed zero in case of disconnected network adapter

-

LBFO: Fixed port channel teaming with CISCO switch and Fabric Extenders traffic loose in Windows Server 2008 R2

-

Fixed an issue related to packets sent with corrupted VLAN header when they were meant to be untagged

-

Fixed unexpected behavior upon QP asynchronous event

-

Fixed the ability to disable Wake-on-Lan (WoL) on NICs which supports it.

-

Stability fixes

-

Performance improvements

-

WMI/CIM

Added ControlledBy association to IBPort

-

Fixed ConformsToProfiles association for SoftwareIdentity and DriverIdentity

-

Fixed execution of all tests which were running when executing Diagnostic tests on one instance

-

Fixed a failure occurred when running MLNX_Card

-

Fixed the printing of diagnostics log

-

Fixed an issue preventing from get-event to show information after disabling the PCI device

-

Removed support for the following configuration:

  • ModeFlags

  • SingleMsixNum

  • MultiMsixNum

  • SingleEqNum

  • MultiEqNum

  • MaxContQuant

  • SlaveNum

  • DebugLevel

  • DebugFlags

  • UsePrio

  • NumFcExch

  • EnableQoS

  • BlockMcastLoopBack

  • InterruptFromFirstPacket

  • ProbeVf

-

Rev. 4.60.17738

Contains the following versions of components:

  • Bus and eth driver version 4.60.17718.

  • The CIM provider version is 4.60.17718.

  • The mux driver version is 4.60.17729.

  • The IPoIB driver version is 4.60.17736.

IPoIB

Fixed using CQ after VMQ is closed

-

Fixed bad completion of VMQ QP that was caused by malformed WR

-

Ethernet

LBFO: Fixed the team’s MAC address uniqueness in the subnet of the team in Windows Server 2008 R2

-

Rev. 4.55

Generic

  • Added support for Windows Server 2012 R2 Operating System

  • Added the ParentBusPath option to each port registry key

  • Added a new hardware ID for ConnectX®-3 Pro NICs

  • The QP numbers allocation is now round-robin manner

  • RecvCompletionMethod as Interrupt is no longer supported

  • Removed the LsoV1IPv4 from the registry/UI

  • Removed from the bus driver configuration the ‘Non-DMA’ option

  • Removed the TXRingNum option from the UI

-

NVGRE

  • Added NVGRE hardware off-load support (for ConnectX®-3 Pro cards only)

  • Added to the UI the *EncapsulatedPacketTaskOffload option when using ConnectX®-3 Pro NICs

-

Performance

  • Added the nd_send_bw and nd_send_lat ND benchmarking tools

  • Fixed nd_*_bw to achieve better performance (memory buffer alignment) and consistent results

-

Ethernet

  • Fixed the issue preventing messages to be sent in VLAN 0 when using many VMQ rings

  • Added IP-IP checksum off-load support

  • Added Ports TX arbitration/Bandwidth allocation per port

  • The following ND providers, MLX4ND and MLX4ND2 are installed by default

  • Fixed setting the correct SL in UD traffic over RoCE

-

InfiniBand

  • IPoIB performance improvements

  • Fixed a part_man issue related to wrong statistics over virtual partman interfaces

-

RoCE

  • Enabled roce_mode value overwrite in case it exists during installation

  • Fixed in ibv_devinfo the display of correct transport RoCE mode

  • Added Sniffer for RoCE packets

  • The used RoCE mode set upon driver load is printed into event log message

-

Rev. 4.40

Generic

  • Added a notification in the event log in case SMB is not supported in ConnectX®-2 firmware

  • Added the trace tool for WPP tracing

  • Added copyright to the SDK files

  • Added WMI/Powershell support

  • Fixed an issue causing the setup to fail upon perf_tuning failure during the installation. An error message will be printed in the installation log upon perf_tuning failure.

  • Removed port setting registry key during uninstall

  • Fixed and issue with the Mellanox adapter being shown on the USB removal menu, which caused the removal of the Mellanox adapter once removing the USB.

-

Performance

  • Set 512 RX buffers by default

  • Removed TXRingNum

  • Changed the perf_tuning setting to achieve a better performance tuning

  • Added the nd_write_bw/nd_write_lat and nd_read_bw/ nd_read_lat tools

  • Fixed the perf_tuning indication of the last chosen tuning scenarios

  • Fixed a crash in the ib_send_lat/bw utilities caused when the port link was down

  • Fixed the “Restore to defaults” option in the perf_tuning tool. Now the default values are being restored

-

Ethernet

  • Added Transmit Side Scaling (TSS)

  • Added Ethernet QoS proprietary counters, diagnostics and traffic for monitoring, using Windows’ Perfmon utility

  • Added to the MTU size the IP header size (1500->1514, 9600->9614). Thus the minimum Jumbo frame size is 614.

  • Interrupt moderation supports the following profiles:

    • Low Latency

    • Moderate

    • Aggressive
      In addition to old values that are not supported anymore.

-

  • Made mlx4_bus and Ethernet devices removable

  • Network Direct: Added support for NDv2

  • Network Direct: Set the default ND provide value to mlx4nd2

  • Fixed WoL support on NIC with a single port

  • Fixed the default RoCE configuration on NICs with a single ports

  • Fixed the values for the MTU and rate of the CM-REQ

  • Fixed miniport reset on sending scenarios

  • Removed the QoS attributes when disabling QoS

Ethernet

  • Enabled MaxRssProcessirs support of the following values: 1, 2, 4, 8, 16, 32, 64

  • Network Direct: Fixed a crash occurred when more than 4 SGEs elements were used in an ND write operation

  • Network Direct: Fixed the swap of InboundReadLimit and OutboundReadLimit when creating an EndPoint and in Connector::GetConnectionData

  • Network Direct: Fixed disallowing creation of EndPoint with zero attributes in the Receive Queue

  • Network Direct: Removed the option of NDK registration failure requiring a reboot of the machine to register it again

  • Network Direct: Fixed a failure when creating an EndPoint with zero attributes in the Receive Queue

  • Network Direct: Added the option of sensing the incoming Read messages according to the device capabilities when creating an EndPoint limit

  • Network Direct: Fixed a failure of ND connectivity between VMs on the same host

  • Added Transmit Side Scaling (TSS)

  • Added Ethernet QoS proprietary counters, diagnostics and traffic for monitoring, using Windows’ Perfmon utility

  • Added to the MTU size the IP header size (1500->1514, 9600->9614). Thus the minimum Jumbo frame size is 614.

  • Interrupt moderation supports the following profiles:

    • Low Latency

    • Moderate

    • Aggressive
      In addition to old values that are not supported anymore.

-

Ethernet

  • Made mlx4_bus and Ethernet devices removable

  • Network Direct: Added support for NDv2

  • Network Direct: Set the default ND provide value to mlx4nd2

  • Fixed WoL support on NIC with a single port

  • Fixed the default RoCE configuration on NICs with a single ports

  • Fixed the values for the MTU and rate of the CM-REQ

  • Fixed miniport reset on sending scenarios

  • Removed the QoS attributes when disabling QoS

  • Enabled MaxRssProcessirs support of the following values: 1, 2, 4, 8, 16, 32, 64

  • Network Direct: Fixed a crash occurred when more than 4 SGEs elements were used in an ND write operation

  • Network Direct: Fixed the swap of InboundReadLimit and OutboundReadLimit when creating an EndPoint and in Connector::GetConnectionData

  • Network Direct: Fixed disallowing creation of EndPoint with zero attributes in the Receive Queue

  • Network Direct: Removed the option of NDK registration failure requiring a reboot of the machine to register it again

  • Network Direct: Added the option of sensing the incoming Read messages according to the device capabilities when creating an EndPoint limit

  • Network Direct: Fixed a failure of ND connectivity between VMs on the same host

InfiniBand

  • On rare occasions, depends on the GUID assignment, the IPoIB MAC address can be assigned with a multicast MAC (the least significant bit of the most significant address octet is set to 1). In that case, all of the traffic over the IPoIB I/F is dropped.

If you experience this issue, please contact Mellanox support.

  • Added active_mtu field to struct ib_port_attr_t

  • Added the option of vstat displaying the active_mtu of the ports

  • Allowed registration of a large Memory Region which is splitted to many segments

  • Fixed a bluescreen issue that occurred when disabling the interface after a TX stress over the VMQ

  • Fixed a failure of MPI/ND over InfiniBand

  • Added the option of ibv_devinfo displaying the correct MTU value after it was changed

  • Added the option of part_man printing the adapter name when the Port GUID is set to zero.

  • Added the option of part_man printing the leading zeroes of port GUID

Installation/Upgrade

  • Prevented displaying a message to upgrade the firmware for OEM NICs if it has the latest firmware version

  • Removed portsetting registry key during uninstallation

Rev. 4.3

(This version was released as an intermediate release)

Generic

  • Added support for a new provider called MLX4ND, which supports both NDv1 and NDv2 interfaces

Performance

  • Enabled performance tuning running according to the operating systems that are running over it.

The keywords added to the registry in NDIS support Windows Server 2012 are:

  • RssMaxProcNumber

  • NumRSSQueues

  • RSSProfile

The rest of the keywords are added in all versions of NDIS. This change is based on:
http://msdn.microsoft.com/en-us/library/windows/hardware/ff570864(v=vs.85).aspx

Ethernet

  • RoCE MTU value is no longer set to 1024 by default.

All options stay as they are and can only be chosen if they were selected explicitly in the UI/registry.

The current default state is as follows: The value is now derived from the MTU (or MaxFramSize, or Jumbo Packets value) and they are all aliases for the same value). The value is aligned to 256,512,1024,2048 in a way that it will be rounded down to the nearest power of two of the ETH MTU.

InfiniBand

  • Added ibdiagnet utility support

Rev. 4.2

Generic

  • Modified RSS cores and changed VMQ affinity on the fly

  • Fixed restart issue when there are not enough MSI-X vectors for each machine core

  • Added support for K-GROUPS processors (more than 64 processors support) to allow assignment of MSI-X affinity for multiple processor groups.

  • Set an adequate number of MTTs to map all physical memory

  • Allocated firmware and ICM memory in chunks of non-paged memory instead of using contiguous physical memory.

  • Fixed RSS indirection table mapping building when there are less RX rings than RSS cores.

  • Fixed a bug, preventing standard work with BAR value more than 4GB.

  • Fixed memory leaks

  • Fixed error flows causing a Bluescreen in driver startup/unload

  • Fixed a Bluescreen occurrence upon shutdown due to leak in active resources

Generic

  • Changed device names in device manager and their hardware IDs. The changes were made to distinguish between ConnectX®-2 and ConnectX®-3:

    • for ConnectX-2: MLX4\ConnectX-2_Eth and IBA\ConnectX-2_IPoIB

  • for ConnectX-3: MLX4\ConnectX-3_Eth and IBA\ConnectX-3_IPoIB

  • Set QoS settings only for ConnectX-3. Changing the hardware ID, forces the OS to install new device and re-build the registry keys.

  • Added an event log to indicate driver failure upon start if there are two HCA burned with the same GUID.

  • Added firmware upgrade support as part of the setup process. The setup burns the new firmware only on Mellanox cards. Firmware burning failure does not prevent the driver’s installation, therefore, it will show a warning. In this case, it is recommended to update the firmware manually.

  • Enabled configuration of TxRingNum registry key from the UI

  • Improved the "Port Protocol" dialog

  • Added Registry key documentation to the setup package

Performance

  • Optimized code performance

  • Increased send parallelism

  • Memory used in receive flow is now allocated with the same affinity of the handling processor for faster access

  • Statistics parameters are now directly read from hardware instead of being calculated by software.

  • Added support for BlueFlame. BlueFlame is now the default working mode for all packets that have a descriptor which fits into a BF register (currently 256 bytes). Use "BlueFlame" registry key to enable\disable this feature.

  • Added support for RSS functionality on available processors numbers. Used to be restricted to start at the first processor.

  • Changed RSS registry defaults to give better out of the box performance

  • Added a performance UI to tune performance under various scenarios

  • Added a tool to tune performance under various scenarios

Ethernet

  • Added support for multiple TX rings

  • Added an option to verify that the number of multicast groups used is no higher than the firmware limits

  • Improved performance in virtualization when using VMQ

© Copyright 2023, NVIDIA. Last updated on May 23, 2023.