- 論壇徽章:
- 7
|
1 不會。ETH0.1設備只負責2個功能,接收從EHT0設備上的帶TAG1的包,去TAG.從上層發(fā)送的包加TAG.加TAG去TAG的功能實際稱呼好象叫VLAN隧道. VLAN的詳細確切概念可以看 PERLMAN的 網絡互連 一書
2 橋只管按MAC地址,帶TAG的叫隧道包,他不能做分辨. 所以問題與橋沒關系,只是VLAN虛擬設備設計的問題.
代碼顯示,不會加而是直接透傳發(fā)送.
int vlan_dev_hard_start_xmit(struct sk_buff *skb, struct net_device *dev)
{
struct net_device_stats *stats = vlan_dev_get_stats(dev);
struct vlan_ethhdr *veth = (struct vlan_ethhdr *)(skb->data);
/* Handle non-VLAN frames if they are sent to us, for example by DHCP.
*
* NOTE: THIS ASSUMES DIX ETHERNET, SPECIFICALLY NOT SUPPORTING
* OTHER THINGS LIKE FDDI/TokenRing/802.3 SNAPs...
*/
if (veth->h_vlan_proto != __constant_htons(ETH_P_8021Q)) {
int orig_headroom = skb_headroom(skb);
unsigned short veth_TCI; |
|