Laine Stump wrote: > >> >> 2011/5/8 Richard W.M. Jones <rjones@xxxxxxxxxx >> <mailto:rjones@xxxxxxxxxx>> >> >> On Sun, May 08, 2011 at 10:56:54AM +0800, guan qin wrote: >> > The second solution you mentioned may be difficult , because >> when I assign >> > the ethX to the VM, the X in the 'ethX' is random (the 'X' in >> the host may >> > be different in the VM),I don't know it before I boot the VM . >> so maybe I >> > couldn't edit the guest correctly before booting VM. >> >> AFAIK the guest should always see "eth0", so this shouldn't be any >> problem. If not, write udev rule(s) in the guest to force the >> name to >> be stable. >> >> > The first solution : >> > The network card's MAC address I can know and assign an fixed >> IP in >> > advance, but for the VFs , before I create the VF by "modprobe >> > igb/ixgbe >> > max_vfs=num1,num2" ,I couldn't know the MAC address before >> either,the MAC >> > address generated randomly too. >> > So maybe I should edit the DHCP server configure file after >> creating the >> > VFs. >> >> It seems that for SR-IOV, MAC addresses are assigned to VFs randomly >> by the kernel. It should be possible to read out the VF using (eg) >> libvirt before the VM has booted (if not, it would be a bug). I >> think >> you can also assign fixed MAC addresses to VFs in advance if that >> would be simpler. However I've not really used SR-IOV in anger so >> this may be wrong. >> > > On 05/08/2011 10:35 AM, guan qin wrote: >> If I use SR-IOV, the guest may be always "eth0" , but when I use >> the VT-d ,I often got an ethX with a random X in VM. >> AFAIK, udev make the NIC name be stable by the MAC address. So when I >> haven't assigned a VF or NetworkCard to the VM, >> how can I force the name in the guest to 'eth0' ? > > (Please don't top-quote. It makes it hard to follow the discussion > later). > > As I understand it (and I may have it wrong, as I don't actually have > any SRIOV hardware to play with), an SRIOV VF gets a different random > MAC address each time the host boots. However, udev on the host > apparently ignores VFs when saving off its mac address <--> ethX > mapping for reference on subsequent boots, so the VFs as seen from the > host will have a stable name (but unstable mac address). Perhaps some of the work done in iproute2, et.al. can be leveraged. The ip command could be used to set user-defined MAC addr prior to passing to the guest ip link set dev ethX vf Y mac aa:bb:cc:dd:ee:ff Regards, Jim > > When you map that VF through to the guest, the guest probably doesn't > know that it's a VF of an SRIOV card, it thinks it's a standard > ethernet card, so the guest's udev saves that particular MAC > address<->ethX mapping for subsequent boots; the problem is that the > next time it boots, it will get *yet another* mac address, which will > be mapped to *yet another* ethX name. > > The solution is to clear out the udev mapping on the guest before each > boot, or otherwise teach it to not save the mapping. Alternately, use > a different method of attaching your guest to the network (ie, instead > of using PCI Passthrough, use <interface type='direct'> to attach a > guest interface to one of the VFs, and give the guest a fixed MAC > address of your own choosing.) > > -- > libvir-list mailing list > libvir-list@xxxxxxxxxx > https://www.redhat.com/mailman/listinfo/libvir-list -- libvir-list mailing list libvir-list@xxxxxxxxxx https://www.redhat.com/mailman/listinfo/libvir-list