This bug has been copied from bug #571991 and has been proposed to be backported to 5.5 z-stream (EUS).
Fix built into libvirt-0.6.3-33.el5_5.2
Verify this bug with libvirt-0.6.3-33.el5_5.3 on RHEL5u5-Server X86_64 KVM, and PASSED. Here is my steps: 1. Define a guest with the following mac address. <mac address='54:52:00:12:ce:b8'/> 2. Start/Destroy guest for several times, bridge mac address is not changed, so host is always keep reachable. Before start guest: # brctl show; ifconfig br0;ifconfig eth0 bridge name bridge id STP enabled interfaces br0 8000.6cf049270c06 no eth0 virbr0 8000.000000000000 yes br0 Link encap:Ethernet HWaddr 6C:F0:49:27:0C:06 inet addr:10.66.92.198 Bcast:10.66.93.255 Mask:255.255.254.0 inet6 addr: 3ffe:501:ffff:100:6ef0:49ff:fe27:c06/64 Scope:Global inet6 addr: fe80::6ef0:49ff:fe27:c06/64 Scope:Link UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1 RX packets:6433 errors:0 dropped:0 overruns:0 frame:0 TX packets:1952 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:0 RX bytes:4789942 (4.5 MiB) TX bytes:239926 (234.3 KiB) eth0 Link encap:Ethernet HWaddr 6C:F0:49:27:0C:06 inet6 addr: fe80::6ef0:49ff:fe27:c06/64 Scope:Link UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1 RX packets:4548553 errors:0 dropped:1357 overruns:0 frame:0 TX packets:1339934 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:1000 RX bytes:6763681923 (6.2 GiB) TX bytes:92213194 (87.9 MiB) Memory:fc300000-fc320000 Start guest: # virsh start test1;brctl show; ifconfig br0;ifconfig vnet0 Domain test1 started bridge name bridge id STP enabled interfaces br0 8000.6cf049270c06 no vnet0 eth0 virbr0 8000.000000000000 yes br0 Link encap:Ethernet HWaddr 6C:F0:49:27:0C:06 inet addr:10.66.92.198 Bcast:10.66.93.255 Mask:255.255.254.0 inet6 addr: 3ffe:501:ffff:100:6ef0:49ff:fe27:c06/64 Scope:Global inet6 addr: fe80::6ef0:49ff:fe27:c06/64 Scope:Link UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1 RX packets:6578 errors:0 dropped:0 overruns:0 frame:0 TX packets:1981 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:0 RX bytes:4805423 (4.5 MiB) TX bytes:244592 (238.8 KiB) vnet0 Link encap:Ethernet HWaddr FE:52:00:12:CE:B8 inet6 addr: fe80::fc52:ff:fe12:ceb8/64 Scope:Link UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1 RX packets:0 errors:0 dropped:0 overruns:0 frame:0 TX packets:12 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:500 RX bytes:0 (0.0 b) TX bytes:1964 (1.9 KiB) Now libvirt should assign MAC address in the upper range (starting with FE:xx) to tap devices to prevent the MAC address of the bridge from changing every time a VM is created or destroyed. So this bug is fixed.
An advisory has been issued which should help the problem described in this bug report. This report is therefore being closed with a resolution of ERRATA. For more information on therefore solution and/or where to find the updated files, please follow the link below. You may reopen this bug report if the solution does not work for you. http://rhn.redhat.com/errata/RHSA-2010-0615.html