DragonFly commits List (threaded) for 2011-02
git: kernel - Greatly enhance if_bridge
Author: Matthew Dillon <email@example.com>
Date: Tue Feb 22 20:56:42 2011 -0800
kernel - Greatly enhance if_bridge
* Document the link0 feature, which enables transparent bridging.
* Implement the link1 feature, automatic failover using a slight mangling
of the 802.11d protocol. Both ends must implement the feature for this
to work. Essentially this causes CFG 802.11d messages to be generated
on the hello interval even if a bridge is not the root bridge.
The bridge also monitors for this traffic and places the link in a special
L1BLOCKING state if it fails to receive any frames in (10 x hello) (around
20 seconds usually). This will automatically cause the bridge to failover
to other links.
This only operates on links participating in the STP protocol (see man
ifconfig), when link1 is set on the bridge interface. For ethernet
bridging the link interfaces are typically multiple TAP interfaces.
* Allow all link interfaces participating in a bridge to have the same
MAC address (used with TAP interfaces typically). This is mandatory
if you also intend to use the link1 feature and want your failover to
be reasonably smooth. The feature can be useful regardless.
* The ifconfig bridge output now shows additional information about
link state and who it thinks the root node is.
Summary of changes:
sbin/ifconfig/ifbridge.c | 9 ++++
share/man/man4/bridge.4 | 47 +++++++++++++++++++-
sys/net/bridge/bridgestp.c | 96 +++++++++++++++++++++++++++++++++++++----
sys/net/bridge/if_bridge.c | 57 +++++++++++++++++++++++-
sys/net/bridge/if_bridgevar.h | 8 +++
5 files changed, 202 insertions(+), 15 deletions(-)
DragonFly BSD source repository