欧美在线观看视频网站,亚洲熟妇色自偷自拍另类,啪啪伊人网,中文字幕第13亚洲另类,中文成人久久久久影院免费观看 ,精品人妻人人做人人爽,亚洲a视频

一種網(wǎng)絡(luò)處理器及其數(shù)據(jù)處理方法

文檔序號:7918052閱讀:147來源:國知局
專利名稱:一種網(wǎng)絡(luò)處理器及其數(shù)據(jù)處理方法
技術(shù)領(lǐng)域
本發(fā)明涉及數(shù)據(jù)傳輸領(lǐng)域,具體的說涉及一種網(wǎng)絡(luò)處理器及其數(shù)據(jù)處 理方法。
背景技術(shù)
網(wǎng)絡(luò)處理器可以用來實現(xiàn)數(shù)據(jù)的轉(zhuǎn)發(fā)等處理,以NP-2 rev B型網(wǎng)絡(luò)處 理器為例,NP-2 rev B是一款網(wǎng)絡(luò)處理器芯片,可以提供10G雙向的數(shù)據(jù) 處理能力,擁有靈活的編程能力,開發(fā)人員可以通過編寫微碼來實現(xiàn)對數(shù) 據(jù)傳輸中各種業(yè)務(wù)的處理。它對數(shù)據(jù)包進行處理時一般分為4個階段 Parse (分析),Search (查找),Resolve (解決)和Modify (修改)。Parse 主要是對數(shù)據(jù)包進行分析,然后根據(jù)分析的結(jié)果構(gòu)造各種業(yè)務(wù)流程所需的 査找鍵值,最后將這些査找鍵值傳到Search進行查找,Parse階段不提供 表的査找功能。Search主要完成各種表的査找功能,并把最后的查找結(jié)果 送到Resolve。 Resolve主要對查找結(jié)果進行分析和處理,并把最后的處理 信息發(fā)送到Modify。 Modify接收Resolve的信息,并按照此信息對數(shù)據(jù)包 進行相應(yīng)的處理。網(wǎng)絡(luò)處理器如果要實現(xiàn)一些業(yè)務(wù)和功能,就會將這些業(yè)務(wù)和功能的相 關(guān)信息配置在端口上或VLAN (Virtual Local Area Network,虛擬局域網(wǎng)) 上,然后網(wǎng)絡(luò)處理器就可以根據(jù)這些配置信息對數(shù)據(jù)包進行相應(yīng)的處理。 但是,Parse階段只能對數(shù)據(jù)包本身進行分析,并不能夠得到端口或VLAN 上的配置信息,也就無法知道要實現(xiàn)哪些業(yè)務(wù)和功能,因此在Parse階段 需要構(gòu)造所有業(yè)務(wù)和功能所需的査找鍵值,即使有些査找鍵值在Search 階段是無用的,這就浪費了 Parse階段的有效指令,也使網(wǎng)絡(luò)處理器的處 理性能下降。發(fā)明內(nèi)容有鑒于此,本發(fā)明提供了一種網(wǎng)絡(luò)處理器及其數(shù)據(jù)處理方法,解決了在Parse階段因構(gòu)造無用查找鍵值而浪費有效指令的問題,從而可以提高 整個網(wǎng)絡(luò)處理器的數(shù)據(jù)轉(zhuǎn)發(fā)效率。為了解決上述技術(shù)問題,本發(fā)明采用了如下技術(shù)方案-一種網(wǎng)絡(luò)處理器中的數(shù)據(jù)處理方法,所述網(wǎng)絡(luò)處理器包括驅(qū)動模塊、 統(tǒng)計模塊和微碼模塊,所述數(shù)據(jù)處理包括對數(shù)據(jù)包進行分析的分析階段, 所述數(shù)據(jù)處理方法包含如下步驟A、 驅(qū)動模塊將網(wǎng)絡(luò)處理器的端口和VLAN中至少一者的配置信息寫 入統(tǒng)計模塊;B、 在所述分析階段,微碼模塊訪問統(tǒng)計模塊得到所述配置信息,根 據(jù)所述配置信息構(gòu)造查找鍵值。所述統(tǒng)計模塊包括至少一個計數(shù)器,所述計數(shù)器的類型至少包括 36bits、 54bits和72bits三種類型之一。在所述步驟A中,端口配置信息包括至少一條端口配置表項,每一條 端口配置表項對應(yīng)于一個端口的配置,驅(qū)動模塊將端口配置信息寫入統(tǒng)計 模塊按如下方式進行All、分配端口配置信息在統(tǒng)計模塊中存儲的起始地址;A12、將某一端口的端口號與端口配置信息的存儲起始地址相加得到所述端口在統(tǒng)計模塊中的存儲地址;A13、將所述端口對應(yīng)的端口配置表項寫入到統(tǒng)計模塊中地址為步驟A12中確定的端口存儲地址的計數(shù)器中;A14、重復(fù)步驟A12、 A13直至端口配置信息中所有端口對應(yīng)的端口 配置表項都寫入到統(tǒng)計模塊中。在所述步驟A中,VLAN配置信息包括至少一條VLAN配置表項, 每一條VLAN配置表項對應(yīng)于一個VLAN的配置,驅(qū)動模塊將VLAN配 置信息寫入統(tǒng)計模塊按如下方式進行A21 、分配VLAN配置信息在統(tǒng)計模塊中存儲的起始地址; A22、將某一 VLAN的ID與VLAN配置信息的存儲起始地址相加得 到所述VLAN在統(tǒng)計模塊中的存儲地址;A23、將所述VLAN對應(yīng)的VLAN配置表項寫入到統(tǒng)計模塊中地址為 步驟A22中確定的VLAN存儲地址的計數(shù)器中;A24、重復(fù)步驟A22、 A23直至VLAN配置信息中所有VLAN對應(yīng)的 VLAN配置表項都寫入到統(tǒng)計模塊中。本發(fā)明的數(shù)據(jù)處理方法,還包括在所述端口和VLAN中至少一者的配 置信息發(fā)生變化時,將所述配置信息中發(fā)生變化的部分更新到統(tǒng)計模塊中。本發(fā)明還公開了一種可進行數(shù)據(jù)處理的網(wǎng)絡(luò)處理器,所述網(wǎng)絡(luò)處理器 包括驅(qū)動模塊、統(tǒng)計模塊和微碼模塊,所述數(shù)據(jù)處理包括對數(shù)據(jù)包進行分 析的分析階段,其中-驅(qū)動模塊用于將網(wǎng)絡(luò)處理器的端口和VLAN中至少一者的配置信息 寫入統(tǒng)計模塊;微碼模塊用于在所述分析階段,訪問統(tǒng)計模塊得到所述配置信息,并 根據(jù)所述配置信息構(gòu)造査找鍵值。所述的網(wǎng)絡(luò)處理器的統(tǒng)計模塊包括至少一個計數(shù)器,所述計數(shù)器的類 型至少包括36bits、 54bits和72bits三種類型之一。對于端口配置信息,其包括至少一條端口配置表項,每一條端口配置 表項對應(yīng)于一個端口的配置。對于VLAN配置信息,其包括至少一條VLAN配置表項,每一條VLAN 配置表項對應(yīng)于一個VLAN的配置。本發(fā)明的網(wǎng)絡(luò)處理器,驅(qū)動模塊還用于在所述端口和VLAN中至少一 者的配置信息發(fā)生變化時,將所述配置信息中發(fā)生變化的部分更新到統(tǒng)計 模塊中。本發(fā)明通過將端口和/或VLAN配置信息寫入到統(tǒng)計模塊,微碼模塊利 用統(tǒng)計模塊中的這些配置信息來構(gòu)造査找鍵值,從而可以避免在Parse階 段為沒有配置的業(yè)務(wù)和功能構(gòu)造多余的查找鍵值,因而節(jié)省了指令,提高 了網(wǎng)絡(luò)處理器的數(shù)據(jù)轉(zhuǎn)發(fā)效率。


圖1是本發(fā)明具體實施方式
的數(shù)據(jù)處理方法的流程圖; 圖2是本發(fā)明具體實施方式
的網(wǎng)絡(luò)處理器的結(jié)構(gòu)示意圖。
具體實施方式
下面對照附圖并結(jié)合具體實施方式
對本發(fā)明作詳細說明。參見圖1和圖2,仍以NP-2 rev B網(wǎng)絡(luò)處理器為例,圖2顯示了本發(fā) 明具體實施方式
的網(wǎng)絡(luò)處理器進行數(shù)據(jù)處理時的主要模塊,應(yīng)當(dāng)了解,圖 2并不限制網(wǎng)絡(luò)處理器包括其他模塊的可能性。如圖2所示,網(wǎng)絡(luò)處理器 包括驅(qū)動模塊、統(tǒng)計模塊和微碼模塊,在本發(fā)明中,驅(qū)動模塊主要用于將 端口和/或VLAN的配置信息寫入到統(tǒng)計模塊。統(tǒng)計模塊主要用來實現(xiàn)計數(shù) 功能,它最多可以提供16兆個36bits的計數(shù)器,計數(shù)器可以有三種類型 36bits, 54bits和72bits。且計數(shù)器的地址與計數(shù)器中的內(nèi)容是一一對應(yīng) 的關(guān)系,利用計數(shù)器,可以存儲驅(qū)動模塊寫入的端口或VLAN配置信息。微 碼模塊主要實現(xiàn)讀取統(tǒng)計模塊中的端口或VLAN配置信息,利用配置信息進 行査找鍵值的構(gòu)造。對于端口或VLAN配置信息,其以表的形式存在,端口表或者VLAN表 都可以包括多條表項,例如對于端口表,稱其表項為端口配置表項,每一 條端口配置表項對應(yīng)于一個端口的配置。同樣的,VLAN表的表項稱為VL認 配置表項,每一條VLAN配置表項對應(yīng)于一個VLAN的配置。對于表項在統(tǒng) 計模塊中的存儲,可以根據(jù)表項的大小來選擇合適的計數(shù)器類型。例如對于端口表的構(gòu)造,如果表項大小為32bits,那么就可以選擇 36bits這種類型的計數(shù)器來存儲。對于VLAN表的構(gòu)造,如果表項大小為 64bits,那么就可以選擇72bits這種類型的計數(shù)器來存儲。為了避免存儲 沖突,可以為端口表和VLAN表劃分獨立的存儲空間,只需將它們在統(tǒng)計模 塊中的存儲位置設(shè)置不同即可。在此可以將端口表在統(tǒng)計模塊中的起始地 址分配為X,將VLAN表在統(tǒng)計模塊中的起始地址分配為M,當(dāng)然X和M都 不能超出統(tǒng)計模塊的范圍,端口表和VLAN表在統(tǒng)計模塊中不能有重疊部 分,并且端口表和VLAN表的最后一個表項的地址也不能超出統(tǒng)計模塊的范 圍。在劃分好端口表和VLAN表的存儲空間后,可以得到兩個參數(shù)各個表 的起始地址和各個表中表項的數(shù)目。其中表的起始地址就是該表的第一個 表項需要寫在統(tǒng)計模塊中的地址,表項的數(shù)目就是這個表中所有表項的總 數(shù)。此后,網(wǎng)絡(luò)處理器的驅(qū)動模塊會將端口和VLAN上的配置信息寫到統(tǒng)計 模塊中。在寫端口表的時候,首先得到端口表在統(tǒng)計模塊中的起始地址x,假定某一端口的端口號為Yl,將該端口的端口號Yl與端口表的起始地址X 相加得到地址Z1,然后將該端口的配置信息寫到統(tǒng)計模塊中地址為Zl的 計數(shù)器中。按照上面的方法可以將所有端口的配置信息都寫到統(tǒng)計模塊中。在寫VLAN表的時候,首先得到VLAN表在統(tǒng)計模塊中的起始地址M, 將某一VLAN的ID (Identity)與VLAN表的起始地址M相加得到地址Nl, 然后將該VLAN的配置信息寫到統(tǒng)計模塊中地址為N1的計數(shù)器中。按照上 面的方法可以將所有VLAN的配置信息都寫到統(tǒng)計模塊中。當(dāng)端口或VLAN 上的配置有變化時,網(wǎng)絡(luò)處理器的驅(qū)動模塊會監(jiān)測到,并會把相應(yīng)的更改 按照上面的方法更新到統(tǒng)計模塊中。本發(fā)明具體實施方式
的數(shù)據(jù)處理方法的流程如圖l所示,包括如下步驟步驟SO ,對端口和VLAN進行配置;步驟SI ,在統(tǒng)計模塊中為端口表和VLAN表劃分各自的存儲空間; 步驟S2,將端口表的所有表項寫到統(tǒng)計模塊中; 步驟S3,將VLAN表的所有表項寫到統(tǒng)計模塊中;如果端口或VLAN上 的配置有所變化就執(zhí)行步驟S4,如果配置沒有變化就執(zhí)行步驟S5; 步驟S4,將有變化的表項更新到統(tǒng)計模塊中;步驟S5,分析數(shù)據(jù)包,訪問統(tǒng)計模塊并得到端口和VLAN上的配置信息;步驟S6,根據(jù)端口和VLAN上的配置信息構(gòu)造相應(yīng)的査找鍵值。在本發(fā)明中,首先根據(jù)功能和業(yè)務(wù)的需求對端口和VLAN進行配置,例 如可以在端口上配置VPLS (Virtual Private LAN Service)業(yè)務(wù),在VLAN 上配置VLAN翻譯功能等。為了能夠提高Parse階段的數(shù)據(jù)處理效率,則需 要將這些端口和VLAN的配置信息寫入到統(tǒng)計模塊中,首先為端口表和VLAN 表在統(tǒng)計模塊中分配存儲空間,然后將配置信息按照確定的存儲地址寫入 到統(tǒng)計模塊中。此后,微碼模塊對進入網(wǎng)絡(luò)處理器的數(shù)據(jù)包進行解析,解析后可以獲 得該包的入端口號以及VLAN ID等信息,對于端口配置信息,通過將端口 表在統(tǒng)計模塊中的起始地址X與端口號相加,得到統(tǒng)計模塊的訪問地址,通過讀取該地址所對應(yīng)計數(shù)器中的內(nèi)容,就可以得到了該端口上所配置的 信息了。
對于VLAN配置信息,使用VLAN表在統(tǒng)計模塊中的起始地址M加上VL認 ID,得到統(tǒng)計模塊的訪問地址,通過讀取該地址所對應(yīng)計數(shù)器中的內(nèi)容, 也就得到了該VL認上所配置的信息了 。
得到端口和VLAN上的配置信息后,微碼模塊就可以根據(jù)這些配置信息 構(gòu)造各種業(yè)務(wù)和功能所需的査找鍵值了 。
本發(fā)明通過在NP-2 rev B的Parse階段,利用訪問統(tǒng)計模塊來實現(xiàn)端 口表和VLAN表的査找,然后根據(jù)查表得到的配置信息再去構(gòu)造相應(yīng)的查找 鍵值,解決了因構(gòu)造無用査找鍵值而浪費有效指令的問題,從而提高了網(wǎng) 絡(luò)處理器的數(shù)據(jù)處理能力。
應(yīng)當(dāng)理解的是,上述具體實施例的描述較為詳細,不能因此而理解為 對本發(fā)明專利保護范圍的限制,本發(fā)明專利保護范圍應(yīng)以所附權(quán)利要求為 準。
權(quán)利要求
1.一種網(wǎng)絡(luò)處理器中的數(shù)據(jù)處理方法,其特征在于,所述網(wǎng)絡(luò)處理器包括驅(qū)動模塊、統(tǒng)計模塊和微碼模塊,所述數(shù)據(jù)處理包括對數(shù)據(jù)包進行分析的分析階段,所述數(shù)據(jù)處理方法包含如下步驟A、驅(qū)動模塊將網(wǎng)絡(luò)處理器的端口和VLAN中至少一者的配置信息寫入統(tǒng)計模塊;B、在所述分析階段,微碼模塊訪問統(tǒng)計模塊得到所述配置信息,根據(jù)所述配置信息構(gòu)造查找鍵值。
2. 如權(quán)利要求1所述的數(shù)據(jù)處理方法,其特征在于,所述統(tǒng)計模塊包 括至少一個計數(shù)器,所述計數(shù)器的類型至少包括36bits、 54bits和72bits三種類型之一。
3. 如權(quán)利要求2所述的數(shù)據(jù)處理方法,其特征在于,在所述步驟A中, 端口配置信息包括至少一條端口配置表項,每一條端口配置表項對應(yīng)于一 個端口的配置,驅(qū)動模塊將端口配置信息寫入統(tǒng)計模塊按如下方式進行All、分配端口配置信息在統(tǒng)計模塊中存儲的起始地址;A12、將某一端口的端口號與端口配置信息的存儲起始地址相加得到所述端口在統(tǒng)計模塊中的存儲地址;A13、將所述端口對應(yīng)的端口配置表項寫入到統(tǒng)計模塊中地址為步驟A12中確定的端口存儲地址的計數(shù)器中;A14、重復(fù)步驟A12、 A13直至端口配置信息中所有端口對應(yīng)的端口 配置表項都寫入到統(tǒng)計模塊中。
4. 如權(quán)利要求2所述的數(shù)據(jù)處理方法,其特征在于,在所述步驟A中, VLAN配置信息包括至少一條VLAN配置表項,每一條VLAN配置表項 對應(yīng)于一個VLAN的配置,驅(qū)動模塊將VLAN配置信息寫入統(tǒng)計模塊按 如下方式進行A21、分配VLAN配置信息在統(tǒng)計模塊中存儲的起始地址;A22、將某一 VLAN的ID與VLAN配置信息的存儲起始地址相加得 到所述VLAN在統(tǒng)計模塊中的存儲地址;A23、將所述VLAN對應(yīng)的VLAN配置表項寫入到統(tǒng)計模塊中地址為步驟A22中確定的VLAN存儲地址的計數(shù)器中;A24、重復(fù)步驟A22、 A23直至VLAN配置信息中所有VLAN對應(yīng)的 VLAN配置表項都寫入到統(tǒng)計模塊中。
5. 如權(quán)利要求1至4任一所述的數(shù)據(jù)處理方法,其特征在于,還包括 在所述端口和VLAN中至少一者的配置信息發(fā)生變化時,將所述配置信息 中發(fā)生變化的部分更新到統(tǒng)計模塊中。
6. —種可進行數(shù)據(jù)處理的網(wǎng)絡(luò)處理器,其特征在于,所述網(wǎng)絡(luò)處理器 包括驅(qū)動模塊、統(tǒng)計模塊和微碼模塊,所述數(shù)據(jù)處理包括對數(shù)據(jù)包進行分 析的分析階段,其中-驅(qū)動模塊用于將網(wǎng)絡(luò)處理器的端口和VLAN中至少一者的配置信息 寫入統(tǒng)計模塊;微碼模塊用于在所述分析階段,訪問統(tǒng)計模塊得到所述配置信息,并 根據(jù)所述配置信息構(gòu)造査找鍵值。
7. 如權(quán)利要求6所述的網(wǎng)絡(luò)處理器,其特征在于,所述統(tǒng)計模塊包括 至少一個計數(shù)器,所述計數(shù)器的類型至少包括36bits、 54bits和72bits三種類型之一。
8. 如權(quán)利要求7所述的網(wǎng)絡(luò)處理器,其特征在于,所述端口配置信息 包括至少一條端口配置表項,每一條端口配置表項對應(yīng)于一個端口的配置。
9. 如權(quán)利要求7所述的網(wǎng)絡(luò)處理器,其特征在于,所述VLAN配置 信息包括至少一條VLAN配置表項,每一條VLAN配置表項對應(yīng)于一個 VLAN的配置。
10. 如權(quán)利要求6至9任一所述的網(wǎng)絡(luò)處理器,其特征在于,所述驅(qū) 動模塊還用于在所述端口和VLAN中至少一者的配置信息發(fā)生變化時,將 所述配置信息中發(fā)生變化的部分更新到統(tǒng)計模塊中。
全文摘要
本發(fā)明公開了一種網(wǎng)絡(luò)處理器及其數(shù)據(jù)處理方法,所述網(wǎng)絡(luò)處理器包括驅(qū)動模塊、統(tǒng)計模塊和微碼模塊,所述數(shù)據(jù)處理包括對數(shù)據(jù)包進行分析的分析階段,所述數(shù)據(jù)處理方法包含如下步驟A.驅(qū)動模塊將網(wǎng)絡(luò)處理器的端口和VLAN中至少一者的配置信息寫入統(tǒng)計模塊;B.在所述分析階段,微碼模塊訪問統(tǒng)計模塊得到所述配置信息,根據(jù)所述配置信息構(gòu)造查找鍵值。本發(fā)明通過將端口和/或VLAN配置信息寫入到統(tǒng)計模塊,微碼模塊利用統(tǒng)計模塊中的這些配置信息來構(gòu)造查找鍵值,從而可以避免在Parse階段為沒有配置的業(yè)務(wù)和功能構(gòu)造多余的查找鍵值,因而節(jié)省了指令,提高了網(wǎng)絡(luò)處理器的數(shù)據(jù)轉(zhuǎn)發(fā)效率。
文檔編號H04L12/46GK101335737SQ20081014224
公開日2008年12月31日 申請日期2008年8月5日 優(yōu)先權(quán)日2008年8月5日
發(fā)明者陳世猛 申請人:中興通訊股份有限公司
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1
商南县| 甘孜县| 崇礼县| 莫力| 五莲县| 宁远县| 新龙县| 多伦县| 志丹县| 乐平市| 盐池县| 北安市| 泸州市| 镇赉县| 常德市| 余庆县| 中西区| 丹凤县| 谷城县| 康乐县| 兰州市| 璧山县| 威海市| 米林县| 嘉定区| 甘南县| 定西市| 新泰市| 普宁市| 永平县| 天镇县| 平泉县| 尼木县| 曲水县| 斗六市| 东源县| 吴忠市| 华宁县| 石河子市| 十堰市| 工布江达县|