• D
    Set a stable & high MAC addr for guest TAP devices on host · 6ea90b84
    Daniel P. Berrange 提交于
    A Linux software bridge will assume the MAC address of the enslaved
    interface with the numerically lowest MAC addr. When the bridge
    changes MAC address there is a period of network blackout, so a
    change should be avoided. The kernel gives TAP devices a completely
    random MAC address. Occassionally the random TAP device MAC is lower
    than that of the physical interface (eth0, eth1etc) that is enslaved,
    causing the bridge to change its MAC.
    
    This change sets an explicit MAC address for all TAP devices created
    using the configured MAC from the XML, but with the high byte set
    to 0xFE. This should ensure TAP device MACs are higher than any
    physical interface MAC.
    
    * src/qemu/qemu_conf.c, src/uml/uml_conf.c: Pass in a MAC addr
      for the TAP device with high byte set to 0xFE
    * src/util/bridge.c, src/util/bridge.h: Set a MAC when creating
      the TAP device to override random MAC
    6ea90b84
qemu_conf.c 200.2 KB