Changes and New Features
The following are the changes and/or new features that have been added to this version of MLNX_OFED.
| HCAs | Feature/Change | Description | ||||||||||
| ConnectX-5 and above | Uplink Representor Modes | Added support for new_netdev and nic_netdev uplink representor modes. For further information on how to configure these modes, please refer to Configuring Uplink Representor Mode. | ||||||||||
| ConnectX-5 | mlx5_core | Added new mlx5_core module parameter "num_of_groups", which controls the number of large groups in the FDB flow table. Note: The default value of num_of_groups may change per MLNX_OFED driver version. The following table lists the values that must be set when upgrading the MLNX_OFED version prior to driver load, in order to achieve the same OOB experience. 
 For further information, please refer to Performance Tuning Based on Traffic Patterns section in MLNX_OFED User Manual. | ||||||||||
| VFs Groups Minimum Bandwidth Rate | Added support for setting a minimum bandwidth rate on a group of VFs (BW guarantee) to ensure this group is able to transmit at least the amount of bandwidth specified on the wire. | |||||||||||
| Direct Verbs Support for Batch Counters on Root Table | Added support for mlx5dv_dr API to set batch counters for root tables. | |||||||||||
| ConnectX-5 & BlueField | Modify Header | Added support for mlx5dv_dr_actions to support up to 32 modify actions. | ||||||||||
| mlx5dv_dr Memory Consumption | Reduced the mlx5dv_dr API memory consumption by improving the memory allocator. | |||||||||||
| mlx5dv_dr Memory Allocation | Reduced memory allocation time when using the mlx5dv_dr API. This is particularly significant for the first inserted rules on which memory is allocated. | |||||||||||
| BlueField | Mediated Devices | Added support for mediated devices that allows the creation of accelerated devices without SR-IOV on the Bluefield® system. For further information on mediated devices and how to configure them, please refer to Mediated Devices section in MLNX_OFED User Manual. | ||||||||||
| All | Bug Fixes | See “Bug Fixes" section. | 
For additional information on the new features, please refer to MLNX_OFED User Manual.
MLNX_OFED Verbs API Migration
As of MLNX_OFED v5.0 release (Q1 of the year 2020), the following MLNX_OFED Verbs API will migrate from the legacy version of user space verbs libraries (libibervs, libmlx5, etc.) to the Upstream version rdma-core.
For further details on how to install Upstream rdma-core libraries, refer to Installing Upstream rdma-core Libraries section in the User Manual.
- ibv_exp_alloc_ec_calc 
- ibv_exp_dealloc_ec_calc 
- ibv_exp_ec_encode_async 
- ibv_exp_ec_encode_sync 
- ibv_exp_ec_decode_async 
- ibv_exp_ec_decode_sync 
- intibv_exp_ec_update_async 
- intibv_exp_ec_update_sync 
- ibv_exp_ec_poll 
- ibv_exp_ec_encode_send 
- ibv_exp_create_qp 
- ibv_exp_use_priv_env 
- ibv_exp_poll_dc_info 
- ibv_exp_setenv 
- ibv_exp_query_device 
- ibv_exp_create_dct 
- ibv_exp_destroy_dct 
- ibv_exp_query_dct 
- ibv_exp_arm_dct 
- ibv_exp_query_port 
- ibv_exp_post_task 
- ibv_exp_query_values 
- ibv_exp_cqe_ts_to_ns 
- ibv_exp_create_flow 
- ibv_exp_destroy_flow 
- ibv_exp_poll_cq 
- ibv_exp_post_send 
- ibv_exp_reg_shared_mr 
- ibv_exp_modify_cq 
- ibv_exp_create_cq 
- ibv_exp_modify_qp 
- ibv_exp_reg_mr 
- ibv_exp_bind_mw 
- ibv_exp_prefetch_mr 
- ibv_exp_get_provider_func 
- ibv_exp_create_mr 
- ibv_exp_query_mkey 
- ibv_exp_dealloc_mkey_list_memory 
- ibv_exp_alloc_mkey_list_memory 
- ibv_exp_create_srq 
- ibv_exp_create_res_domain 
- ibv_exp_destroy_res_domain 
- ibv_exp_query_intf 
- ibv_exp_release_intf 
- ibv_exp_create_wq 
- ibv_exp_modify_wq 
- ibv_exp_destroy_wq 
- ibv_exp_create_rwq_ind_table 
- ibv_exp_destroy_rwq_ind_table 
- ibv_exp_query_gid_attr 
- ibv_exp_open_device 
- ibv_exp_post_srq_ops 
- ibv_exp_alloc_dm 
- ibv_exp_free_dm 
- ibv_exp_memcpy_dm 
Deprecated APIs
Note that the following APIs are deprecated and replaced with the new APIs as of MLNX-OFED version 4.0, as listed in the table below.
| Feature | Type | Current API | New API | 
| Rereg MR | Verb | ibv_exp_rereg_mr | ibv_rereg_mr | 
| Memory Window | Verb | ibv_exp_bind_mw | ibv_bind_mw | 
| Structure | ibv_exp_send_wr -> bind_mw | ibv_send_wr -> bind_mw | |
| Opcodes | IBV_EXP_WR_SEND_WITH_INV | IBV_WR_SEND_WITH_INV | |
| IBV_EXP_WR_LOCAL_INV | IBV_WR_LOCAL_INV | ||
| IBV_EXP_WR_BIND_MW | IBV_WR_BIND_MW | ||
| Capability | IBV_EXP_DEVICE_MEM_WIN- DOW | IBV_DEVICE_MEM_WIN- DOW | |
| Completion | IBV_EXP_WC_WITH_INV | IBV_WC_WITH_INV | 
The following are the unsupported functionalities/features/HCAs in MLNX_OFED:
- ConnectX®-2 Adapter Card 
- Relational Database Service (RDS) 
- Ethernet over InfiniBand (EoIB) - mlx4_vnic 
- mthca InfiniBand driver 
- Ethernet IPoIB (eIPoIB) 
The following are the unsupported features/functionalities of OVS Offload using ASAP2 on ConnectX-5 onwards adapter cards:
- VXLAN decapsulation drop rule offloading 
- A single VLAN is supported per VF for offloading VLAN push/pop actions 
- FIB updates for VXLAN offloads. If a flow is offloaded and then the IP of the PF is changed, it will not be un-offloaded, and vice versa 
- Offloading more than 4 VXLAN ports 
- Next-hop routes for tunnel destination are not supported 
- TC priorities are ignored 
- OVS dump-flows does not report HW offloading status 
- Weight is not supported in multi-path routing 
- Rules with IP fragment first/later matching are not supported