1. 程式人生 > >RTK8370N報文上CPU處理流程梳理

RTK8370N報文上CPU處理流程梳理

一、報文上CPU目的

前提:由於原先裝置使用管理VLAN1來實現裝置管理,但是這樣實現的缺陷是大量二層資料報文會廣播到CPU上,對CPU的效能影響較大,所以我們希望使用ACL的方式進行處理上CPU報文。

      裝置上CPU報文的型別:

  1. 首先ARP廣播 報文會上CPU,我們需要進行處理
  2. 報文的目的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了,所以這個是我們 需要特別需要注意的。需要在軟體進行 判斷了。

五、分析總結

該項工作 暫時完成了,不過期間也為之花費了 比較多的精力,需要我們不斷去嘗試,由於缺少相關的文件資料。並且有點比較重要的是,如果在工作中遇到一些自己比較難以把握的東西,需要與相關技術人員進行溝通交流,這樣子可以加快自己的進度。