if_bridge steals IP address of non-member interface
freebsdnik at j2d.lam.net.au
Tue Mar 7 02:11:49 UTC 2006
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
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
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
More information about the freebsd-net