Bridge(4) not learning

Andreas Wrede aew.freebsd at wrede.ca
Sat Jun 6 18:50:38 UTC 2015


On a FreeBSD 10.1/amd64 system, I have a bridge(4) configured with a tap(4) and igb(4) interface as members:

# ifconfig tap0 create up
# ifconfig bridge0 create addm tap0 addm igb1 up

igb1 is the interface to the local LAN with 192.168.0.1 as the servers IP address, tap0 is used by openvpn. (igb0 is used for the outside pppoe connection via mpd5)

# ifconfig igb1
igb1: flags=8943<UP,BROADCAST,RUNNING,PROMISC,SIMPLEX,MULTICAST> metric 0 mtu 1500
	options=400b8<VLAN_MTU,VLAN_HWTAGGING,JUMBO_MTU,VLAN_HWCSUM,VLAN_HWTSO>
	ether c8:0a:a9:c8:7e:87
	inet6 fe80::ca0a:a9ff:fec8:7e87%igb1 prefixlen 64 scopeid 0x2 
	inet 192.168.0.1 netmask 0xffffff00 broadcast 192.168.0.255 
	nd6 options=29<PERFORMNUD,IFDISABLED,AUTO_LINKLOCAL>
	media: Ethernet autoselect (1000baseT <full-duplex>)
	status: active

#  ifconfig tap0
tap0: flags=8943<UP,BROADCAST,RUNNING,PROMISC,SIMPLEX,MULTICAST> metric 0 mtu 1500
	options=80000<LINKSTATE>
	ether 00:bd:b3:c4:2e:00
	inet6 fe80::2bd:b3ff:fec4:2e00%tap0 prefixlen 64 scopeid 0x7 
	nd6 options=21<PERFORMNUD,AUTO_LINKLOCAL>
	media: Ethernet autoselect
	status: active
	Opened by PID 16731

#  ifconfig  bridge0  
bridge0: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> metric 0 mtu 1500
	ether 02:b6:bc:d0:88:00
	nd6 options=1<PERFORMNUD>
	id 00:00:00:00:00:00 priority 32768 hellotime 2 fwddelay 15
	maxage 20 holdcnt 6 proto stp maxaddr 2000 timeout 1200
	root id 00:00:00:00:00:00 priority 32768 ifcost 0 port 0
	member: igb1 flags=143<LEARNING,DISCOVER,AUTOEDGE,AUTOPTP>
	        ifmaxaddr 0 port 2 priority 128 path cost 20000
	member: tap0 flags=143<LEARNING,DISCOVER,AUTOEDGE,AUTOPTP>
	        ifmaxaddr 0 port 7 priority 128 path cost 2000000

With openvpn configured, I can now connect and ping 192.168.0.1 from a remote host.

However no other host on the local LAN (192.168.0.0/24) is reachable! 

Looking at the addresses the bridge has learned I only see the remote host's address on the tap(4) side:

#  ifconfig  bridge0 addr
f6:68:1f:e6:cf:38 Vlan1 tap0 114 flags=0<>
#

No addresses from the igb1 side of the bridge are ever learned. Pinging a host on the LAN from the remote host produces the expected arp requests and replies on the LAN side but the bridge never learns the address, thus packets are not forwarded back to the remote host.

Things I have tried without success:
- disabled the pf firewall
- entered static mac address (ifconfig bridge0 static igb1 00:13:20:3f:e5:ff)

I have the same setup working properly on another FreeBSD 10.1 system. The only difference (besides IP address values) are the network interfaces, the other setup uses a em(4) interface.

Is there any other configuration setting I am missing or does bridging just now woke with igb(4)s?

-- 
    aew



More information about the freebsd-questions mailing list