[libvirt] [PATCH] Set a stable & high MAC addr for guest TAP devices on host

Daniel Veillard veillard at redhat.com
Wed Jul 21 10:39:08 UTC 2010

On Wed, Jul 21, 2010 at 11:15:05AM +0100, Daniel P. Berrange wrote:
> 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.

  Ah, that's the reason why it was hiding !

> 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
> ---
>  src/qemu/qemu_conf.c |   11 +++++++++--
>  src/uml/uml_conf.c   |   11 +++++++++--
>  src/util/bridge.c    |   42 ++++++++++++++++++++++++++++++++++++++++++
>  src/util/bridge.h    |    3 ++-
>  4 files changed, 62 insertions(+), 5 deletions(-)

  Patch looks fine,



Daniel Veillard      | libxml Gnome XML XSLT toolkit  http://xmlsoft.org/
daniel at veillard.com  | Rpmfind RPM search engine http://rpmfind.net/
http://veillard.com/ | virtualization library  http://libvirt.org/

More information about the libvir-list mailing list