The following are the new features and changes that were added in this version.
|Support Representor Metering Over SFs|
[ConnectX-6 Dx and above and BlueField-2] Extended the support of representor metering from supporting only VFs representor to also supporting SFs representor.
|Exposing Error Counters on a VPort Manager|
[ConnectX-4 and above] Added support for exposing error counters on a VPort manager function for all other VPorts.
|Ethtool RX Flow Steering for IPoIB|
[All HCAs] Enabled steering of IPoIB packets via Ethtool, in the same way it is done today for Ethernet packets.
|Memory Consumption Minimization|
[ConnectX-4 and above] Added support for providing knobs which enable users to minimize memory consumption of mlx5 functions (PF/VF/SF).
|XDP Support for Uplink Representors|
[ConnectX-5 and ConnectX-6 Dx) Added XDP support for uplink representors in switchdev mode.
|Resiliency to tx_port_ts|
[ConnectX-6 Dx and above] Added resiliency to the tx_port_ts feature. private-flag may be enabled via ethtool tx_port_ts which provides a more accurate time-stamp. In very rare cases, the said time-stamp was lost, leading to losing the synchronization altogether. This feature allows for fast recovery and allows to quickly regain synchronization.
|Database of Devlink Health Asserts|
[ConnectX-4 and above] Health buffer now contains more debug information like the epoch time in sec of the error and the error's severity. The print to dmesg is done with the debug level corresponding to the error's severity. This allows the user to use dmesg attribute: dmesg --level to focus on different severity levels of firmware errors.
|Expose FEC Counters via Ethtool|
[ConnectX-5 and above] Exposed the following FEC (forward error detection) counters:
|Application Device Queues|
[ConnectX-4 and above] Added driver-level support for Application Device Queues. This feature allows partition defining over the RX/TX queues into groups and isolates traffic of different applications. This mainly improves predictability and tail latency.
|Reinjection of Packets Into Kernel|
[All HCAs] Added support for a new software steering action, mlx5dv_dr_action_create_dest_root_table(). This action can be used to forward packets back into a level 0 table.
[ConnectX-6 Dx and above] Added firmware support to allow explicit port selection based on steering and not QP affinity.
|AES-XTS in RDMA|
Added support for plaintext AES-XTS DEKs.
For additional information on the new features, please refer to MLNX_OFED User Manual.
Customer Affecting Changes
|Customer Affecting Change||Description|
Multi-block encryption is currently unsupported, due to a hardware limitation.
There are no customer affecting changes in this version.
API Changes in MLNX_OFED
MLNX_OFED Verbs API Migration
As of MLNX_OFED v5.0 release (Q1 of the year 2020), MLNX_OFED Verbs API have migrated from the legacy version of user space verbs libraries (libibervs, libmlx5, etc.) to the Upstream version rdma-core.
For the list of MLNX_OFED verbs APIs that have been migrated, refer to Migration to RDMA-Core document.