Skip site navigation (1)Skip section navigation (2)
Date:      Wed, 26 Jan 2011 06:15:55 +1300
From:      Andrew Thompson <thompsa@FreeBSD.org>
To:        Alexander Zagrebin <alex@zagrebin.ru>
Cc:        freebsd-net@freebsd.org
Subject:   Re: 8.2-PRERELEASE: if_bridge ARP and broadcasts issues
Message-ID:  <AANLkTimB%2BmvukHHipTCnRbB=sX4SfrF0x4H-6nhKwS6y@mail.gmail.com>
In-Reply-To: <20110125133226.GD67220@gw.zagrebin.ru>
References:  <20110125133226.GD67220@gw.zagrebin.ru>

next in thread | previous in thread | raw e-mail | index | archive | help
On 26 January 2011 02:32, Alexander Zagrebin <alex@zagrebin.ru> wrote:
> Hi!
>
> I've found some issues with the if_bridge on 8.2-PRERELEASE.
>
> 1. An ARP issue
>
> Suppose we have a box with the 4 interfaces: nic0, nic1, nic2, nic3.
> The interfaces are linked pairwise using 2 bridge(4) interfaces: bridge0
> and bridge1. Only nic0 has an IP address assigned (for example,
> 192.168.0.1/24).
> So we have configuration like this:
>
> =A0192.168.0.1
> ---nic0---+ =A0 =A0 =A0 +---nic2---
> =A0 =A0 =A0 =A0 =A0| =A0 =A0 =A0 |
> =A0 =A0 =A0 bridge0 bridge1
> =A0 =A0 =A0 =A0 =A0| =A0 =A0 =A0 |
> ---nic1---+ =A0 =A0 =A0 +---nic3---
>
> The problem: when ARP query about MAC address of 192.168.0.1 is received
> on the nic2 or nic3, then system responds with the MAC address of the nic=
0,
> though networks on the bridge0 and bridge1 are completely independent.
> IMHO, it isn't correct.
>
> The reason is in ARP handling code: it looks for an address of the interf=
ace
> belonging to a bridge, but there is not check that a bridge is the same.
>
> Attached patch (patch-if_ether.c) fixes the issue.

I have committed this, thanks.



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?AANLkTimB%2BmvukHHipTCnRbB=sX4SfrF0x4H-6nhKwS6y>