一種協(xié)議報(bào)文上送cpu的芯片實(shí)現(xiàn)方法
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及一種協(xié)議報(bào)文的芯片處理技術(shù),尤其涉及一種協(xié)議報(bào)文上送CPU的芯片實(shí)現(xiàn)方法。
【背景技術(shù)】
[0002]報(bào)文是網(wǎng)絡(luò)中交換與傳輸?shù)臄?shù)據(jù)單元,其中包含了將要發(fā)送的完整的數(shù)據(jù)信息,同時(shí),報(bào)文也是網(wǎng)絡(luò)傳輸?shù)膯挝?,傳輸過(guò)程中會(huì)不斷的封裝成分組、包或幀來(lái)傳輸?;ヂ?lián)網(wǎng)業(yè)務(wù)的多樣化和差異化要求網(wǎng)絡(luò)設(shè)備能夠根據(jù)網(wǎng)絡(luò)中報(bào)文的相關(guān)信息對(duì)報(bào)文進(jìn)行差異化處理,針對(duì)不同類別的報(bào)文采取不同的操作。
[0003]在現(xiàn)有的系統(tǒng)中,CPU資源是有限的,大量異常報(bào)文上送CPU處理,占用CPU資源,導(dǎo)致CPU負(fù)荷過(guò)重。在以太網(wǎng)交換機(jī)中,大部分的數(shù)據(jù)報(bào)文是通過(guò)專用芯片轉(zhuǎn)發(fā)的,不需要CPU進(jìn)行處理,而網(wǎng)絡(luò)中的各種協(xié)議報(bào)文則是需要經(jīng)過(guò)專用芯片傳輸?shù)较到y(tǒng)內(nèi)存中,使CPU能夠訪問(wèn)并對(duì)協(xié)議報(bào)文進(jìn)行處理。
[0004]因此,現(xiàn)有網(wǎng)絡(luò)芯片識(shí)別上層協(xié)議,往往使用解析模塊,然后基于解析出來(lái)的協(xié)議種類,置上(PU的動(dòng)作。
[0005]上層協(xié)議的識(shí)別,一般利用每個(gè)協(xié)議層中的協(xié)議域中包含的協(xié)議ID來(lái)表示更高一層的報(bào)文類型。例如,IP頭中的協(xié)議域?yàn)?7,表示高層協(xié)議為UDP(User DatagramProtocol,用戶數(shù)據(jù)協(xié)議);IP頭中的協(xié)議域?yàn)?,表示高層協(xié)議為T(mén)CP(Transmiss1nControl Protocol,傳輸控制協(xié)議);IP頭中的協(xié)議域?yàn)镮,表不ICMP(Internet ControlMessage Protocol,Internet控制報(bào)文協(xié)議)c^TCP和UDP包內(nèi)的應(yīng)用程協(xié)議的類型依靠的是TCP和UDP包首部的端口號(hào)來(lái)進(jìn)行區(qū)分。
[0006]但是當(dāng)遇到特殊報(bào)文時(shí),標(biāo)準(zhǔn)解析模塊無(wú)法識(shí)別報(bào)文,于是對(duì)于一些廣播格式的協(xié)議,是否上CPU的控制往往不夠精確。
【發(fā)明內(nèi)容】
[0007]本發(fā)明提出了一種協(xié)議報(bào)文上送CPU的芯片實(shí)現(xiàn)方法,通過(guò)一種有效的芯片識(shí)別機(jī)制,以實(shí)現(xiàn)精確控制各種格式的協(xié)議報(bào)文是否上CPU。
[0008]本發(fā)明提供了一種協(xié)議報(bào)文上送CPU的芯片實(shí)現(xiàn)方法,該方法包括:
[0009]在芯片中設(shè)置一匹配表,所述匹配表中配置有Except1n ID和策略Cl;在端口、VLAN或隧道協(xié)議的配置中設(shè)置一 Bitmap,用于控制所述策略Cl是否執(zhí)行;
[0010]協(xié)議報(bào)文進(jìn)入芯片,首先進(jìn)行匹配查找,根據(jù)報(bào)文中的關(guān)鍵字段查找所述匹配表,得到對(duì)應(yīng)的所述Except1n ID和策略Cl,再根據(jù)所述Bitmap決定將所述協(xié)議報(bào)文在上CPU的同時(shí)轉(zhuǎn)發(fā)或者丟棄。
[0011 ] 優(yōu)選地,所述匹配查找的關(guān)鍵字段包含源MAC地址,目的MAC地址和IP五元組,所述IP五元組為報(bào)文源IP地址,源端口,目的IP地址,目的端口和傳輸層協(xié)議。
[0012]優(yōu)選地,所述Except1n ID設(shè)置在匹配查找結(jié)果的屬性中,其取值范圍為0_N,其中,N為大于等于零的整數(shù)。
[0013]優(yōu)選地,所述策略Cl設(shè)置在匹配查找結(jié)果的屬性中。
[0014]優(yōu)選地,所述策略Cl為報(bào)文在上CPU的同時(shí)丟棄該報(bào)文,或者為報(bào)文在上CPU的同時(shí)轉(zhuǎn)發(fā)該報(bào)文。
[0015]優(yōu)選地,所述Bitmap寬度與所述Except1n ID的最大值相同。
[0016]優(yōu)選地,所述Bitmap用二進(jìn)制表示。
[0017]優(yōu)選地,所述匹配查找,當(dāng)查找有結(jié)果時(shí)所述才Except1n ID生效,此時(shí)所述Except1n ID取值不為O。
[0018]優(yōu)選地,若所述二進(jìn)制表示的Bitmap從低位開(kāi)始的第El個(gè)比特位為O,則策略Cl不生效;若所述二進(jìn)制表示的Bitmap從低位開(kāi)始的第El個(gè)比特位不為O,則策略Cl生效,所述El表示Except1n ID的值。
[0019]優(yōu)選地,若所述二進(jìn)制表示的Bitmap從低位開(kāi)始的第El個(gè)比特位為I,則策略Cl生效,所述El表示Except1n ID的值。
[0020]本發(fā)明能精確控制各種格式的協(xié)議報(bào)文是否上CPU,并且在上CPU的同時(shí),在端口、VLAN或隧道協(xié)議上靈活控制是否丟棄或轉(zhuǎn)發(fā)該報(bào)文。
【附圖說(shuō)明】
[0021]圖1是本發(fā)明協(xié)議報(bào)文上送CPU的芯片實(shí)現(xiàn)方法的流程示意圖。
【具體實(shí)施方式】
[0022]下面將對(duì)本發(fā)明實(shí)施例的技術(shù)方案進(jìn)行清楚、完整的描述。
[0023]本發(fā)明揭示了一種協(xié)議報(bào)文上送CHJ的芯片實(shí)現(xiàn)方法,通過(guò)在芯片中設(shè)置一個(gè)CAM,用來(lái)對(duì)報(bào)文進(jìn)行匹配查找,在查找結(jié)果的屬性中設(shè)置Except1n ID和策略Cl,在端口、VLAN或隧道協(xié)議的配置中設(shè)置Bitmap控制策略Cl的執(zhí)行,從而對(duì)各種協(xié)議報(bào)文上送CPU的行為進(jìn)行精確控制。
[0024]本發(fā)明所揭示的一種協(xié)議報(bào)文上送CPU的芯片實(shí)現(xiàn)方法,如圖1所示:
[0025]首先,在協(xié)議報(bào)文進(jìn)入芯片之前,在芯片中設(shè)置一匹配表,所述匹配表中配置有Except1n ID和策略Cl;在端口、VLAN或隧道協(xié)議的配置中設(shè)置一Bitmap,用于控制所述策略Cl是否執(zhí)行。
[0026]具體地,在芯片的入方向處理引擎(IPE)中,設(shè)置一個(gè)CAM,CAM中配置有查找的關(guān)鍵字段,用于進(jìn)行匹配查找,查找的關(guān)鍵字段包含源MAC地址,目的MAC地址和IP五元組,協(xié)議報(bào)文進(jìn)入芯片后,根據(jù)報(bào)文中的源MAC地址,目的MAC地址和IP五元組與CAM中配置的關(guān)鍵字段進(jìn)行匹配。
[0027]CAM查找結(jié)果的屬性中,為每一種協(xié)議報(bào)文設(shè)置一個(gè)Except1n ID,記為E1,取值范圍為0-Ν,Ν為大于等于O的整數(shù),即一個(gè)Except1n ID代表一種協(xié)議報(bào)文。El取值范圍為0-N,即表示支持N種協(xié)議報(bào)文。在CAM進(jìn)行匹配查找時(shí),只有查到結(jié)果,Ec^pt1n ID才有效。
[0028]報(bào)文進(jìn)入芯片,在與CAM中設(shè)置好的特征字段相匹配后,在其屬性中得到此報(bào)文的Except1n ID。對(duì)于某些報(bào)文來(lái)說(shuō),需要在上CPU的同時(shí)轉(zhuǎn)發(fā)該報(bào)文到下一臺(tái)需要此報(bào)文的設(shè)備上;而某些報(bào)文則只需要上送給CPU,不需要轉(zhuǎn)發(fā),就直接丟棄。因此,本發(fā)明在CAM查找結(jié)果的屬性中,還設(shè)置了報(bào)文的處理策略,為下面描述方便,記為策略Cl。策略Cl為報(bào)文在上CPU的同時(shí)丟棄該報(bào)文或者報(bào)文在上CPU的同時(shí)轉(zhuǎn)發(fā)該報(bào)文。
[0029]對(duì)于策略Cl的執(zhí)行與否,