[Bridge] bridge port number changing - FIXED

Brett Worth brett.worth at gmail.com
Wed Mar 25 21:34:50 UTC 2015


On 20/03/15 16:10, Brett Worth wrote:
> Hi all.  This is my first post to this list and I hope you'll be able to help.
>
> I have been using the Linux bridge module for a long time under kvm on centos.  This has
> not given me any problems until now.
>
> I'm adding some host servers and am using HP BL660 blades.
>
> The kvm nic script in /etc/kvm creates a tap device then assigns a MAC address after
> modifying the first byte to FE.  This is so the port 1 host mac doesn't change.
>
> On a working host server when running brctl showmacs br0 I see the tap mac address and the
> mac address assigned to the vm on the same port. The tap mac shows as local and the vm mac
> is not.
>
> The problem:
>
> Intermittently (once a minute or so) the port number shown for the VM will switch to port
> 1.  During this time the VM cannot be contacted. The tap device mac remains at it's
> original value.  If I wait it will switch back to the correct port number i.e. the one
> associated with the tap device at which point network connectivity is re-established.
>
> I have looked for the VM mac address on the LAN but cannot see it so it seems to be
> something internal to the bridge.
>
> Can anyone offer a suggestion as to what might be happening?
>
> I'm running centos 6.6 and the bridge is 2.3.

I have finally found a solution to this problem which I thought might be of interest to 
the list.

The HP BL660 blades I am using have an Emulex NIC which used the be2net driver.  Between 
RHEL 6.5 and RHEL 6.6 the be2net modules was upgraded from 4.x to a 10.x version.

In the release notes 
(http://www-dl.emulex.com/support/lenovo/rt10.3.0/ga/Docs/linux/linux_relnotes_elx.pdf) I 
found this:

    "2. PING is not working when attempting to bridge the 1G or 10G ports to the virtual
    machines when SR-IOV is enabled for 10 G ports in the BIOS.
    This issue occurs due to limitations of the virtual Ethernet bridge. All transmitted
    broadcast packets are looped back by the controller. This affects the functionality of the
    Linux bridge, as it appears as if the same ARP broadcast packets are received on two
    different interfaces.
    Workaround
    a) Set the aging of the bridge to 0 using the following command:
    “brctl setageing <bridge> 0”

    "

Is it normal for the controller to loop back broadcast packets?

Is it going to make much of a difference to the the ageing set to zero?

Brett

-- 
   /) _ _ _/_/ / / /  _ _//
  /_)/</= / / (_(_/()/< ///

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.linuxfoundation.org/pipermail/bridge/attachments/20150326/0b94d086/attachment.html>


More information about the Bridge mailing list