// 网桥定时器初始化
// 在添加网桥时,同时创建网桥使用的定时器
// 调用路径: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有效性
网络子系统37_网桥、端口定时器
最新推荐文章于 2021-06-24 15:39:00 发布