开发者社区> 亦侠> 正文
阿里云
为了无法计算的价值
打开APP
阿里云APP内打开

网络子系统37_网桥、端口定时器

简介:
+关注继续查看
//	网桥定时器初始化
//		在添加网桥时,同时创建网桥使用的定时器
//	调用路径:br_add_bridge->new_bridge_dev->br_stp_timer_init
//	网桥使用的定时器:hello, tcn, tc, gc
1.1 void br_stp_timer_init(struct net_bridge *br)
{
	//根网桥周期性向通过指定端口向其他网桥发送配置BPDU
	setup_timer(&br->hello_timer, br_hello_timer_expired,
		      (unsigned long) br);
    //网桥检测到拓扑变化,通过根端口,发送TCN,直到接收到TCA标志的配置BPDU
	setup_timer(&br->tcn_timer, br_tcn_timer_expired,
		      (unsigned long) br);

    //根网桥通过该定时器,在发送的配置BPDU中,设置TC标志,指示网络拓扑发生变化
	setup_timer(&br->topology_change_timer,
		      br_topology_change_timer_expired,
		      (unsigned long) br);
    //垃圾回收,见转发数据库
	setup_timer(&br->gc_timer, br_fdb_cleanup, (unsigned long) br);
}


//	端口定时器初始化
//		使能网桥端口的stp时,同时创建端口使用的定时器
//	调用路径:br_stp_enable_port->br_init_port->br_stp_port_timer_init  
2.1 void br_stp_port_timer_init(struct net_bridge_port *p)
{
	//用于端口使用的配置BPDU有效性
	setup_timer(&p->message_age_timer, br_message_age_timer_expired,
		      (unsigned long) p);
    //状态转移定时器
	setup_timer(&p->forward_delay_timer, br_forward_delay_timer_expired,
		      (unsigned long) p);
    //端口发送配置bpdu的速率限制定时器
	setup_timer(&p->hold_timer, br_hold_timer_expired,
		      (unsigned long) p);
}

版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

相关文章
+关注
文章
问答
文章排行榜
最热
最新
相关电子书
更多
企业级弹性公网IP发布
立即下载
复杂网络架构下的网络故障智能处理—DC Brain之故障篇
立即下载
英特尔® 实感™ 技术让机器如您所见
立即下载