Would anybody here happen to know how to set the MAC address for an Infiniband Virtual Function?

alpha754293

Member
Jan 8, 2023
94
18
8
So far, I have gotten SR-IOV running in Proxmox 7.4-17 where when I list the PCI devices via lspci | grep Mell, I can see the virtual functions of my Mellanox ConnectX-4 card (on different/multiple nodes).

The problem that I am running into is that because the HW MAC address isn't unique between them the virtual functions, therefore; when I try to use them inside a VM, I get a "NO CARRIER" message when I check it with ip link

When I try to set the HW MAC address using this command:
ip link set ibp10s0f0 vf 0 mac 00:00:10:87:fe:80:00:00:00:00:00:00:24:8a:07:03:00:2b:1e:c7

the error message that I am getting is:
RTNETLINK answers: Operation not supported

I tried googling how to set it, but a LOT of references dealing with Infiniband is on Red Hat and/or Red Hat derived distros, and Debian, because it uses /etc/network/interfaces, works a little differently, i.e. I don't know if I can set or define the MAC address there, and then still be able to unbind and bind the virtual function so that it can be used by a VM.

Any help is greatly appreciated.

Thank you.
 
So far, I have gotten SR-IOV running in Proxmox 7.4-17 where when I list the PCI devices via lspci | grep Mell, I can see the virtual functions of my Mellanox ConnectX-4 card (on different/multiple nodes).

The problem that I am running into is that because the HW MAC address isn't unique between them the virtual functions, therefore; when I try to use them inside a VM, I get a "NO CARRIER" message when I check it with ip link

When I try to set the HW MAC address using this command:
ip link set ibp10s0f0 vf 0 mac 00:00:10:87:fe:80:00:00:00:00:00:00:24:8a:07:03:00:2b:1e:c7

the error message that I am getting is:
RTNETLINK answers: Operation not supported

I tried googling how to set it, but a LOT of references dealing with Infiniband is on Red Hat and/or Red Hat derived distros, and Debian, because it uses /etc/network/interfaces, works a little differently, i.e. I don't know if I can set or define the MAC address there, and then still be able to unbind and bind the virtual function so that it can be used by a VM.

Any help is greatly appreciated.

Thank you.
for infiniband you dont set mac you need to set port and node GUID.

i have a tutorial here you can follow, just keep in mind if you have multiple VF's, then you need to change the script a little:
https://forum.proxmox.com/threads/tutorial-proxmox-8-mellanox-infiniband-and-sr-iov.146196/
 

About

The Proxmox community has been around for many years and offers help and support for Proxmox VE, Proxmox Backup Server, and Proxmox Mail Gateway.
We think our community is one of the best thanks to people like you!

Get your subscription!

The Proxmox team works very hard to make sure you are running the best software and getting stable updates and security enhancements, as well as quick enterprise support. Tens of thousands of happy customers have a Proxmox subscription. Get yours easily in our online shop.

Buy now!