User Manual
IntroductionRev 2.3-1.0.1
Mellanox Technologies
14
1.2.1 mlx4 VPI Driver
mlx4 is the low level driver implementation for the ConnectX® family adapters designed by
Mellanox Technologies. ConnectX® family adapters can operate as an InfiniBand adapter, or as
an Ethernet NIC. The OFED driver supports InfiniBand and Ethernet NIC configurations. To
accommodate the supported configurations, the driver is split into the following modules:
mlx4_core
Handles low-level functions like device initialization and firmware commands processing. Also
controls resource allocation so that the InfiniBand and Ethernet functions can share the device
without interfering with each other.
mlx4_ib
Handles InfiniBand-specific functions and plugs into the InfiniBand midlayer
mlx4_en
A 10/40GigE driver under drivers/net/ethernet/mellanox/mlx4 that handles Ethernet specific
functions and plugs into the netdev mid-layer
1.2.2 mlx5 Driver
mlx5 is the low level driver implementation for the Connect-IB® adapters designed by Mellanox
Technologies. Connect-IB® operates as an InfiniBand adapter. The mlx5 driver is comprised of
the following kernel modules:
mlx5_core
Acts as a library of common functions (e.g. initializing the device after reset) required by the
Connect-IB® adapter card.
mlx5_ib
Handles InfiniBand-specific functions and plugs into the InfiniBand midlayer.
libmlx5
libmlx5 is the provider library that implements hardware specific user-space functionality. If
there is no compatibility between the firmware and the driver, the driver will not load and a mes
-
sage will be printed in the dmesg.
The following are the Libmlx5 environment variables:
• MLX5_FREEZE_ON_ERROR_CQE
• Causes the process to hang in a loop when completion with error which is not flushed with
error or retry exceeded occurs/
• Otherwise disabled
• MLX5_POST_SEND_PREFER_BF
• Configures every work request that can use blue flame will use blue flame
• Otherwise - blue flame depends on the size of the message and inline indication in the
packet