User Manual

Rev 2.3-1.0.1
Mellanox Technologies
71
The mlx4 driver supports only a subset of the flow specification the ethtool API defines. Ask-
ing for an unsupported flow specification will result with an “invalid value” failure.
The following are the flow specific parameters:
ether tcp4/udp4 ip4
Mandatory dst src-ip/dst-ip
Optional vlan src-ip, dst-ip, src-
port, dst-port, vlan
src-ip, dst-ip, vlan
RFS
RFS is an in-kernel-logic responsible for load balancing between CPUs by attaching flows to
CPUs that are used by flow’
s owner applications. This domain allows the RFS mechanism to
use the flow steering infrastructure to support the RFS logic by implementing the
ndo_rx_flow_steer, which, in turn, calls the underlying flow steering mechanism with the
RFS domain.
Enabling the RFS requires enabling the
‘ntuple’ flag via the ethtool,
For example, to enable ntuple for eth0, run:
ethtool -K eth0 ntuple on
RFS requires the kernel to be compiled with the CONFIG_RFS_ACCEL option. This options is
available in kernels 2.6.39 and above. Furthermore, RFS requires Device Managed Flow Steer-
ing support.
RFS cannot function if LRO is enabled. LRO can be disabled via ethtool.
All of the rest
The lowest priority domain serves the following users:
The mlx4 Ethernet driver attaches its unicast and multicast MACs addresses to its QP
using L2 flow specifications
The mlx4 ipoib driver when it attaches its QP to his configured GIDS
Fragmented UDP traffic cannot be steered. It is treated as 'other' protocol by hardware
(from the first packet) and not considered as UDP traffic.
We recommend using libibverbs v2.0-3.0.0 and libmlx4 v2.0-3.0.0 and higher as
of MLNX_OFED v2.0-3.0.0 due to API changes.