The following are the new features and changes that were added in this version.
|Bridge Offloads with VLAN|
[ConnectX-4 and above] Added support for bridge offloads with VLAN support that works on top of mlx5 representors in switchdev mode.
|Supporting OVS Groups in Fast-Failover Mode|
[ConnectX-6 Dx] Improved OVS failover through support for OVS groups in fast-failover mode + VF_LAG configuration with OVS.
|Exposing Hairpin Queues Information|
[ConnectX-6 Dx and BlueField-2] Added support for exposing hairpin out of buffer drop counter per device. This feature shows buffer drops related only to hairpin queues which were opened on the queried device.
|Linux Bridge Offload|
[ConnectX-6 Dx and BlueField-2] Added bridge offloads to support bonding (VF LAG), attaching bond device to bridge instead of uplink representors.
[ConnectX-6 Dx] Added OOB support for VLAN push on Rx (wire to VF) and VLAN pop on Tx (wire to VF) in switchdev mode.
|Offload Forwarding to Multiple Destinations|
[ConnectX-5 and above] Added support for offloading packet replication to up to 32 destination through the use of TC rule.
|Slow Path Metering|
[ConnectX-4 and above] Expanding the RDMA statistic tool to support setting vendor-specific optional counters dynamically using netlink.
$ sudo rdma statistic set link rocep8s0f0/1 optional-counters cc_rx_ce_pkts,cc_rx_cnp_pkts
$ rdma statistic mode link rocep8s0f0/1
$ sudo rdma statistic set link rocep8s0f0/1 optional-counters cc_rx_ce_pkts
$ rdma statistic mode link rocep8s0f0/1
$ sudo rdma statistic unset link rocep8s0f0/1 optional-counters
|Subfunction Trust Configuration Enhancement|
[ConnectX-5 and above] Added support via mlxdevm to mark a given PCI subfunction (SF) or virtual function (VF) as a trusted function. The device/firmware decides how to define privileges and access to resources.
|Prevent VF Memory Exhaustion|
[All] Added support for preventing VF memory exhaustion. This feature exposes a sysfs (to the system admin) which can set a limit on each VF memory consumption.
|BlueField NIC Separate Reset|
[BlueField-2] Added support for resetting the NIC domain of BlueField-2 while keeping ARM alive.
|Multiple Steering Priorities for FDB Rules|
[ConnectX-6 Dx and BlueField-2] Added support in multiple flow steering priorities for FDB rules.
|Traffic Engineering: Hierarchical QoS|
[ConnectX-5 and above] Added support for offloading the HTB qdisc to the NIC, allowing it to scale better by eliminating a single locking point. The configuration is done with the TC commands.
Note: Kernel 5.15 or higher is required. Limited to 256 nodes.
|TLS RX Resynchronization Resiliency Feature Description|
[ConnectX-6 Dx and above] Added support for driver resiliency against high load of RX resync operations.
|Simultaneous PTP and CQE Compression|
Added support for the activation of PTP and CQE compression simultaneously. Since CQE compression might harm the accuracy of the PTP, the feature enables PTP packets to be moved to a dedicated queue where they are not subjected to compression. However, this configuration conflicts with setting aRFS. Turning off CQE compression, causes a hiccup in traffic which may cause a loss of synchronization. To overcome this, restart the synchronization.
|Multiple Development Headers Packages|
Allowed installing multiple mlnx-ofa_kernel development headers packages (for different kernel versions of the same mlnx-ofa_kernel package version) side by side on the same system.
|Kernel Module Signature|
Added signature of kernel modules of EulerOS 2.0 SP8-SP10 (x86_64 and aarch64) builds of MLNX_OFED.
|Enable sf-cfg-drv by Default in EulerOS2.0|
Enabled SF_CFG (SF config dummy driver, --with-sf-cfg-drv) on EulerOS2.0 SP8 and SP10.
Customer Affecting Changes
|Customer Affection Change||Description|
|Disabling RoCE While Using sysfs|
When using sysfs to enable/disable roce in kernel 5.5 and up, the "devlink reload" command (using iproute2 with devlink tool) will need to be used to activate the RoCE status change.
Disable RoCE example:
The source code for mlnx-ofa_kernel is no longer installed by default on RPM-based distributions (e.g., RHEL and SLES).
|Software Encapsulation Compatibility|
There is an encapL2 compatibility issue with accelerated reformat action creation using mlx5dv_dr API.
|xpmem in RHEL8|
Added xpmem packages in RHEL8 builds.
Starting OVS DPDK 2.15, the Python minimum required version is 3 and OVS-DPDK will not be compiled using Python 2.