网络子系统33_网桥设备的配置更新

//网桥的状态更新//调用路径dev_close->br_dev_stop->br_stp_disable_bridge->br_stp_disable_port->br_configuration_update1.1 void br_configuration_update(struct net_bridge *br){ br_root_selection(br);//选择根端口,根网桥
摘要由CSDN通过智能技术生成
//	更新网桥配置信息
//	函数主要任务:
//		1.重新选择根端口
//		2.重新选择根网桥
1.1 void br_configuration_update(struct net_bridge *br)
{
	br_root_selection(br);//选择根端口,根网桥
	br_designated_port_selection(br);//选择指定端口
}

//	选择根端口
//	调用路径:br_configuration_update->br_root_selection
//	函数主要任务:
//		1.遍历所有端口,选择具备成为根端口的端口
//		2.没有选择出根端口,则更新网桥成为根网桥
//		3.否则更新可到达的根网桥,根路径开销

//	注:
//		1.网桥的根路径开销 = 根端口的指定开销+端口的根路径开销
1.2 static void br_root_selection(struct net_bridge *br)
{
	struct net_bridge_port *p;
	u16 root_port = 0;

	list_for_each_entry(p, &br->port_list, list) {//遍历所有端口
		if (br_should_become_root_port(p, root_port))//判断端口是否应该成为根端口
			root_port = p->port_no;//根端口id
	}

	br->root_port = root_port;//网桥的根端口

	if (!root_port) {//没有选出合适的根端口
		br->designated_root = br->bridge_id;//设置自己为根网桥,开始新一轮的网络拓扑检测
		br->root_path_cost = 0;
	} else {//成功选出根端口
		p = br_get_port(br, root_po
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值