[Bridge] Timer problem

shenry82 shenry82 at voila.fr
Tue Jul 26 07:10:30 PDT 2005


Hi all,

    I try to reduce the time of link break detection for the STP. I want to make a timer who detect a link failure
within a few times instead of waiting max age timeout. The problem is that my timer isn't take in account by the bride and i really don't know why, can someone help me ?
Here's what I've done :

in file br_stp_timer.c :

/* called under bridge lock */
static void br_loss_timer_expired(struct net_bridge_port *p)
{	
	printk(KERN_INFO "il y a perte de connection \n");
	br_timer_set(&p->loss_timer, jiffies); // for the moment I just want my function to be take in account.
}

/* called under bridge lock */
static void br_check_port_timers(struct net_bridge_port *p)
{
	if (br_timer_has_expired(&p->message_age_timer, p->br->max_age)) {
		br_timer_clear(&p->message_age_timer);
		br_message_age_timer_expired(p);
	}

	if (br_timer_has_expired(&p->forward_delay_timer, p->br->forward_delay)) {
		br_timer_clear(&p->forward_delay_timer);
		br_forward_delay_timer_expired(p);
	}

	if (br_timer_has_expired(&p->hold_timer, BR_HOLD_TIME)) {
		br_timer_clear(&p->hold_timer);
		br_hold_timer_expired(p);
	}

	if (br_timer_has_expired(&p->loss_timer, (1*HZ)))  // This condition is never true !?
	{
		printk(KERN_INFO "On a perdu la connection \n");
		br_timer_clear(&p->loss_timer);
		br_loss_timer_expired(p);
	}

}

I also tried to check if my timer is running with br_timer_is_running(&p->loss_timer) but it's also never true.

Thanks for your help,

HENRY Simon

PS : if someone tried to implement RSTP with brctl and succeed I'm interest in ^^
------------------------------------------

Faites un voeu et puis Voila ! www.voila.fr 






More information about the Bridge mailing list