RTK8370N報文上CPU處理流程梳理
一、報文上CPU目的
前提:由於原先裝置使用管理VLAN1來實現裝置管理,但是這樣實現的缺陷是大量二層資料報文會廣播到CPU上,對CPU的效能影響較大,所以我們希望使用ACL的方式進行處理上CPU報文。
裝置上CPU報文的型別:
- 首先ARP廣播 報文會上CPU,我們需要進行處理
- 報文的目的MAC地址是裝置的也需要TRAP到CPU上進行處理
針對以上 兩種報文,我們可以使用ACL進行處理。此文不針對ACL進行分析,ACL的意思就是將符合條件的報文上送CPU,上送CPU方式可以有多種,如COPY-TO-CPU、TRAP-TO-CPU 等
二、CPU-TAG 的功能
CPU-TAG的 功能在這裡有 比較重要的作用,它可以告知我們報文是從哪個裝置 埠上來的,我們也可以插入CPU-TAG,告知ASIC 報文應該發往哪個埠。在傳送報文是需要新增這個CPU-TAG,CPU-TAG插入位置為報文源 MAC地址之後,VLAN-TAG之前。VLAN-TAG的作用是限制了報文的廣播域。
三、前期工作
由於在驗證CPU-TAG的功能上花費的 時間較多,並且在入口我們 始終未能發現 帶上CPU-TAG,但是幸運的 是報文的前8個位元組中有 我們需要的源埠號,故我們也 沒有在這裡折騰為啥沒有插入CPU-TAG了。
我們如何知道CPU-TAG的功能,當然需要相關晶片的 暫存器手冊以及晶片的datasheet手冊 了。我相信很多搞嵌入式的人員對這都不默認了。
四、遇到問題
在除錯過程中也出現了很多與我們預期不一樣的 效果,比如埠上的VLAN配置 對上CPU報文沒有作用,就是說本來 該埠不允許攜帶該VLAN-TAG的報文通過,但是他還是被上送CPU了,所以這個是我們 需要特別需要注意的。需要在軟體進行 判斷了。
五、分析總結
該項工作 暫時完成了,不過期間也為之花費了 比較多的精力,需要我們不斷去嘗試,由於缺少相關的文件資料。並且有點比較重要的是,如果在工作中遇到一些自己比較難以把握的東西,需要與相關技術人員進行溝通交流,這樣子可以加快自己的進度。