MLNX_OFED New Features

The following are the changes and/or new features that have been added to this version of MLNX_OFED.

Feature/Change

Description

Adapters: ConnectX-5 and above

Devlink Health CR-Space Dump

Added the option to dump configuration space via the devlink tool in order to improve debug capabilities.

Multi-packet TX WQE Support for XDP Transmit Flows

The conventional TX descriptor (WQE or Work Queue Element) describes a single packet for transmission. Added driver support for the HW feature of multi-packet TX WQEs in XDP transmit flows. With this, the HW becomes capable of working with a new and improved WQE layout that describes several packets. In effect, this feature saves PCI bandwidth and transactions, and improves transmit packet rate.

GENEVE Encap/Decap Rules Offload

Added support for GENEVE encapsulation/decapsulation rules offload.

Multi Packet Tx WQE Support for XDP Transmit Flows

Added driver support for the hardware feature of multi-packet Tx to work with a new and improved WQE layout that describes several packets instead of a single packet for XDP transmission flows. This saves PCI bandwidth and transactions, and improves transmit packet rate.

Kernel Software Steering for Connection Tracking (CT)

[Beta] Added support for updating CT rules using the software steering mechanism.

Kernel Software Steering Remote Mirroring

[Beta] Added support for updating remote mirroring rules using the software steering mechanism.

Adapters: ConnectX-4 and above

Discard Counters

Exposed rx_prio[p]_discards discard counters per priority that count the number of received packets dropped due to lack of buffers on the physical port.

MPLS Traffic

Added support for reporting TSO and CSUM offload capabilities for MPLS tagged traffic and, allowed the kernel stack to use these offloads.

mlx5e Max Combined Channels

Increased the driver’s maximal combined channels value from 64 to 128 (however, note that OOB value will not cross 64).

128 is the upper bound. Lower maximal value can be seen on the host, depending on the number of cores and MSIX's configured by the firmware.

RoCE Accelerator Counters

Added the following RoCE accelerator counters:

  • roce_adp_retrans - counts the number of adaptive retransmissions for RoCE traffic

  • roce_adp_retrans_to - counts the number of times RoCE traffic reached timeout due to adaptive retransmission

  • roce_slow_restart - counts the number of times RoCE slow restart was used

  • roce_slow_restart_cnps - counts the number of times RoCE slow restart generated CNP packets

  • roce_slow_restart_trans - counts the number of times RoCE slow restart changed state to slow restart

Memory Region

Added support for the user to register memory regions with a relaxed ordering access flag through experimental verbs. This can enhance performance, depending on architecture and scenario.

Adapters: All

ibdev2netdev Tool Output

ibdev2netdev tool output was changed such that the bonding device now points at the bond instead of the slave interface.

Devlink Health Reporters

Added support for monitoring and recovering from errors that occur on the RX queue, such as cookie errors and timeout.

GSO Optimization

Improved GSO (Generic Segmentation Offload) workload performance by decreasing doorbells usage to the minimum required.

TX CQE Compression

Added support for TX CQE (Completion Queue Element) compression. Saves on outgoing PCIe bandwidth by compressing CQEs together. Disabled by default. Configurable via private flags of ethtool.

Firmware Versions Query via Devlink

Added the option to query for running and stored firmware versions using the devlink tool.

Firmware Flash Update via Devlink

Added the option to update the firmware image in the flash using the devlink tool.

Usage: devlink dev flash <dev> file <file_name>.mfa2

For further information on how to perform this update, see "Updating Firmware Using ethtool/devlink and .mfa2 File" section in MFT User Manual.

Devlink Health WQE Dump

Added support for WQE (Work Queue Element) dump, triggered by an error on Rx/Tx reporters. In addition, some dumps (not triggered by an error) can be retrieved by the user via devlink health reporters.

GENEVE Tunnel Stateless Offload

Added support for GENEVE tunneled hardware offloads of TSO, CSUM and RSS.

TCP Segmentation and Checksum Offload

Added TCP segmentation and checksum offload support for MPLS-tagged traffic.

NEO-Host SDK

Added support for NEO-Host SDK installation on MLNX_OFED.

Bug Fixes

See “Bug Fixes" section.

For additional information on the new features, please refer to MLNX_OFED User Manual.

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