I don't remember having these problems when I was playing with
non-STP bridges.. seem to recall all the initial timeouts could be
tuned down. But for STP bridges you really need to have the
initial forwarding delay to you might cause havok.
Attached is a old patch of mine to disable the startup timers
entirely when STP is disabled (what one expects). Maybe it still
works..
Regards
Henrik Nordstr�m
MARA Systems AB
On Friday 10 May 2002 16:00, penny wrote:
> Hi everybody:
>
> I'm trying to build a software Access Point , and using bridge
> utilities to connect the wired and wireless network... I find out
> that when I ping from wirelss client to wired host , the packet
> trip time always as slow as 15 sec , and then I find out that it is
> caused by bridge forward delay set to 15 sec default. I use
> ./brctl setfd br0 0 , to disable the bridge forward delay, but the
> delay of 15 sec still exist.... I read the bridge information by
> ./brctl showstp br0 and the content is below:
>
> br0
> bridge id 8000.00508bd07a8f
> designated root 8000.000143e21429
> root port 1 path cost 100
> max age 20.00 bridge max age 20.00
> hello time 2.00 bridge hello time 2.00
> forward delay 15.00 bridge forward delay 0.00
> ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
>
> the " bridge forward delay" is change to 0.00 sec , but there still
> a " forward delay" set to 15 sec can anybody teach me how to
> disable the forward delay to 0 sec correctly....
>
>
> thanks sincerely...
>
>
> from CL Kao ageing
> time 300.00 gc interval 4.00
> hello timer 0.00 tcn timer 0.00
> topology change timer 0.00 gc timer 2.56
> flags
>
>
> eth0 (1)
> port id 8001 state forwarding
> designated root 8000.000143e21429 path cost 100
> designated bridge 8000.000143e21429 message age timer 0.97
> designated port 802a forward delay timer 0.00
> designated cost 0 hold timer 0.00
> flags
>
> wlan0 (2)
> port id 8002 state forwarding
> designated root 8000.000143e21429 path cost 100
> designated bridge 8000.00508bd07a8f message age timer 0.00
> designated port 8002 forward delay timer 0.00
> designated cost 100 hold timer 0.97
> flags
--- linux-2.4.9/net/bridge/br_stp.c.orig Sat Sep 1 15:19:24 2001
+++ linux-2.4.9/net/bridge/br_stp.c Sat Sep 1 15:20:08 2001
@@ -369,11 +369,19 @@
static void br_make_forwarding(struct net_bridge_port *p)
{
if (p->state == BR_STATE_BLOCKING) {
+ if (p->br->stp_enabled) {
printk(KERN_INFO "%s: port %i(%s) entering %s state\n",
p->br->dev.name, p->port_no, p->dev->name, "listening");
p->state = BR_STATE_LISTENING;
br_timer_set(&p->forward_delay_timer, jiffies);
+ } else {
+ printk(KERN_INFO "%s: port %i(%s) entering %s state\n",
+ p->br->dev.name, p->port_no, p->dev->name, "forwarding");
+
+ p->state = BR_STATE_FORWARDING;
+ br_timer_clear(&p->forward_delay_timer);
+ }
}
}