4 querying the hardware time, 6 flow steering, 1 enable/disable flow steering – Dell Mellanox Family of Adapters User Manual
Page 38

Driver Installation and Configuration
Rev 1.1
Mellanox Technologies
38
4.2.5.4 Querying the Hardware Time
Querying the hardware for time is done via the
ibv_query_values_ex
verb.
For example:
To change the queried time in nanoseconds resolution, use the
IBV_VALUES_HW_CLOCK_NS
flag
along with the
hwclock_ns
field.
4.2.6
Flow Steering
Flow steering is a new model which steers network flows based on flow specifications to specific
QPs. Those flows can be either unicast or multicast network flows. In order to maintain flexibil-
ity, domains and priorities are used. Flow steering uses a methodology of flow attribute, which is
a combination of L2-L4 flow specifications, a destination QP and a priority. Flow steering rules
may be inserted either by using ethtool or by using InfiniBand verbs. The verbs abstraction uses a
different terminology from the flow attribute (ibv_flow_attr), defined by a combination of speci-
fications (struct ibv_flow_spec_*).
4.2.6.1 Enable/Disable Flow Steering
Flow Steering is disabled by default and regular L2 steering is performed instead (B0 Steering).
When using SR-IOV, flow steering is enabled if there is an adequate amount of space to store the
flow steering table for the guest/master.
To enable Flow Steering:
Step 1.
Open the
/etc/modprobe.d/mlnx.conf
file.
Step 2.
Set the parameter
log_num_mgm_entry_size
to
-1
by writing the option
mlx4_core
log_num_mgm_entry_size=-1
.
Step 3.
Restart the driver
To disable Flow Steering:
Step 1.
Open the
/etc/modprobe.d/mlnx.conf
file.
Step 2.
Remove the
options mlx4_core log_num_mgm_entry_size= -1
.
Step 3.
Restart the driver
ret = ibv_query_values_ex(context, IBV_VALUES_HW_CLOCK, &queried_values);
if (!ret && queried_values.comp_mask & IBV_VALUES_HW_CLOCK)
queried_time = queried_values.hwclock;
ret = ibv_query_values_ex(context, IBV_VALUES_HW_CLOCK_NS, &queried_values);
if (!ret && queried_values.comp_mask & IBV_VALUES_HW_CLOCK_NS)
queried_time_ns = queried_values.hwclock_ns;
Querying the Hardware Time is available only on physical functions / native machines.
Flow Steering is applicable to the mlx4 driver only.