|
发表于 2012-2-9 22:19:40
|
显示全部楼层
本帖最后由 chmjiong 于 2012-2-10 10:14 编辑
3 w6 o$ _- R0 O9 d7 M( ~, U4 M2 E7 k
已经查清楚为什么虚拟出的wan失效了,原来是openwrt的驱动只支持16个vlan,哪怕是truke版也没用,把wan的vlan改成2,立刻就连上了' t6 S. v4 X6 y
现在要修改ar8216的驱动了,头大了啊9 F0 F% a7 K' U- _" C, v0 [
$ R) e9 k! h1 D4 M+ i6 f, z
1 ~, a6 }, c2 d ?
更新:仔细研究了一下ar8216的源代码,有这样一行东西:6 U0 Y# n5 J( ]
298 static struct switch_attr ar8216_globals[] = { 9 C' t" K6 M6 s' a. i
299 { 3 g" t" d% p# n+ |) m }
300 .type = SWITCH_TYPE_INT,
' ~$ ~7 _/ E9 j) F* O) B6 B301 .name = "enable_vlan", 0 h) W1 ^$ {2 N) d6 u# a' G
302 .description = "Enable VLAN mode", 1 W Q# V1 R$ H+ Y, a8 a
303 .set = ar8216_set_vlan,
% ?- L+ }9 a v# \5 q304 .get = ar8216_get_vlan, $ [5 s- y) B. w& q! T
305 .max = 1
. {( l/ ^* L9 i+ A6 v. m306 }, % o# a+ {* n4 Y* C7 X" @
307 }; $ Q0 `1 c7 {' P
308
& S' b$ Y& ^# Q+ H; B& {, h/ {309 static struct switch_attr ar8216_port[] = {
- w4 i3 x' {$ I+ d" c e. `+ {310 };
+ R; C: ?; a) d; p8 t- P$ S5 [311 3 Z: L F+ d! c6 Z5 n+ A: x8 I
312 static struct switch_attr ar8216_vlan[] = {
9 M- o* ^: d. Y2 A5 H313 {
, A0 C' |7 \ k* V- [. r314 .type = SWITCH_TYPE_INT,
* [+ b4 V3 F* o1 k315 .name = "pvid", 2 i) z9 i p/ ~% h" i& ^2 |
316 .description = "VLAN ID",
. q: P9 k* z' ^4 t7 E( p317 .set = ar8216_set_vid, 2 |4 s7 g0 H+ u& @
318 .get = ar8216_get_vid,
4 G9 f: }/ u0 |6 t319 .max = 4094, ( u- r' G; `, W/ D. X
320 },
* j" E$ B6 k/ [0 H E那么是不是应该用“option pvid 1”来配置vlan,以启用硬件vlan标识呢???: Y6 ? M4 t/ A$ u/ }+ h+ `( g
源代码里显示,10.03版的驱动支持128个vlan,truke版的更是可以支持到255 |
|