
On 01/20/2014 11:34 AM, Sheldon wrote:
when I create a interface, There is no mac attribute in the xml. After create successfully, libvirt will allocate a mac. The problem is that, How can I get the mac.
Should the CREATE method always needs to return an interface info?
Here is some of create code.
def vmifaces_create(self, vm, params): dom = self._get_vm(vm) xml = """ <interface type='network'> <source network='default'/> </interface> """
dom.attachDeviceFlags(xml, libvirt.VIR_DOMAIN_AFFECT_CURRENT)
# here I need to return the mac return ????
The libvirt will create a xml like the follow? The problem is that the a vm may have several interfaces. xml = """ <interface type='network'> <mac address='52:54:00:2a:53:8f'/> <source network='default'/> <model type='rtl8139'/> <address type='pci' domain='0x0000' bus='0x00' slot='0x03' function='0x0'/> </interface> """
We can generate the mac and pass it to libvirt:
import virtinst.util print virtinst.util.randomMAC() 00:16:3e:fd:b4:3a
I don't if libvirt requires a mac starting with "52:52:00" Maybe it is used to avoid generating duplicated mac addresses.