summaryrefslogtreecommitdiffstats
path: root/net/bridge/br_stp_if.c
diff options
context:
space:
mode:
authorStephen Hemminger <shemminger@osdl.org>2006-10-12 14:45:38 -0700
committerDavid S. Miller <davem@sunset.davemloft.net>2006-10-15 23:14:13 -0700
commit1a620698c29b5e18150ec04ace0609fb07d08d3e (patch)
treec63d5aaa4bfbed335cd7aeb594ad66c3182e086b /net/bridge/br_stp_if.c
parent9ea8cfd6aa74e710f0cb0731ecb9dee53fbebfb9 (diff)
downloadlinux-1a620698c29b5e18150ec04ace0609fb07d08d3e.tar.gz
linux-1a620698c29b5e18150ec04ace0609fb07d08d3e.tar.bz2
linux-1a620698c29b5e18150ec04ace0609fb07d08d3e.zip
[BRIDGE]: flush forwarding table when device carrier off
Flush the forwarding table when carrier is lost. This helps for availability because we don't want to forward to a downed device and new packets may come in on other links. Signed-off-by: Stephen Hemminger <shemminger@osdl.org> Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'net/bridge/br_stp_if.c')
-rw-r--r--net/bridge/br_stp_if.c2
1 files changed, 2 insertions, 0 deletions
diff --git a/net/bridge/br_stp_if.c b/net/bridge/br_stp_if.c
index 14cd025079af..d294224592db 100644
--- a/net/bridge/br_stp_if.c
+++ b/net/bridge/br_stp_if.c
@@ -113,6 +113,8 @@ void br_stp_disable_port(struct net_bridge_port *p)
del_timer(&p->forward_delay_timer);
del_timer(&p->hold_timer);
+ br_fdb_delete_by_port(br, p, 0);
+
br_configuration_update(br);
br_port_state_selection(br);