Thanx for visiting. Sorry for the delayed response - was on vacation :-)
I believe the issues is that you are administratively setting the MAC address for the VF's. When you do this, we make the assumption that the administrator does not trust the VMM or the VM to configure the MAC address, all such requests will be rejected.
In general what usually happens is you create a bunch of VF's, your VMM (such as Virt-Manager) will itself assign a MAC address to the VF when it get assigned to a VM and everything is fine - you should even be able to change the MAC from the VM. Though you may need to turn of anti-spoofing.
My expert came back witht the following that I am pasting for your reading pleasure.
Recommended setup steps are:
- Blacklist VF driver if VFs are intended to be assigned toVM(s).
- Load ixgbe driver with desired number of VFs.
- DO NOT assign MAC address at this time. Assigning MAC address to VF from the host means that administrator doesn’t trust the VM and VM will not be able to change VF’s MAC address.
- Assign Port VLAN for each VF using IPROUTE2 utility.
- Assign the VF to VM using Linux Virt-Manager or creating/modifying VM configuration XML file.
- Bring up VM to confirm connectivity.
We have tested this setup and it works using Ubuntu 14.04 host and guests.
We believe Linux Virt-Manager and KVM are getting confused because user is assigning the MAC addresses from within the host. For Intel 10Gb network drivers this is called an administrative assignment and is a security feature.
Hope this helps!
- Patrick