Comment 22 for bug 1115710

Revision history for this message
Tobias Urdin (tobias-urdin) wrote :

Ping, this migt be causing issue when using the mlx4 driver today.

Ubuntu 16.04 Xenial
4.4.0-116-generic #140-Ubuntu SMP Mon Feb 12 21:23:04 UTC 2018 x86_64 x86_64 x86_64 GNU/Linux

The following file is no longer needed, mlx4_core and mlx4_en will be loaded properly automatic
cat /etc/modprobe.d/mlx4.conf
# mlx4_core should load mlx4_en (LP: #1115710).
softdep mlx4_core post: mlx4_en

Another issue I have, I cannot enable VXLAN offloading on boot.
I have tried:

* Keeping /etc/modprobe.d/mlx4.conf and adding "options mlx4_core log_num_mgm_entry_size=-1" to start of file
* Keeping /etc/modprobe.d/mlx4.conf and adding "options mlx4_core log_num_mgm_entry_size=-1" to end of file
* Remove all lines in /etc/modprobe.d/mlx4.conf except for "options mlx4_core log_num_mgm_entry_size=-1"
* Keeping /etc/modprobe.d/mlx4.conf and adding "options mlx4_core log_num_mgm_entry_size=-1" to /etc/modprobe.d/mlx4_core.conf
* Removing /etc/modprobe.d/mlx4.conf and adding "options mlx4_core log_num_mgm_entry_size=-1" to /etc/modprobe.d/mlx4_core.conf

None of these makes the VXLAN offloading capability available.
ethtool -k enp59s0 | grep tx-udp
tx-udp_tnl-segmentation: off [fixed]

But if I remove and load the driver manually after boot and add it again to works.
modprobe -r mlx4_en
modprobe -r mlx4_core

(after I load modules manually below I also get the mlx4_ib module, so the process to remove again involves unloading mlx4_en and mlx4_ib before unloading mlx4_core)

* Keeping /etc/modprobe.d/mlx4.conf and adding "options mlx4_core log_num_mgm_entry_size=-1" to start of file
modprobe mlx4_en
ethtool -k enp59s0 | grep tx-udp
tx-udp_tnl-segmentation: on

* Keeping /etc/modprobe.d/mlx4.conf and adding "options mlx4_core log_num_mgm_entry_size=-1" to end of file
modprobe mlx4_en
ethtool -k enp59s0 | grep tx-udp
tx-udp_tnl-segmentation: on

* Remove all lines in /etc/modprobe.d/mlx4.conf except for "options mlx4_core log_num_mgm_entry_size=-1"
modprobe mlx4_en
ethtool -k enp59s0 | grep tx-udp
tx-udp_tnl-segmentation: on

* Removing /etc/modprobe.d/mlx4.conf and adding "options mlx4_core log_num_mgm_entry_size=-1" to /etc/modprobe.d/mlx4_core.conf
modprobe mlx4_en
ethtool -k enp59s0 | grep tx-udp
tx-udp_tnl-segmentation: on

On boot the following modules is loaded:
# lsmod | grep mlx
mlx4_en 110592 0
vxlan 49152 2 i40e,mlx4_en
mlx4_core 286720 1 mlx4_en
ptp 20480 3 igb,i40e,mlx4_en

When I modprobe manually the following modules is loaded:
# lsmod | grep mlx
mlx4_ib 151552 0
mlx4_en 110592 0
mlx4_core 286720 2 mlx4_en,mlx4_ib
ib_sa 36864 3 rdma_cm,ib_cm,mlx4_ib
ib_mad 49152 3 ib_cm,ib_sa,mlx4_ib
ib_core 106496 7 rdma_cm,ib_cm,ib_sa,iw_cm,mlx4_ib,ib_mad,ib_iser
vxlan 49152 2 i40e,mlx4_en
ptp 20480 3 igb,i40e,mlx4_en

What could cause this blockage that the driver is not loaded properly with the options on boot?
Best regards