8.2-PRERELEASE: if_bridge ARP and broadcasts issues
Andrew Thompson
thompsa at FreeBSD.org
Tue Jan 25 17:42:51 UTC 2011
On 26 January 2011 02:32, Alexander Zagrebin <alex at 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:
>
> 192.168.0.1
> ---nic0---+ +---nic2---
> | |
> bridge0 bridge1
> | |
> ---nic1---+ +---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 nic0,
> 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 interface
> 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.
More information about the freebsd-net
mailing list