MLNX_OFED and hard coded mac-addresses for VFs

System: HP ProLiant m710p Server Cartridge

OS: Ubuntu 16.04

IB Controller: Mellanox Technologies MT27520 Family [ConnectX-3 Pro]

OFED: MLNX_OFED_LINUX-4.2-1.0.0.0-ubuntu16.04-x86_64

Hi, I have networking booting system, all hardware nodes is booting from prebuild image.

I installed MLNX_OFED driver with kernel modules inside base image, using this command:

./mlnxofedinstall --kernel 4.4.0-98-generic --without-dkms --add-kernel-support --without-fw-update

Also I writed to /etc/modprobe.d/mlx4_core.conf:

options mlx4_core num_vfs=1 port_type_array=2,2 probe_vf=1

But after boot, and loading driver with this command

/etc/init.d/openibd start

Each my node have same mac-address on VF interfaces.

Looks like MAC-addresses generates on the mlnxofedinstall step - this is wrong, it’s should be generates automaticly when new VFs add, or save MAC-addresses somewhere in configuration, unlike be hardcoded somewhere in builded module.

Thanks!

Solved for me:

cat << EOT > /lib/systemd/network/99-default.link

[Link]

NamePolicy=kernel database onboard slot path

MACAddressPolicy=random

EOT