Commit a461c029 authored by stephen hemminger's avatar stephen hemminger Committed by David S. Miller

bridge: skip forwarding delay if not using STP

If Spanning Tree Protocol is not enabled, there is no good reason for
the bridge code to wait for the forwarding delay period before enabling
the link. The purpose of the forwarding delay is to allow STP to
learn about other bridges before nominating itself.

The only possible impact is that when starting up a new port
the bridge may flood a packet now, where previously it might have
seen traffic from the other host and preseeded the forwarding table.

Includes change for local variable br already available in that func.
Signed-off-by: default avatarStephen Hemminger <shemminger@vyatta.com>
Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
parent 60aeba23
...@@ -375,12 +375,12 @@ static void br_make_forwarding(struct net_bridge_port *p) ...@@ -375,12 +375,12 @@ static void br_make_forwarding(struct net_bridge_port *p)
if (p->state != BR_STATE_BLOCKING) if (p->state != BR_STATE_BLOCKING)
return; return;
if (br->forward_delay == 0) { if (br->stp_enabled == BR_NO_STP || br->forward_delay == 0) {
p->state = BR_STATE_FORWARDING; p->state = BR_STATE_FORWARDING;
br_topology_change_detection(br); br_topology_change_detection(br);
del_timer(&p->forward_delay_timer); del_timer(&p->forward_delay_timer);
} }
else if (p->br->stp_enabled == BR_KERNEL_STP) else if (br->stp_enabled == BR_KERNEL_STP)
p->state = BR_STATE_LISTENING; p->state = BR_STATE_LISTENING;
else else
p->state = BR_STATE_LEARNING; p->state = BR_STATE_LEARNING;
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment