Skip site navigation (1)Skip section navigation (2)
Date:      Tue, 07 Mar 2006 13:11:42 +1100
From:      Nik Lam <freebsdnik@j2d.lam.net.au>
To:        freebsd-net@freebsd.org
Subject:   if_bridge steals IP address of non-member interface
Message-ID:  <440CEBDE.5090602@j2d.lam.net.au>

next in thread | raw e-mail | index | archive | help
I'm not sure if what I'm seeing is an artefact of me doing something 
unusual with my design or if there is a bug in if_bridge.

I'm dividing my LAN into two parts using a pair of intel pro 1000 (em) 
interfaces in an if_bridge bridge. I've configured this bridge with STP 
(802.1d) although I don't think this should be the cause of the 
problem.  On the same host which is doing the bridging, I've got another 
interface (fxp0) which is configured "normally", i.e. it has an IP 
address on the subnet which the bridge divides.

Generally this setup works fine, however every now and then I find that 
the bridge is answering ARP who-has queries for the IP address assigned 
to fxp0.

Here's a simplified example:

My LAN is 192.168.0.0/24.

The bridge host has 3 interfaces, fxp0, em0 and em1.

em0 and em1 are members of the bridge

fxp0 is configured with 192.168.0.10 netmask 255.255.255.0 for managing 
the host.

em0 is plugged into switch A

em1 is plugged into switch B

fxp0 is plugged into switch A

There are other hosts plugged into both switches and the bridge behaves 
as expected in transiting traffic between switch A and switch B.  
However, sometimes when a host on switch A tries to contact the bridge 
host itself using 192.168.0.10, rather than getting the mac address for 
fxp0, it gets the mac address for em0.

I've tried putting arp -S statements to permanently fix the fxp0 MAC 
address to its IP address in my rc.local of the bridge host in case that 
is taken notice of, but this doesn't seem to affect things in any 
positive way.

Regards,


Nik





Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?440CEBDE.5090602>