|
发表于 2013-4-2 11:34:41
|
显示全部楼层
chmjiong 发表于 2012-8-2 12:31
指定了PVID后,仍然无法避免0t 1被改为0t 1t
现在基本可以肯定是这个原因导致wan罢工,另外,vlan51如何 ...
和你的MR4530类似,最近掉到WNDR4300的ar8327和nand flash的坑里了,所以翻出来这个账号,重新开始折腾。因为openwrt还不支持这个型号上的nand,所以刷了dd-wrt。
看过ar8327的data sheet,vlan支持是很全面的:
The AR8327 switch supports many VLAN options including IEEE 802.1Q and port-based VLANs. The
AR8327 supports 4096 IEEE 802.1Q VLAN groups and 4K VLAN table entries, and the AR8327 device
checks VLAN port membership from the VLAN ID, extracted from the tag header of the frame. Table
2-18 shows the AR8327-supported 802.1Q modes. The port-based VLAN is enabled according to the
user-defined PORT VID value. The AR8327 supports optional discards of tagged, untagged frames,
and priority tagged frames. The AR8327 also supports untagging of the VLAN ID for packets going
out on untagged ports on a per-port basis.
不过还在看3.8 trunk里的ar8216.c的switch source code,毕竟不太会编程,还没搞清楚。不过看到ar8xxx_sw_set_ports(struct switch_dev *dev, struct switch_val *val)有一个函数有个注释:
1379 /* make sure that an untagged port does not
1380 * appear in other vlans */
1381 for (j = 0; j < AR8X16_MAX_VLANS; j++) {
1382 if (j == val->port_vlan)
1383 continue;
1384 priv->vlan_table[j] &= ~(1 << p->id);
这句话大概可以解释为什么0t 1会被改成0t 1t。 |
|