Source MAC addresses when bridge(4) used

Andrew Thompson thompsa at freebsd.org
Mon Jan 15 00:53:13 UTC 2007


On Sun, Jan 07, 2007 at 08:02:11AM +1100, Peter Jeremy wrote:
> I've just noticed an number of unpexected "IP address changed MAC"
> messages on one of the hosts in my network.  It is connected via a
> FreeBSD bridge to the rest of my network (there aren't enuf network
> ports in my son's bedroom).  The configuration looks like:
> 
>   +---------+         +---------+
>   |         |         |         |
>   | laptop1 |---------| desktop |------> Rest of network
>   |         |dc0   tl0|         |rl0     via dumb switch
>   +---------+         +---------+

Chiming in late here after a nice holiday. 
 
> Both hosts are running 6.1-STABLE:
> laptop1: FreeBSD laptop1.vk2pj.dyndns.org 6.1-STABLE FreeBSD
>  6.1-STABLE #0: Wed Nov 15 18:40:00 EST 2006
>  root at laptop1.vk2pj.dyndns.org:/usr/obj/usr/src/sys/laptop  i386
> desktop: FreeBSD jashank.vk2pj.dyndns.org 6.1-STABLE FreeBSD
>  6.1-STABLE #15: Wed Aug  2 18:35:57 EST 2006
                   ^^^^^^^^^^

This is actually fixed now in r1.84 and MFC'd early nov. The laptop
would have been fine but the bridging was done on the desktop which was
an older stable.

The reason is that the arp reply when bridging sends the mac address of
the nic where the request came in, so laptop1 will get the mac of tl0.
The other problem that was fixed in r1.84 was that locally destined
packets to the bridge were always broadcast when they shouldn't.
Anything on the rest of the network arping for the rl0 address would
cause the arp reply to also be sent to laptop1 (with rl0's address),
hence the logged 'address moved' warnings.

Some people pointed out that the address should be assigned to the
bridge interface which is correct, but they way you had it still works
and now that warning is now fixed.


cheers,
Andrew


More information about the freebsd-stable mailing list