- 论坛徽章:
- 0
|
/* called under bridge lock */
int br_is_designated_port(struct net_bridge_port *p)
{
return !memcmp(&p->designated_bridge, &p->br->bridge_id, 8) &&
(p->designated_port == p->port_id);
}
这几天没有看网桥,今天有时间又看了一下,觉得对于判断指定端口这个函数还是有些疑惑,希望大侠能说得清楚一些:
上面的判断应该是:第一步,看端口的所在的网桥ID是否是指定网桥;第二步,看端口ID是否是指定端口ID。
我看的资料理解的是:判断是否是指定端口,是看这个网桥的BPDU的信息:1根端口ID,2开销,3发送网桥ID。这3个组成的BPDU是否优于网桥从这个端口收到的BPDU。如果网桥的BPDU优,则这个端口是网桥的指定端口,网桥会往这些指定端口发送自己的BPDU。这些指定端口和根端口都是生成树的一部分。
怎么跟这个函数写的意思不太一样呢?
[ 本帖最后由 Pagliuca 于 2006-1-25 17:01 编辑 ] |
|