AR8327 VLAN ID > 128 not working

AR8327 VLAN ID > 128 not working

openwrt

  • Issue Description

      • switch config
      • swconfig
  • Analysis

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. [email protected]:/proc# swconfig


  2. swconfig dev <dev> [port <port>|vlan <vlan>] (help|set <key> <value>|get <key>|load <config>|show) 

  3. [email protected]:/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. igmp_snooping: ??? 

  24. Port 0: 

  25. mib: Port 0 MIB counters 

  26. RxBroad : 41 

  27. RxPause : 0 

  28. RxMulti : 35 

  29. RxFcsErr : 0 

  30. RxAlignErr : 0 

  31. RxRunt : 0 

  32. RxFragment : 0 

  33. Rx64Byte : 181 

  34. Rx128Byte : 263 

  35. Rx256Byte : 173 

  36. Rx512Byte : 7 

  37. Rx1024Byte : 0 

  38. Rx1518Byte : 0 

  39. RxMaxByte : 0 

  40. RxTooLong : 0 

  41. RxGoodByte : 73830 

  42. RxBadByte : 0 

  43. RxOverFlow : 0 

  44. Filtered : 30 

  45. TxBroad : 3373 

  46. TxPause : 0 

  47. TxMulti : 3821 

  48. TxUnderRun : 0 

  49. Tx64Byte : 0 

  50. Tx128Byte : 4875 

  51. Tx256Byte : 1551 

  52. Tx512Byte : 1105 

  53. Tx1024Byte : 159 

  54. Tx1518Byte : 21 

  55. TxMaxByte : 1 

  56. TxOverSize : 0 

  57. TxByte : 1233825 

  58. TxCollision : 0 

  59. TxAbortCol : 0 

  60. TxMultiCol : 0 

  61. TxSingleCol : 0 

  62. TxExcDefer : 0 

  63. TxDefer : 0 

  64. TxLateCol : 0 


  65. pvid: 0 

  66. link: port:0 link:up speed:1000baseT full-duplex txflow rxflow  

  67. Port 1: 

  68. mib: Port 1 MIB counters 

  69. RxBroad : 0 

  70. RxPause : 0 

  71. RxMulti : 0 

  72. RxFcsErr : 0 

  73. RxAlignErr : 0 

  74. RxRunt : 0 

  75. RxFragment : 0 

  76. Rx64Byte : 0 

  77. Rx128Byte : 0 

  78. Rx256Byte : 0 

  79. Rx512Byte : 0 

  80. Rx1024Byte : 0 

  81. Rx1518Byte : 0 

  82. RxMaxByte : 0 

  83. RxTooLong : 0 

  84. RxGoodByte : 0 

  85. RxBadByte : 0 

  86. RxOverFlow : 0 

  87. Filtered : 0 

  88. TxBroad : 0 

  89. TxPause : 0 

  90. TxMulti : 0 

  91. TxUnderRun : 0 

  92. Tx64Byte : 0 

  93. Tx128Byte : 0 

  94. Tx256Byte : 0 

  95. Tx512Byte : 0 

  96. Tx1024Byte : 0 

  97. Tx1518Byte : 0 

  98. TxMaxByte : 0 

  99. TxOverSize : 0 

  100. TxByte : 0 

  101. TxCollision : 0 

  102. TxAbortCol : 0 

  103. TxMultiCol : 0 

  104. TxSingleCol : 0 

  105. TxExcDefer : 0 

  106. TxDefer : 0 

  107. TxLateCol : 0 


  108. pvid: 1 

  109. link: port:1 link:down 

  110. Port 2: 

  111. mib: Port 2 MIB counters 

  112. RxBroad : 3376 

  113. RxPause : 0 

  114. RxMulti : 3824 

  115. RxFcsErr : 0 

  116. RxAlignErr : 0 

  117. RxRunt : 0 

  118. RxFragment : 0 

  119. Rx64Byte : 1545 

  120. Rx128Byte : 3340 

  121. Rx256Byte : 1592 

  122. Rx512Byte : 1065 

  123. Rx1024Byte : 156 

  124. Rx1518Byte : 22 

  125. RxMaxByte : 0 

  126. RxTooLong : 0 

  127. RxGoodByte : 1204383 

  128. RxBadByte : 0 

  129. RxOverFlow : 0 

  130. Filtered : 8 

  131. TxBroad : 36 

  132. TxPause : 0 

  133. TxMulti : 10 

  134. TxUnderRun : 0 

  135. Tx64Byte : 263 

  136. Tx128Byte : 159 

  137. Tx256Byte : 168 

  138. Tx512Byte : 4 

  139. Tx1024Byte : 0 

  140. Tx1518Byte : 0 

  141. TxMaxByte : 0 

  142. TxOverSize : 0 

  143. TxByte : 68312 

  144. TxCollision : 0 

  145. TxAbortCol : 0 

  146. TxMultiCol : 0 

  147. TxSingleCol : 0 

  148. TxExcDefer : 0 

  149. TxDefer : 0 

  150. TxLateCol : 0 


  151. pvid: 2 

  152. link: port:2 link:up speed:1000baseT full-duplex auto 

  153. Port 3: 

  154. mib: Port 3 MIB counters 

  155. RxBroad : 0 

  156. RxPause : 0 

  157. RxMulti : 0 

  158. RxFcsErr : 0 

  159. RxAlignErr : 0 

  160. RxRunt : 0 

  161. RxFragment : 0 

  162. Rx64Byte : 0 

  163. Rx128Byte : 0 

  164. Rx256Byte : 0 

  165. Rx512Byte : 0 

  166. Rx1024Byte : 0 

  167. Rx1518Byte : 0 

  168. RxMaxByte : 0 

  169. RxTooLong : 0 

  170. RxGoodByte : 0 

  171. RxBadByte : 0 

  172. RxOverFlow : 0 

  173. Filtered : 0 

  174. TxBroad : 0 

  175. TxPause : 0 

  176. TxMulti : 0 

  177. TxUnderRun : 0 

  178. Tx64Byte : 0 

  179. Tx128Byte : 0 

  180. Tx256Byte : 0 

  181. Tx512Byte : 0 

  182. Tx1024Byte : 0 

  183. Tx1518Byte : 0 

  184. TxMaxByte : 0 

  185. TxOverSize : 0 

  186. TxByte : 0 

  187. TxCollision : 0 

  188. TxAbortCol : 0 

  189. TxMultiCol : 0 

  190. TxSingleCol : 0 

  191. TxExcDefer : 0 

  192. TxDefer : 0 

  193. TxLateCol : 0 


  194. pvid: 0 

  195. link: port:3 link:down 

  196. Port 4: 

  197. mib: Port 4 MIB counters 

  198. RxBroad : 0 

  199. RxPause : 0 

  200. RxMulti : 0 

  201. RxFcsErr : 0 

  202. RxAlignErr : 0 

  203. RxRunt : 0 

  204. RxFragment : 0 

  205. Rx64Byte : 0 

  206. Rx128Byte : 0 

  207. Rx256Byte : 0 

  208. Rx512Byte : 0 

  209. Rx1024Byte : 0 

  210. Rx1518Byte : 0 

  211. RxMaxByte : 0 

  212. RxTooLong : 0 

  213. RxGoodByte : 0 

  214. RxBadByte : 0 

  215. RxOverFlow : 0 

  216. Filtered : 0 

  217. TxBroad : 0 

  218. TxPause : 0 

  219. TxMulti : 0 

  220. TxUnderRun : 0 

  221. Tx64Byte : 0 

  222. Tx128Byte : 0 

  223. Tx256Byte : 0 

  224. Tx512Byte : 0 

  225. Tx1024Byte : 0 

  226. Tx1518Byte : 0 

  227. TxMaxByte : 0 

  228. TxOverSize : 0 

  229. TxByte : 0 

  230. TxCollision : 0 

  231. TxAbortCol : 0 

  232. TxMultiCol : 0 

  233. TxSingleCol : 0 

  234. TxExcDefer : 0 

  235. TxDefer : 0 

  236. TxLateCol : 0 


  237. pvid: 0 

  238. link: port:4 link:down 

  239. Port 5: 

  240. mib: Port 5 MIB counters 

  241. RxBroad : 0 

  242. RxPause : 0 

  243. RxMulti : 0 

  244. RxFcsErr : 0 

  245. RxAlignErr : 0 

  246. RxRunt : 0 

  247. RxFragment : 0 

  248. Rx64Byte : 0 

  249. Rx128Byte : 0 

  250. Rx256Byte : 0 

  251. Rx512Byte : 0 

  252. Rx1024Byte : 0 

  253. Rx1518Byte : 0 

  254. RxMaxByte : 0 

  255. RxTooLong : 0 

  256. RxGoodByte : 0 

  257. RxBadByte : 0 

  258. RxOverFlow : 0 

  259. Filtered : 0 

  260. TxBroad : 0 

  261. TxPause : 0 

  262. TxMulti : 0 

  263. TxUnderRun : 0 

  264. Tx64Byte : 0 

  265. Tx128Byte : 0 

  266. Tx256Byte : 0 

  267. Tx512Byte : 0 

  268. Tx1024Byte : 0 

  269. Tx1518Byte : 0 

  270. TxMaxByte : 0 

  271. TxOverSize : 0 

  272. TxByte : 0 

  273. TxCollision : 0 

  274. TxAbortCol : 0 

  275. TxMultiCol : 0 

  276. TxSingleCol : 0 

  277. TxExcDefer : 0 

  278. TxDefer : 0 

  279. TxLateCol : 0 


  280. pvid: 0 

  281. link: port:5 link:down 

  282. Port 6: 

  283. mib: Port 6 MIB counters 

  284. RxBroad : 0 

  285. RxPause : 0 

  286. RxMulti : 0 

  287. RxFcsErr : 0 

  288. RxAlignErr : 0 

  289. RxRunt : 0 

  290. RxFragment : 0 

  291. Rx64Byte : 0 

  292. Rx128Byte : 0 

  293. Rx256Byte : 0 

  294. Rx512Byte : 0 

  295. Rx1024Byte : 0 

  296. Rx1518Byte : 0 

  297. RxMaxByte : 0 

  298. RxTooLong : 0 

  299. RxGoodByte : 0 

  300. RxBadByte : 0 

  301. RxOverFlow : 0 

  302. Filtered : 0 

  303. TxBroad : 0 

  304. TxPause : 0 

  305. TxMulti : 0 

  306. TxUnderRun : 0 

  307. Tx64Byte : 0 

  308. Tx128Byte : 0 

  309. Tx256Byte : 0 

  310. Tx512Byte : 0 

  311. Tx1024Byte : 0 

  312. Tx1518Byte : 0 

  313. TxMaxByte : 0 

  314. TxOverSize : 0 

  315. TxByte : 0 

  316. TxCollision : 0 

  317. TxAbortCol : 0 

  318. TxMultiCol : 0 

  319. TxSingleCol : 0 

  320. TxExcDefer : 0 

  321. TxDefer : 0 

  322. TxLateCol : 0 


  323. pvid: 0 

  324. link: port:6 link:up speed:1000baseT full-duplex  

  325. VLAN 1: 

  326. vid: 1 

  327. ports: 0t 1  

  328. VLAN 2: 

  329. vid: 2 

  330. 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. /* size of the vlan table */ 

  8. +#if OK_PATCH 

  9. +/* for AR8327 */ 

  10. +#define AR8X16_MAX_VLANS 4096 

  11. +#else /* !OK_PATCH */ 

  12. #define AR8X16_MAX_VLANS 128 

  13. +#endif /* OK_PATCH */ 

  14. #define AR8X16_PROBE_RETRIES 10 

  15. #define AR8X16_MAX_PORTS 8 



[email protected] 2017-3-23

128 not working,mamicode.com" style="color:#ffffff" target="_blank">AR8327 VLAN ID > 128 not working

时间: 2024-08-07 15:16:02

AR8327 VLAN ID > 128 not working的相关文章

Cisco UCS环境中CentOS带Vlan ID的网络配置指南

最近新进了一批Cisco UCS C系列服务器,经过两周的部署安装终于可以进行测试了.本文简要介绍一下cisco UCS服务器中操作系统(CentOS 6)的网络配置.可以简单的认为,本文描述的是一台物理服务器用网线将网卡连接到上层交换机的trunk模式的端口中的网络配置. 物理连接拓扑图如下所示. 顶层采用Cisco C3560物理交换机,为整个机群提供Internet连接.Vlan划分为两个,一个管理Vlan一个应用Vlan,Vlan ID分别为4和31,上联端口全部设置为trunk模式.

交换机应用之端口模式(access、trunk和hybird)、是否标记(tag、untag)、端口缺省vlan(pvid、native id)

一.概述 打不打标记Tag,untag以及交换机的各种端口模式是网络工程技术人员调试交换机时接触最多的概念了.标记tag就是指VLAN的标签,数据包属于哪个VLAN的.交换机三种端口模式Access vlan.Trunk vlan和Hybrid vlan三种,即以太网端口有三种链路类型:Access.Hybrid和Trunk.在Trunk和Hybird模式下,存在端口缺省vlan的概念(pvid.native vlan id). 二.打不打标记(Tag,untag) tag是指vlan的标签,即

centos6.6配置vlan三层交换

编辑配置 /sbin/service network restart /sbin/ip link add link eth0 name vlan2 type vlan id 2 /sbin/ip link add link eth0 name vlan3 type vlan id 3 /sbin/ip link add link eth0 name vlan4 type vlan id 4 /sbin/ip link add link eth0 name vlan5 type vlan id 5

思科2960trunk vlan配置及路由IP配置

en conf t vlan id end conf t inter rang gi 0/0/1-x switchport access vlan id no shutdown exit (config)#interface range gigabitEthernet 1/0/23-24 (config-if-range)#switchport mode trunk (config-if-range)#switchport trunk allowed vlan all (config-if-ra

使用ESNP完成SDN技术静态方式VXLAN实现同子网(不同VLAN)的通信

1.SDN线路 2006年斯坦福大学发布 OpenFlow,网络设备转发和控制面分离,通过集中的控制面实现网络流量的灵活控制华为数据中心SDN的核心特征是适度的转控分离结合之外, 通过管理与控制分离, 实现网络业务自动化发放, 助力数据中心业务实现敏捷发放. 当下的SDN商业产品 您可以看到思科.华为等传统网络产品大佬依旧走着"一条道走到黑"的路子,即自有控制器+自由硬件转发设备+VXLAN的路子.但请注意,"大佬决定历史" 2.华为SDN的控制器和Vxlan 华为

实现不同vlan间的相互通信方法一:单臂路由

实现不同vlan间的相互通信方法一:单臂路由   一.试验目的:通过单臂路由实现VLAN间的通信 二.使用工具:GNS3模拟器,SecureCRT,其中PC1和PC2用Route模拟 三.实验拓扑: 四.具体步骤 1.设置PC1的IP:192.168.1.1 /24 网关:192.168.1.254 最后通过show ip inter brief进行验证 2.设置PC2的IP:192.168.2.1 /24 网关:192.168.2.254 最后通过show ip inter brief进行验证

VLAN之access,trunk,hybrid三种模式区别

tag报文结构是在源mac地址和目的mac地址之后,加上了4bytes的vlan信息,普通的PC网卡是不能识别 的. Access端口只属于1个VLAN,一般用于连接计算机端口. Trunk类型的端口可用于多VLAN通信. Hybrid类型的端口允许多VLAN通过,可以接收发送多VLAN报文,可用于交换机与交换机的连接,也可用于交换机和计算机的连接. Hybrid类型的端口和trunk端口在处理数据包时,方法是一样的.唯一不同之处在于发送数据包时,hybrid端口可以允许多个VLAN的数据包发送

交换机VLAN研究

这两天在研究openWRT的网络接口问题,涉及到了交换机的一些概念,主要是跟VLAN相关的,在此总结一下. VLAN在802.11Q中定义,802.11Q帧格式如下图所示: 交换机示意图如下图所示: 交换机的端口有三种类型,access,trunk,hybrid(其实应该还有一种模式,透传模式,在此不做研究). access端口用于连接终端设备,比如电脑,因为终端设备是无法处理802.1Q数据帧的,因此进出access端口的报文都必须是没有vlan标记的(其实进入access端口的报文好像也可以

VLAN(虚拟局域网)

VLAN VLAN:虚拟局域网 作用:隔离广播域 原理:将一个物理上的局域网逻辑上划分成若干个虚拟的局域网技术,即是将若干终端划分到不同的"区域"内,实现隔离 特点: -不同的VLAN不能直接通信 -一个VLAN=一个广播域=一个IP网络 -广播帧不能穿越VLAN -VLAN技术针对于终端而言是透明的,将交换机的端口划分到某个VLAN内,从而实现其连接的终端被划分到某个VLAN内 *终端不能识别任何带有VLAN信息的数据 -使用VLAN ID来区分不同的VLAN -划分VLAN的依据比