# lshw -short -c net H/W path Device Class Description ============================================================ /0/102/0 ens1 network MT27800 Family [ConnectX-5] /0/102/0.1 ens1v0 network MT27800 Family [ConnectX-5 Virtual Function] /0/102/0.2 ens1v1 network MT27800 Family [ConnectX-5 Virtual Function] /0/102/0.3 ens1v2 network MT27800 Family [ConnectX-5 Virtual Function] /0/102/0.4 ens1v3 network MT27800 Family [ConnectX-5 Virtual Function] # ip addr | grep ens1 -A 1 2: ens1: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 9000 qdisc mq state UP group default qlen 1000 link/ether 04:3f:72:cf:d4:02 brd ff:ff:ff:ff:ff:ff 7: ens1v0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 9000 qdisc mq state UP group default qlen 1000 link/ether 86:43:85:2b:3c:20 brd ff:ff:ff:ff:ff:ff inet 134.75.xxx.yyy/24 brd 134.75.207.255 scope global noprefixroute ens1v0 20: ens1v3: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP group default qlen 1000 link/ether ae:53:96:bb:07:98 brd ff:ff:ff:ff:ff:ff 23: ens1v2: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP group default qlen 1000 link/ether ee:a3:62:92:f5:83 brd ff:ff:ff:ff:ff:ff 24: ens1v1: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP group default qlen 1000 link/ether a2:1b:4a:b5:d7:72 brd ff:ff:ff:ff:ff:ff # lspci | grep -i Mellanox 0000:3b:00.0 Ethernet controller: Mellanox Technologies MT27800 Family [ConnectX-5] 0000:3b:00.1 Ethernet controller: Mellanox Technologies MT27800 Family [ConnectX-5 Virtual Function] 0000:3b:00.2 Ethernet controller: Mellanox Technologies MT27800 Family [ConnectX-5 Virtual Function] 0000:3b:00.3 Ethernet controller: Mellanox Technologies MT27800 Family [ConnectX-5 Virtual Function] 0000:3b:00.4 Ethernet controller: Mellanox Technologies MT27800 Family [ConnectX-5 Virtual Function]
/etc/systemd/system/sriov-vf.service
[Unit] Description=Script to enable SR-IOV on boot [Service] Type=oneshot ExecStart=/usr/bin/bash -c '/usr/bin/echo 4 > /sys/class/net/ens1/device/sriov_numvfs' ExecStart=/usr/bin/bash -c 'echo 0000:3b:00.2 > /sys/bus/pci/drivers/mlx5_core/unbind' ExecStart=/usr/bin/bash -c 'echo 0000:3b:00.3 > /sys/bus/pci/drivers/mlx5_core/unbind' ExecStart=/usr/bin/bash -c 'echo 0000:3b:00.4 > /sys/bus/pci/drivers/mlx5_core/unbind' [Install] WantedBy=multi-user.target
# systemctl enable sriov-vf.service