On Fri, 21 May 2010 11:03:35 +0200
frank <frank at si.ct.upc.edu> wrote:
> Hi all,
> we have a couple of Red Hat 5 servers with OpenVZ with some virtual
> machines (VEs). This virtual machines have veths (virtual ethernet
> devices), and this devices are attached to a bridge device with main
> node ethernet.
>
> # brctl show
> vzbr2 8000.001851cfe1c3 no veth130.0
> eth0
> The bridge device also has an IP because we need to reach host with an
> IP in this subnet.
> We have noticed a problem:
>
> When we boot the main host, the bridge takes the IP we have defined to
> it and the MAC af the eth0 device. That's ok.
> But when a veth is joined to the bridge device, this one takes the MAC
> of the veth device, so MAC bridge device changes; of course this cause
> different kind of network problems because all hosts which were
> connected still has the old MAC in its arp table.
>
> We have revised a lot of things, but we don't find any explanation.
Does
> anybody know a possible cause of this behaviour?
> Where can we look to get more information? Is the bridge working as
> expected?
Unless overridden, the bridge device takes the lowest MAC address
of all the devices in the bridge. I believe the original intention
was to have the bridge device get the same address independent of what
order devices were added.
In current kernels, (RHEL may be too old to have this fix)
you can solve the problem by assigning a MAC address to the bridge device
(one of the slaves). The bridge device then remembers that the address
has been set and no longer changes the MAC address.
There was also a proposal which has not been integrated to have "master
device". It would solve the problem, and make boot up easier.
--