谢谢回复,可否细说一下
bridge--->vlan ? 这个过程 是在哪里发生的呢?
是在 br_handle_frame_finish 里面 ...
你大概没有注意到这个细节, VLAN eth0.1 和 eth0.2 是建立在eth0之上的,而eth0并没有加到桥当中,因此,在netif_receive_skb中,第一次进入到handle_bridge处理时,直接返回,因为
if (skb->pkt_type == PACKET_LOOPBACK ||
(port = rcu_dereference(skb->dev->br_port)) == NULL) //注意,第一次进来时,skb->dev是eth0
return skb;
该条件成立(2.6.31代码),返回后,在netif_receive_skb中,查找到packet_type 为 0x8100 的 pt_prev->func(), 即调用vlan_skb_recv(), 去掉vlan tag 。。。 不同的vlan之间, 在二层是隔离的, 怎么可能在vlan之间直接bridge ?
页:
1
[2]