This post highlights the features planned for the upcoming MLNX_OFED 3.4 release.
- Driver Location
- Monitoring and Maintenance
- Raw Ethernet Programming
Download the MLNX_OFED driver from Mellanox web page, click here.
Dynamic Interrupt Moderation
Dynamic Interrupt Moderation (DIM) refers to any action made by HW and/or SW during run-time to control the interrupt rate of the system. The moderation action itself should not interfere with the system's operation and shouldn't require any user action. In networking, dynamic interrupt moderation is used for controlling the rate of interrupts generated by the HW for multiple traffic scenarios. For more information on this feature, refer to Dynamically-Tuned Interrupt Moderation (DIM).
Rate Limit per VF
Starting with this driver release, you can rate-limit the traffic per VF in SR-IOV mode for the ConnectX®-4 adapter. To learn more about the procedure see: HowTo Configure Rate Limit per VF for ConnectX-4.
Configure QinQ Encapsulation per VF in Linux (VST) for ConnectX®-3 Pro
This post shows how to configure IEEE 802.1ad QinQ S-VLAN tag to the hypervisor per VF. This enables the VM attached to the VF (SR-IOV) to send traffic with or without C-VLAN.
This feature is supported on ConnectX-3 Pro adapters only (not supported on ConnectX-4).
To learn more about this feature, see HowTo Configure QinQ Encapsulation per VF in Linux (VST) for ConnectX-3 Adapters.
Monitoring and Maintenance
Counters for mlx5 driver
mlx5 Ethernet counters are now aligned with kernel 4.7 upstream. For the full list of counters and descriptions, refer to Understanding mlx5 driver ethtool Counters.
Dump Ring and MST Configuration (via ethtool)
The ability to dump the configuration can help debugging and understanding problems onsite. This feature is intended for software developers and advanced users, and relevant only for ConnectX-4 (mlx5 drivers).
To learn more about this feature, see HowTo Dump Driver Configuration (via ethtool).
Raw Ethernet Programming
This release adds several enhancements to raw Ethernet programming for ConnectX-4 and ConnectX-4 Lx over libibverbs (libibverbs using libmlx5).
Packet pacing is a raw Ethernet sender feature that enables controlling the rate of each QP (per send queue). To learn how to do that, refer to Raw Ethernet Programming: Packet Pacing - Code Example.
TCP Segmentation Offload (TSO)
TSO enables the adapter card to accept large chunks of data with size greater than MTU. The TSO engine splits the data into separate packets and inserts the user-specified L2/L3/L4 headers automatically per packet. Using TSO, the adapter card offloads CPU from handling the segmentation. To program that on the sender side, see Raw Ethernet Programming: TSO - Code Example.
ToS based Steering
ToS/DSCP is an 8 bit field in the IP packet that enables different service levels to be assigned to network traffic. This is achieved by marking each packet on the network with a DSCP code and appropriating to it the corresponding level of service.
To be able to steer packets according to the ToS field on the receiver side, see Raw Ethernet Programming: ToS - Code Example.
Flow ID based Steering
This feature enables steering packets using flow ID when developing Raw Ethernet over verbs. For more information, refer to Raw Ethernet Programming: Flow ID Steering - Code Example
VXLAN Tunnel ID based Steering
This feature enables steering packets using the VXLAN tunnel ID when developing Raw Ethernet over verbs. For more information, refer to Raw Ethernet Programming: VXLAN Steering - Code Example.
Default RoCE mode for RDMA CM
Added script to change the default RoCE mode for RDMA CM applications, for more information, refer to HowTo Set the Default RoCE Mode When Using RDMA CM.
The show GIDs script was added to this OFED release, The script gives a summary table with the device, port, index GID, IP address, RoCE version and the device name. For more information, refer to Understanding show_gids Script
Additional features can be found in the MLNX_OFED Release Notes.