码迷,mamicode.com
首页 > 其他好文 > 详细

AR8327 VLAN ID > 128 not working

时间:2017-03-23 20:40:04      阅读:517      评论:0      收藏:0      [点我收藏+]

标签:containe   html_   sof   defer   rgb   comm   idt   break   element   

AR8327 VLAN ID > 128 not working

Issue Description

swconfig could not set VLANID > 128

  1. $ swconfig dev switch0 vlan 100 set ports ‘0t 1‘ 
  2. ok 
  3. # swconfig dev switch0 vlan 4090 set ports ‘0t 1‘ 
  4. failed 

switch config

swconfig

  1. root@oakridge:/proc# swconfig  
  2. swconfig dev <dev> [port <port>|vlan <vlan>] (help|set <key> <value>|get <key>|load <config>|show) 
  3. root@oakridge:/proc# swconfig dev eth0 show 
  4. Global attributes: 
  5. enable_vlan: 1 
  6. max_frame_size: 1528 
  7. dump_arl: MAC: 78:4f:43:53:c5:e3 PORTMAP: 0x04 
  8. MAC: fc:ad:0f:06:9f:90 PORTMAP: 0x01 
  9. MAC: e4:a4:71:fb:49:10 PORTMAP: 0x04 
  10. MAC: f4:0f:24:2d:da:08 PORTMAP: 0x04 
  11. MAC: a4:f1:e8:8e:d9:ce PORTMAP: 0x04 
  12. MAC: f4:0f:24:28:cb:ba PORTMAP: 0x04 
  13. MAC: 00:ae:0c:2b:1c:ed PORTMAP: 0x04 
  14. MAC: e0:1c:41:e8:ff:80 PORTMAP: 0x04 
  15. MAC: e0:1c:41:e8:ff:86 PORTMAP: 0x04 
  16. MAC: a8:88:08:ea:ce:2b PORTMAP: 0x04 
  17. MAC: 00:ec:ac:ce:80:8c PORTMAP: 0x04 
  18. MAC: 98:e7:f4:96:80:1e PORTMAP: 0x04 
  19. MAC: 38:a4:ed:a1:db:aa PORTMAP: 0x04 
  20. MAC: 00:e0:4c:68:03:b7 PORTMAP: 0x04 
  21. MAC: 70:14:a6:cd:8a:c2 PORTMAP: 0x04 
  22. MAC: fc:ad:0f:06:a5:20 PORTMAP: 0x04 
  23.  
  24. igmp_snooping: ??? 
  25. Port 0
  26. mib: Port 0 MIB counters 
  27. RxBroad : 41 
  28. RxPause : 0 
  29. RxMulti : 35 
  30. RxFcsErr : 0 
  31. RxAlignErr : 0 
  32. RxRunt : 0 
  33. RxFragment : 0 
  34. Rx64Byte : 181 
  35. Rx128Byte : 263 
  36. Rx256Byte : 173 
  37. Rx512Byte : 7 
  38. Rx1024Byte : 0 
  39. Rx1518Byte : 0 
  40. RxMaxByte : 0 
  41. RxTooLong : 0 
  42. RxGoodByte : 73830 
  43. RxBadByte : 0 
  44. RxOverFlow : 0 
  45. Filtered : 30 
  46. TxBroad : 3373 
  47. TxPause : 0 
  48. TxMulti : 3821 
  49. TxUnderRun : 0 
  50. Tx64Byte : 0 
  51. Tx128Byte : 4875 
  52. Tx256Byte : 1551 
  53. Tx512Byte : 1105 
  54. Tx1024Byte : 159 
  55. Tx1518Byte : 21 
  56. TxMaxByte : 1 
  57. TxOverSize : 0 
  58. TxByte : 1233825 
  59. TxCollision : 0 
  60. TxAbortCol : 0 
  61. TxMultiCol : 0 
  62. TxSingleCol : 0 
  63. TxExcDefer : 0 
  64. TxDefer : 0 
  65. TxLateCol : 0 
  66.  
  67. pvid: 0 
  68. link: port:0 link:up speed:1000baseT full-duplex txflow rxflow  
  69. Port 1
  70. mib: Port 1 MIB counters 
  71. RxBroad : 0 
  72. RxPause : 0 
  73. RxMulti : 0 
  74. RxFcsErr : 0 
  75. RxAlignErr : 0 
  76. RxRunt : 0 
  77. RxFragment : 0 
  78. Rx64Byte : 0 
  79. Rx128Byte : 0 
  80. Rx256Byte : 0 
  81. Rx512Byte : 0 
  82. Rx1024Byte : 0 
  83. Rx1518Byte : 0 
  84. RxMaxByte : 0 
  85. RxTooLong : 0 
  86. RxGoodByte : 0 
  87. RxBadByte : 0 
  88. RxOverFlow : 0 
  89. Filtered : 0 
  90. TxBroad : 0 
  91. TxPause : 0 
  92. TxMulti : 0 
  93. TxUnderRun : 0 
  94. Tx64Byte : 0 
  95. Tx128Byte : 0 
  96. Tx256Byte : 0 
  97. Tx512Byte : 0 
  98. Tx1024Byte : 0 
  99. Tx1518Byte : 0 
  100. TxMaxByte : 0 
  101. TxOverSize : 0 
  102. TxByte : 0 
  103. TxCollision : 0 
  104. TxAbortCol : 0 
  105. TxMultiCol : 0 
  106. TxSingleCol : 0 
  107. TxExcDefer : 0 
  108. TxDefer : 0 
  109. TxLateCol : 0 
  110.  
  111. pvid: 1 
  112. link: port:1 link:down 
  113. Port 2
  114. mib: Port 2 MIB counters 
  115. RxBroad : 3376 
  116. RxPause : 0 
  117. RxMulti : 3824 
  118. RxFcsErr : 0 
  119. RxAlignErr : 0 
  120. RxRunt : 0 
  121. RxFragment : 0 
  122. Rx64Byte : 1545 
  123. Rx128Byte : 3340 
  124. Rx256Byte : 1592 
  125. Rx512Byte : 1065 
  126. Rx1024Byte : 156 
  127. Rx1518Byte : 22 
  128. RxMaxByte : 0 
  129. RxTooLong : 0 
  130. RxGoodByte : 1204383 
  131. RxBadByte : 0 
  132. RxOverFlow : 0 
  133. Filtered : 8 
  134. TxBroad : 36 
  135. TxPause : 0 
  136. TxMulti : 10 
  137. TxUnderRun : 0 
  138. Tx64Byte : 263 
  139. Tx128Byte : 159 
  140. Tx256Byte : 168 
  141. Tx512Byte : 4 
  142. Tx1024Byte : 0 
  143. Tx1518Byte : 0 
  144. TxMaxByte : 0 
  145. TxOverSize : 0 
  146. TxByte : 68312 
  147. TxCollision : 0 
  148. TxAbortCol : 0 
  149. TxMultiCol : 0 
  150. TxSingleCol : 0 
  151. TxExcDefer : 0 
  152. TxDefer : 0 
  153. TxLateCol : 0 
  154.  
  155. pvid: 2 
  156. link: port:2 link:up speed:1000baseT full-duplex auto 
  157. Port 3
  158. mib: Port 3 MIB counters 
  159. RxBroad : 0 
  160. RxPause : 0 
  161. RxMulti : 0 
  162. RxFcsErr : 0 
  163. RxAlignErr : 0 
  164. RxRunt : 0 
  165. RxFragment : 0 
  166. Rx64Byte : 0 
  167. Rx128Byte : 0 
  168. Rx256Byte : 0 
  169. Rx512Byte : 0 
  170. Rx1024Byte : 0 
  171. Rx1518Byte : 0 
  172. RxMaxByte : 0 
  173. RxTooLong : 0 
  174. RxGoodByte : 0 
  175. RxBadByte : 0 
  176. RxOverFlow : 0 
  177. Filtered : 0 
  178. TxBroad : 0 
  179. TxPause : 0 
  180. TxMulti : 0 
  181. TxUnderRun : 0 
  182. Tx64Byte : 0 
  183. Tx128Byte : 0 
  184. Tx256Byte : 0 
  185. Tx512Byte : 0 
  186. Tx1024Byte : 0 
  187. Tx1518Byte : 0 
  188. TxMaxByte : 0 
  189. TxOverSize : 0 
  190. TxByte : 0 
  191. TxCollision : 0 
  192. TxAbortCol : 0 
  193. TxMultiCol : 0 
  194. TxSingleCol : 0 
  195. TxExcDefer : 0 
  196. TxDefer : 0 
  197. TxLateCol : 0 
  198.  
  199. pvid: 0 
  200. link: port:3 link:down 
  201. Port 4
  202. mib: Port 4 MIB counters 
  203. RxBroad : 0 
  204. RxPause : 0 
  205. RxMulti : 0 
  206. RxFcsErr : 0 
  207. RxAlignErr : 0 
  208. RxRunt : 0 
  209. RxFragment : 0 
  210. Rx64Byte : 0 
  211. Rx128Byte : 0 
  212. Rx256Byte : 0 
  213. Rx512Byte : 0 
  214. Rx1024Byte : 0 
  215. Rx1518Byte : 0 
  216. RxMaxByte : 0 
  217. RxTooLong : 0 
  218. RxGoodByte : 0 
  219. RxBadByte : 0 
  220. RxOverFlow : 0 
  221. Filtered : 0 
  222. TxBroad : 0 
  223. TxPause : 0 
  224. TxMulti : 0 
  225. TxUnderRun : 0 
  226. Tx64Byte : 0 
  227. Tx128Byte : 0 
  228. Tx256Byte : 0 
  229. Tx512Byte : 0 
  230. Tx1024Byte : 0 
  231. Tx1518Byte : 0 
  232. TxMaxByte : 0 
  233. TxOverSize : 0 
  234. TxByte : 0 
  235. TxCollision : 0 
  236. TxAbortCol : 0 
  237. TxMultiCol : 0 
  238. TxSingleCol : 0 
  239. TxExcDefer : 0 
  240. TxDefer : 0 
  241. TxLateCol : 0 
  242.  
  243. pvid: 0 
  244. link: port:4 link:down 
  245. Port 5
  246. mib: Port 5 MIB counters 
  247. RxBroad : 0 
  248. RxPause : 0 
  249. RxMulti : 0 
  250. RxFcsErr : 0 
  251. RxAlignErr : 0 
  252. RxRunt : 0 
  253. RxFragment : 0 
  254. Rx64Byte : 0 
  255. Rx128Byte : 0 
  256. Rx256Byte : 0 
  257. Rx512Byte : 0 
  258. Rx1024Byte : 0 
  259. Rx1518Byte : 0 
  260. RxMaxByte : 0 
  261. RxTooLong : 0 
  262. RxGoodByte : 0 
  263. RxBadByte : 0 
  264. RxOverFlow : 0 
  265. Filtered : 0 
  266. TxBroad : 0 
  267. TxPause : 0 
  268. TxMulti : 0 
  269. TxUnderRun : 0 
  270. Tx64Byte : 0 
  271. Tx128Byte : 0 
  272. Tx256Byte : 0 
  273. Tx512Byte : 0 
  274. Tx1024Byte : 0 
  275. Tx1518Byte : 0 
  276. TxMaxByte : 0 
  277. TxOverSize : 0 
  278. TxByte : 0 
  279. TxCollision : 0 
  280. TxAbortCol : 0 
  281. TxMultiCol : 0 
  282. TxSingleCol : 0 
  283. TxExcDefer : 0 
  284. TxDefer : 0 
  285. TxLateCol : 0 
  286.  
  287. pvid: 0 
  288. link: port:5 link:down 
  289. Port 6
  290. mib: Port 6 MIB counters 
  291. RxBroad : 0 
  292. RxPause : 0 
  293. RxMulti : 0 
  294. RxFcsErr : 0 
  295. RxAlignErr : 0 
  296. RxRunt : 0 
  297. RxFragment : 0 
  298. Rx64Byte : 0 
  299. Rx128Byte : 0 
  300. Rx256Byte : 0 
  301. Rx512Byte : 0 
  302. Rx1024Byte : 0 
  303. Rx1518Byte : 0 
  304. RxMaxByte : 0 
  305. RxTooLong : 0 
  306. RxGoodByte : 0 
  307. RxBadByte : 0 
  308. RxOverFlow : 0 
  309. Filtered : 0 
  310. TxBroad : 0 
  311. TxPause : 0 
  312. TxMulti : 0 
  313. TxUnderRun : 0 
  314. Tx64Byte : 0 
  315. Tx128Byte : 0 
  316. Tx256Byte : 0 
  317. Tx512Byte : 0 
  318. Tx1024Byte : 0 
  319. Tx1518Byte : 0 
  320. TxMaxByte : 0 
  321. TxOverSize : 0 
  322. TxByte : 0 
  323. TxCollision : 0 
  324. TxAbortCol : 0 
  325. TxMultiCol : 0 
  326. TxSingleCol : 0 
  327. TxExcDefer : 0 
  328. TxDefer : 0 
  329. TxLateCol : 0 
  330.  
  331. pvid: 0 
  332. link: port:6 link:up speed:1000baseT full-duplex  
  333. VLAN 1
  334. vid: 1 
  335. ports: 0t 1  
  336. VLAN 2
  337. vid: 2 
  338. ports: 0t 2  
技术分享

Analysis

AR8327 driver locates kernel/drivers/net/phy/ar8216.c
in order to compatible to old AR8X16 device, max vlan id defined to 128.
give the patch here, in order to support VLANID > 128

  1. diff --git a/drivers/net/phy/ar8216.c b/drivers/net/phy/ar8216.c 
  2. index 864b778..3e8ceed 100755 
  3. --- a/drivers/net/phy/ar8216.c 
  4. +++ b/drivers/net/phy/ar8216.c 
  5. @@ -41,7 +41,12 @@ 
  6. #endif 
  7.  
  8. /* size of the vlan table */ 
  9. +#if OK_PATCH 
  10. +/* for AR8327 */ 
  11. +#define AR8X16_MAX_VLANS 4096 
  12. +#else /* !OK_PATCH */ 
  13. #define AR8X16_MAX_VLANS 128 
  14. +#endif /* OK_PATCH */ 
  15. #define AR8X16_PROBE_RETRIES 10 
  16. #define AR8X16_MAX_PORTS 8 

nicephil@gmail.com 2017-3-23

AR8327 VLAN ID > 128 not working

标签:containe   html_   sof   defer   rgb   comm   idt   break   element   

原文地址:http://www.cnblogs.com/nicephil/p/6606716.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!