實現(xiàn)下一跳的配置數(shù)據(jù)分離的方法
【專利摘要】本發(fā)明涉及通信【技術領域】,具體說是實現(xiàn)下一跳的配置數(shù)據(jù)分離的方法,包括以下步驟:為每個下一跳配置塊維護一個綁定計數(shù),該綁定計數(shù)用于對指向該下一跳配置塊的所有關聯(lián)配置塊的總數(shù)進行統(tǒng)計計數(shù);為下一跳配置塊增加一種新的狀態(tài)“偽存在”狀態(tài),任意時刻下,各下一跳配置塊的狀態(tài)屬性為如下三種之一,形成三態(tài)機制:“不存在”狀態(tài);“存在”狀態(tài);“偽存在”狀態(tài);基于三態(tài)機制實現(xiàn)物理轉發(fā)表項的維護管理,實現(xiàn)下一跳配置數(shù)據(jù)的解耦。本發(fā)明所述的實現(xiàn)下一跳的配置數(shù)據(jù)分離的方法,解除對具有緊耦合關系的配置塊之間下發(fā)順序要求的約束,提高控制平面的配置數(shù)據(jù)下發(fā)效率,從而改善整個設備的工作效率。
【專利說明】實現(xiàn)下一跳的配置數(shù)據(jù)分離的方法
【技術領域】
[0001] 本發(fā)明涉及通信【技術領域】,具體說是實現(xiàn)下一跳的配置數(shù)據(jù)分離的方法。
【背景技術】
[0002] 現(xiàn)代高性能路由器架構都將控制平面和數(shù)據(jù)平面從物理上區(qū)分開來,控制平面和 數(shù)據(jù)平面分別有獨立的處理器和內(nèi)存??刂破矫娴墓δ苁沁\行路由協(xié)議、維護路由數(shù)據(jù)庫 并生成FIB(Forward Information Base,轉發(fā)信息庫)表,并負責將FIB表下發(fā)到數(shù)據(jù)平 面。數(shù)據(jù)平面根據(jù)收到的FIB表中的配置數(shù)據(jù)完成對網(wǎng)絡處理器的物理轉發(fā)表項的維護更 新操作,實現(xiàn)對數(shù)據(jù)報文的獨立轉發(fā)。
[0003] 在數(shù)據(jù)平面中,為了解決路由多路徑負載分擔及VPN下一跳快速收斂等問題,在 網(wǎng)絡處理器的路由查找轉發(fā)流程設計上,將路由前綴與下一跳信息分離,在路由前綴表的 表項中僅提供下一跳表的索引指針。網(wǎng)絡處理器在對數(shù)據(jù)報文進行路由轉發(fā)時,先根據(jù)數(shù) 據(jù)報文攜帶的目的IP及所屬的VRF ID (VPN路由轉發(fā)表ID)信息查找路由前綴表,然后再根 據(jù)路由前綴表中的下一跳表的索引指針(下一跳索引)找到下一跳表的表項的存放位置, 這樣通過逐級查找完成報文的封裝與轉發(fā)工作。
[0004] 為適應數(shù)據(jù)平面的下一跳分離特征(指路由前綴與下一跳信息分離),控制平面 在下發(fā)FIB表時,也相應將FIB表中的配置數(shù)據(jù)從邏輯上分割成若干個有獨立意義的配置 塊,如路由配置塊、VRF(VPN路由轉發(fā)表)標簽配置塊、LSP (標記交換路徑)配置塊、及L2 封裝配置塊等。FIB表中的配置數(shù)據(jù)的多級分離使得系統(tǒng)架構更為清晰,從實際操作上為路 由多路徑負載分擔及VPN下一跳快速收斂等需求提供了有利條件。
[0005] 但是,由于物理轉發(fā)表項的維護工作由數(shù)據(jù)平面獨立完成,控制平面不可見,因此 在下發(fā)各配置塊時,控制平面不得不受到配置塊下發(fā)順序的約束。例如,欲將一條VPN路由 生效,控制平面必須按照順序,先下發(fā)關聯(lián)的LSP配置塊,再下發(fā)VRF標簽配置塊,最后下發(fā) 路由配置塊,如此才能保證數(shù)據(jù)平面在進行多級表項的更新與關聯(lián)時,下級查找表的索引 已經(jīng)準備好。由此可見,各配置塊之間存在著緊耦合關系,而這種緊耦合關系嚴重制約了控 制平面的配置數(shù)據(jù)下發(fā)效率,最終影響到整個設備(高性能路由器)的工作效率。
【發(fā)明內(nèi)容】
[0006] 針對現(xiàn)有技術中存在的缺陷,本發(fā)明的目的在于提供實現(xiàn)下一跳的配置數(shù)據(jù)分離 的方法,解除對具有緊耦合關系的配置塊之間下發(fā)順序要求的約束,提高控制平面的配置 數(shù)據(jù)下發(fā)效率,從而改善整個設備的工作效率。
[0007] 為達到以上目的,本發(fā)明采取的技術方案是:
[0008] 實現(xiàn)下一跳的配置數(shù)據(jù)分離的方法,其特征在于,包括以下步驟:
[0009] 步驟1,為每個下一跳配置塊維護一個綁定計數(shù),該綁定計數(shù)用于對指向該下一跳 配置塊的所有關聯(lián)配置塊的總數(shù)進行統(tǒng)計計數(shù),
[0010] 步驟2,為下一跳配置塊增加一種新的狀態(tài)"偽存在"狀態(tài),任意時刻下,各下一跳 配置塊的狀態(tài)屬性為如下三種之一,形成三態(tài)機制:
[0011] (1) "不存在"狀態(tài):即初始狀態(tài),該下一跳配置塊尚未從控制平面生成和下發(fā),此 時數(shù)據(jù)平面無該下一跳配置塊的任何配置數(shù)據(jù)信息;
[0012] (2) "存在"狀態(tài):該下一跳配置塊已從控制平面下發(fā),并由數(shù)據(jù)平面生效,此時數(shù) 據(jù)平面已存儲該下一跳配置塊的相關配置數(shù)據(jù),并已完成物理轉發(fā)表項的申請和寫表操 作,實現(xiàn)數(shù)據(jù)報文的正常轉發(fā);
[0013] (3) "偽存在"狀態(tài):數(shù)據(jù)平面尚未收到從控制平面下發(fā)的該下一跳配置塊的配置 數(shù)據(jù),該下一跳配置塊由數(shù)據(jù)平面內(nèi)部生成,并占用相應物理轉發(fā)表項的資源,但此時物理 轉發(fā)表項被置為無效狀態(tài),不能進行報文轉發(fā);
[0014] 步驟3,基于三態(tài)機制實現(xiàn)物理轉發(fā)表項的維護管理,以有限狀態(tài)機的方式定義配 置塊的三種狀態(tài)之間的轉移流程,基于該有限狀態(tài)機實現(xiàn)下一跳配置數(shù)據(jù)的解耦。
[0015] 在上述技術方案的基礎上,步驟1中所述下一跳配置塊為:VRF標簽配置塊、LSP配 置塊或L2封裝配置塊。
[0016] 在上述技術方案的基礎上,所述的下一跳配置塊"偽存在"狀態(tài),是由數(shù)據(jù)平面自 主產(chǎn)生和維護的一種內(nèi)部狀態(tài),其觸發(fā)條件是:在解除對控制平面配置塊下發(fā)順序約束的 前提下,數(shù)據(jù)平面在收到關聯(lián)的下一跳配置塊之前,先收到了路由配置塊數(shù)據(jù),其產(chǎn)生的直 接結果是為下一跳配置塊預留了相應物理轉發(fā)表項的資源。
[0017] 在上述技術方案的基礎上,所述基于三態(tài)機制實現(xiàn)物理轉發(fā)表項的維護管理具體 包括:
[0018] (1)當VRF標簽配置塊為"不存在"狀態(tài),且數(shù)據(jù)平面收到增加關聯(lián)的VRF路由配 置塊的命令時,此VRF標簽配置塊被分配相應的物理轉發(fā)表項資源,VRF標簽配置塊的綁定 計數(shù)加1,即完成VRF標簽配置塊從"不存在"狀態(tài)向"偽存在"狀態(tài)的轉換;此時物理轉發(fā) 表項的有效BIT位無效狀態(tài),不能轉發(fā)報文;
[0019] (2)當VRF標簽配置塊為"不存在"狀態(tài),且數(shù)據(jù)平面收到增加該VRF標簽配置塊 的命令時,該VRF標簽配置塊被創(chuàng)建生成,VRF標簽配置塊的綁定計數(shù)被初始化為0,即完成 VRF標簽配置塊從"不存在"狀態(tài)向"存在"狀態(tài)的轉換;
[0020] (3)當VRF標簽配置塊為"存在"狀態(tài),且數(shù)據(jù)平面收到刪除該VRF標簽配置塊的 命令時,若此VRF標簽配置塊的綁定計數(shù)為0,則此VRF標簽配置塊被刪除,完成VRF標簽 配置塊從"存在"狀態(tài)向"不存在"狀態(tài)的轉換;
[0021] (4)當VRF標簽配置塊為"存在"狀態(tài),且數(shù)據(jù)平面收到刪除該VRF標簽配置塊的 命令時,若此VRF標簽配置塊的綁定計數(shù)大于0,則此VRF標簽配置塊所占用的物理轉發(fā)表 項的有效BIT位會被清零,使之不能完成報文轉發(fā)功能,即完成VRF標簽配置塊從"存在"狀 態(tài)向"偽存在"狀態(tài)的轉換;
[0022] (5)當VRF標簽配置塊為"存在"狀態(tài),且數(shù)據(jù)平面收到增加或刪除關聯(lián)的VRF路 由配置塊的命令時,此VRF標簽配置塊的綁定計數(shù)被相應的加1或減1,但狀態(tài)保持不變;
[0023] (6)當VRF標簽配置塊為"偽存在"狀態(tài),且數(shù)據(jù)平面收到增加該VRF標簽配置塊 的命令時,該VRF標簽配置塊的數(shù)據(jù)被寫入提前為之預留的物理轉發(fā)表項中,使之能夠完 成報文轉發(fā)功能,即完成VRF標簽配置塊從"偽存在"狀態(tài)向"存在"狀態(tài)的轉換;
[0024] (7)當VRF標簽配置塊為"偽存在"狀態(tài),且數(shù)據(jù)平面收到刪除關聯(lián)的VRF路由配 置塊的命令時,此VRF標簽配置塊的綁定計數(shù)首先被減1,然后判斷計數(shù)值是否變?yōu)?,如果 是,則此VRF標簽配置塊被刪除,完成從"偽存在"狀態(tài)向"不存在"狀態(tài)的轉換;
[0025] (8)當VRF標簽配置塊為"偽存在"狀態(tài),且數(shù)據(jù)平面收到刪除關聯(lián)的VRF路由配 置塊的命令時,此VRF標簽配置塊的綁定計數(shù)首先被減1,然后判斷計數(shù)值是否變?yōu)?,如果 否,則仍為"偽存在"狀態(tài);
[0026] 上述⑴?⑶是以VRF標簽配置塊為例,當VRF標簽配置塊替換為LSP配置塊 或L2封裝配置塊時,所述增加關聯(lián)的VRF路由配置塊的命令則對應于增加關聯(lián)的LSP業(yè)務 出口配置的命令或增加關聯(lián)的L2業(yè)務出口配置的命令。
[0027] 在上述技術方案的基礎上,為進一步提高數(shù)據(jù)平面的配置執(zhí)行效率,數(shù)據(jù)平面啟 用一個優(yōu)先級低于主任務的配置塊同步任務,主任務和配置塊同步任務之間通過消息隊列 進行通信,
[0028] 所述主任務負責接收控制平面的配置數(shù)據(jù),并將其最終下發(fā)到網(wǎng)絡處理器使之生 效;
[0029] 所述配置塊同步任務負責完成處于"偽存在"狀態(tài)的下一跳配置塊的延后釋放,即 數(shù)據(jù)平面收到下一跳配置塊的的刪除命令時,并未立即執(zhí)行該配置塊的刪除動作,而是當 滿足下一跳配置塊的綁定計數(shù)為〇的條件時,才執(zhí)行該配置塊的刪除操作。
[0030] 在上述技術方案的基礎上,當控制平面創(chuàng)建一條VRF路由,或創(chuàng)建一條MPLS域公 網(wǎng)路由,或創(chuàng)建一條IP域公網(wǎng)路由時,
[0031] 數(shù)據(jù)平面對與之對應的路由配置塊和VRF標簽配置塊的創(chuàng)建與管理,或與之對應 的路由配置塊與LSP配置塊的創(chuàng)建與管理,或與之對應的路由配置塊與L2封裝配置塊的創(chuàng) 建與管理,
[0032] 采用基于三態(tài)機制實現(xiàn)物理轉發(fā)表項的維護管理,以有限狀態(tài)機的方式定義配置 塊的三種狀態(tài)之間的轉移流程,基于該有限狀態(tài)機實現(xiàn)下一跳配置數(shù)據(jù)的解耦。
[0033] 在上述技術方案的基礎上,當控制平面創(chuàng)建一條VRF路由,數(shù)據(jù)平面執(zhí)行增加控 制平面下發(fā)的VRF路由配置時,如搜索不到路由配置塊指向的VRF標簽配置塊信息,則根據(jù) 路由配置數(shù)據(jù)中給定的目標VRF標簽配置塊的KEY值信息自主創(chuàng)建一個"偽存在"的VRF標 簽配置塊;
[0034] 數(shù)據(jù)平面再次執(zhí)行另一條VRF路由配置的增加操作時,如可以搜索到所需的VRF 標簽配置塊所帶標簽配置信息,不論其為"存在"狀態(tài),還是"偽存在"狀態(tài),將此VRF標簽 配置塊綁定計數(shù)加1 ;
[0035] 當數(shù)據(jù)平面收到一個VRF標簽配置塊的增加命令時,如可以從存儲池中搜索到該 配置信息與之對應的VRF標簽配置塊信息,并且此時該VRF標簽配置塊為"偽存在"狀態(tài), 則將事先預留的物理轉發(fā)表項進行修改更新,并使之有效,使能報文轉發(fā)功能。
[0036] 在上述技術方案的基礎上,增加一個VRF路由配置的具體步驟為:
[0037] 步驟101 :當數(shù)據(jù)平面收到一個VRF路由配置塊的增加命令時,根據(jù)路由配置數(shù)據(jù) 中提供的VRF標簽配置塊的KEY值,在存儲池中搜索該VRF標簽配置塊的信息,如搜不到, 則轉到步驟102,否則,不論該VRF標簽配置塊是"偽存在"狀態(tài)或是"存在"狀態(tài),都轉到步 驟 105 ;
[0038] 步驟102 :由于VRF路由配置塊指向的目標VRF標簽配置塊不存在于存儲池中,數(shù) 據(jù)平面根據(jù)該路由配置數(shù)據(jù)中提供的目標VRF標簽配置塊的KEY值信息創(chuàng)建一個"偽存在" 的VRF標簽配置塊,以預留硬件轉發(fā)資源;
[0039] 步驟103 :根據(jù)控制平面下發(fā)的VRF路由配置塊的數(shù)據(jù),結合創(chuàng)建"偽存在"VRF標 簽配置塊所獲得的下一跳查找表項的索引值進行路由查找表的申請和寫表操作,完成VRF 路由配置塊的添加功能以實現(xiàn)整條VRF路由的創(chuàng)建;
[0040] 步驟104 :將VRF標簽配置塊的綁定計數(shù)置1,并結束此次流程;
[0041] 步驟105 :可以在存儲池中搜索到VRF路由配置塊指向的目標VRF標簽配置塊的 信息,則用于路由查找表項寫表的數(shù)據(jù)已經(jīng)齊備,直接根據(jù)路由配置數(shù)據(jù)完VRF路由的添 加;
[0042] 步驟106 :將目標VRF標簽配置塊的綁定計數(shù)加1,并結束此次流程。
[0043] 在上述技術方案的基礎上,刪除VRF標簽配置塊的具體步驟為:
[0044] 步驟201 :數(shù)據(jù)平面根據(jù)收到的VRF標簽配置塊的刪除命令所提供的KEY值搜索 到存儲池里的VRF標簽配置塊的存儲信息,判斷該VRF標簽配置塊的綁定計數(shù)是否大于0, 如是,則說明此時至少有一條路由正關聯(lián)到該VRF標簽配置塊上了,轉到步驟203,否則轉 到步驟202 ;
[0045] 步驟202 :此時該VRF標簽配置塊上無任何關聯(lián)路由,直接刪除該VRF標簽配置 塊,并釋放所有資源,并結束此次流程;
[0046] 步驟203 :此時該VRF標簽配置塊上還有關聯(lián)路由,因此執(zhí)行配置塊狀態(tài)修改動 作,將該VRF標簽配置塊修改為"偽存在"狀態(tài),并結束此次流程。
[0047] 在上述技術方案的基礎上,當刪除一個VRF路由配置時,引入了基于消息通信的 多任務同步機制,主任務和配置塊同步任務間通過消息隊列接收發(fā)消息,其中 :
[0048] 主任務的執(zhí)行步驟如下:
[0049] 步驟301 :數(shù)據(jù)平面收到VRF路由配置塊的刪除命令后,執(zhí)行VRF路由配置塊的刪 除操作;
[0050] 步驟302 :通過被刪除的VRF路由配置塊的下一跳索引值從存儲池搜索得到VRF 標簽配置塊的存儲信息,并將VRF標簽配置的綁定計數(shù)減1 ;
[0051] 步驟303 :判斷VRF標簽配置塊的綁定計數(shù)是否大于0,如是,則結束VRF路由配置 塊的刪除流程,否則轉到步驟304 ;
[0052] 步驟304 :此時VRF標簽配置塊的綁定計數(shù)等于0,判斷其狀態(tài)是否為"偽存在",如 是則轉到步驟305,否則結束VRF路由配置塊的刪除流程;
[0053] 步驟305 :此時VRF標簽配置塊為"偽存在"狀態(tài),且綁定計數(shù)為0,發(fā)送VRF標簽 配置塊釋放消息,通知配置同步任務完成該VRF標簽配置塊的物理刪除操作,最后結束此 次流程;
[0054] 配置塊同步任務的執(zhí)行步驟如下:
[0055] 步驟401 :從消息隊列接收各類消息,如隊列為空,則配置塊同步任務進入PEND狀 態(tài),如收到消息,則轉到步驟402 ;
[0056] 步驟402 :如收到的消息為VRF標簽配置塊釋放,則轉到步驟403,否則結束此次流 程;
[0057] 步驟403 :判斷待刪除的VRF標簽配置塊是否仍為"偽存在"狀態(tài),如是,則轉到步 驟404,否則結束此次流程;
[0058] 步驟404 :刪除VRF標簽配置塊,并釋放轉發(fā)資源,最后轉回步驟401進入下一次 循環(huán)操作過程。
[0059] 本發(fā)明所述的實現(xiàn)下一跳的配置數(shù)據(jù)分離的方法,解除對具有緊耦合關系的配置 塊之間下發(fā)順序要求的約束,提高控制平面的配置數(shù)據(jù)下發(fā)效率,從而改善整個設備的工 作效率。
【專利附圖】
【附圖說明】
[0060] 本發(fā)明有如下附圖:
[0061] 圖1是本發(fā)明實施例所述的方法的有限狀態(tài)機;
[0062] 圖2是增加一個VRF路由配置時,本發(fā)明實施例的處理流程圖;
[0063] 圖3是刪除一個VRF標簽配置時,本發(fā)明實施例的處理流程圖;
[0064] 圖4是刪除一個VRF路由配置時,本發(fā)明實施例的處理流程圖。
【具體實施方式】
[0065] 以下結合附圖和實施例對本發(fā)明作進一步詳細說明。
[0066] 本發(fā)明所述的實現(xiàn)下一跳的配置數(shù)據(jù)分離的方法,包括以下步驟:
[0067] 步驟1,為每個下一跳配置塊維護一個綁定計數(shù),目的是對指向該下一跳配置塊的 所有關聯(lián)配置塊的總數(shù)進行統(tǒng)計計數(shù),所述下一跳配置塊為:VRF標簽配置塊、LSP配置塊 或L2封裝配置塊;
[0068] 步驟2,為下一跳配置塊增加一種新的狀態(tài)"偽存在"狀態(tài),任意時刻下,各下一跳 配置塊的狀態(tài)屬性為如下三種之一,形成三態(tài)機制:
[0069] (1) "不存在"狀態(tài):即初始狀態(tài),該下一跳配置塊尚未從控制平面生成和下發(fā),此 時數(shù)據(jù)平面無該下一跳配置塊的任何配置數(shù)據(jù)信息;
[0070] (2) "存在"狀態(tài):該下一跳配置塊已從控制平面下發(fā),并由數(shù)據(jù)平面生效,此時 數(shù)據(jù)平面已存儲該下一跳配置塊的相關配置數(shù)據(jù),并已完成物理轉發(fā)表項的申請和寫表操 作,實現(xiàn)數(shù)據(jù)報文的正常轉發(fā);
[0071] (3) "偽存在"狀態(tài):數(shù)據(jù)平面尚未收到從控制平面下發(fā)的該下一跳配置塊的配置 數(shù)據(jù),該下一跳配置塊由數(shù)據(jù)平面內(nèi)部生成,并占用相應物理轉發(fā)表項的資源,但此時物理 轉發(fā)表項被置為無效狀態(tài),不能進行報文轉發(fā);
[0072] 所述的下一跳配置塊"偽存在"狀態(tài),是由數(shù)據(jù)平面自主產(chǎn)生和維護的一種內(nèi)部狀 態(tài),其觸發(fā)條件是:在解除對控制平面配置塊下發(fā)順序約束的前提下,數(shù)據(jù)平面在收到關聯(lián) 的下一跳配置塊之前,先收到了路由配置塊數(shù)據(jù),其產(chǎn)生的直接結果是為下一跳配置塊預 留了相應物理轉發(fā)表項的資源;
[0073] 步驟3,基于三態(tài)機制實現(xiàn)物理轉發(fā)表項的維護管理;所述"基于三態(tài)機制實現(xiàn)物 理轉發(fā)表項的維護管理"的工作原理如圖1所示,以有限狀態(tài)機的方式定義配置塊的三種狀 態(tài)之間的轉移流程,基于該有限狀態(tài)機實現(xiàn)下一跳配置數(shù)據(jù)的解耦,下一跳的配置數(shù)據(jù)分 離的過程由數(shù)據(jù)平面獨立完成,對控制平面不可見。
[0074] 為便于描述,下面以VRF標簽配置塊為例,對圖1中的三態(tài)機制轉換進行說明。顯 然此處VRF標簽配置塊可替換為LSP配置塊或L2封裝配置塊等下一跳配置塊。
[0075] 所述基于三態(tài)機制實現(xiàn)物理轉發(fā)表項的維護管理具體包括:
[0076] (1)當VRF標簽配置塊為"不存在"狀態(tài),且數(shù)據(jù)平面收到增加關聯(lián)的VRF路由配 置塊的命令時,此VRF路由配置塊的下一跳配置塊(此處指配置順序上的下一跳,即VRF標 簽配置塊)被分配相應的物理轉發(fā)表項資源,VRF標簽配置塊的綁定計數(shù)加1,即完成VRF 標簽配置塊從"不存在"狀態(tài)向"偽存在"狀態(tài)的轉換;此時物理轉發(fā)表項的有效BIT位無 效狀態(tài),不能轉發(fā)報文;
[0077] 同理,當LSP配置塊或L2封裝配置塊為"不存在"狀態(tài),且數(shù)據(jù)平面收到增加關聯(lián) 的端口配置塊的命令時,此端口配置塊的下一跳配置塊(即LSP配置塊或L2封裝配置塊) 被分配相應的物理轉發(fā)表項資源,LSP配置塊或L2封裝配置塊的綁定計數(shù)加1,即完成LSP 配置塊或L2封裝配置塊從"不存在"狀態(tài)向"偽存在"狀態(tài)的轉換;此時物理轉發(fā)表項的 有效BIT位無效狀態(tài),不能轉發(fā)報文;
[0078] (2)當VRF標簽配置塊為"不存在"狀態(tài),且數(shù)據(jù)平面收到增加該VRF標簽配置塊 的命令時,該VRF標簽配置塊被創(chuàng)建生成,VRF標簽配置塊的綁定計數(shù)被初始化為0,即完成 VRF標簽配置塊從"不存在"狀態(tài)向"存在"狀態(tài)的轉換;
[0079] (3)當VRF標簽配置塊為"存在"狀態(tài),且數(shù)據(jù)平面收到刪除該VRF標簽配置塊的 命令時,若此VRF標簽配置塊的綁定計數(shù)為0,則此VRF標簽配置塊被刪除,完成VRF標簽配 置塊從"存在"狀態(tài)向"不存在"狀態(tài)的轉換;
[0080] (4)當VRF標簽配置塊為"存在"狀態(tài),且數(shù)據(jù)平面收到刪除該VRF標簽配置塊的 命令時,若此VRF標簽配置塊的綁定計數(shù)大于0,則此VRF標簽配置塊所占用的物理轉發(fā)表 項的有效BIT位會被清零,使之不能完成報文轉發(fā)功能,即完成VRF標簽配置塊從"存在"狀 態(tài)向"偽存在"狀態(tài)的轉換;
[0081] (5)當VRF標簽配置塊為"存在"狀態(tài),且數(shù)據(jù)平面收到增加或刪除關聯(lián)的VRF路 由配置塊的命令時,此VRF標簽配置塊的綁定計數(shù)被相應的加1或減1,但狀態(tài)保持不變;
[0082] (6)當VRF標簽配置塊為"偽存在"狀態(tài),且數(shù)據(jù)平面收到增加該VRF標簽配置塊 的命令時,該VRF標簽配置塊的數(shù)據(jù)被寫入提前為之預留的物理轉發(fā)表項中,使之能夠完 成報文轉發(fā)功能,即完成VRF標簽配置塊從"偽存在"狀態(tài)向"存在"狀態(tài)的轉換;
[0083] (7)當VRF標簽配置塊為"偽存在"狀態(tài),且數(shù)據(jù)平面收到刪除關聯(lián)的VRF路由配 置塊的命令時,此VRF標簽配置塊的綁定計數(shù)首先被減1,然后判斷計數(shù)值是否變?yōu)?,如果 是,則此VRF標簽配置塊被刪除,完成從"偽存在"狀態(tài)向"不存在"狀態(tài)的轉換;
[0084] (8)當VRF標簽配置塊為"偽存在"狀態(tài),且數(shù)據(jù)平面收到刪除關聯(lián)的VRF路由配 置塊的命令時,此VRF標簽配置塊的綁定計數(shù)首先被減1,然后判斷計數(shù)值是否變?yōu)?,如果 否,則仍為"偽存在"狀態(tài);
[0085] 上述⑴?⑶是以VRF標簽配置塊為例,當VRF標簽配置塊替換為LSP配置塊 或L2封裝配置塊時,所述增加關聯(lián)的VRF路由配置塊的命令則相應替換為:增加關聯(lián)的端 口配置塊的命令,例如:增加關聯(lián)的LSP業(yè)務出口配置塊的命令,或增加關聯(lián)的L2業(yè)務出口 配置塊的命令。
[0086] 在上述技術方案的基礎上,為進一步提高數(shù)據(jù)平面的配置執(zhí)行效率,數(shù)據(jù)平面啟 用一個優(yōu)先級低于主任務的配置塊同步任務,主任務和配置塊同步任務之間通過消息隊列 進行通信,
[0087] 所述主任務負責接收控制平面的配置數(shù)據(jù),并將其最終下發(fā)到網(wǎng)絡處理器使之生 效;
[0088] 所述配置塊同步任務負責完成處于"偽存在"狀態(tài)的下一跳配置塊的延后釋放,即 數(shù)據(jù)平面收到下一跳配置塊的的刪除命令時,并未立即執(zhí)行該配置塊的刪除動作,而是當 滿足下一跳配置塊的綁定計數(shù)為〇的條件時,才執(zhí)行該配置塊的刪除操作。
[0089] 增加配置塊同步任務可減輕主任務的負擔,節(jié)省主任務的執(zhí)行時間。
[0090] 以下實施例是對路由配置塊與VRF標簽配置塊之間的分離原理及具體實施過程 進行的詳細描述,以此說明本發(fā)明所述方法的關鍵創(chuàng)新點。顯然,所描述的實施例僅為本發(fā) 明的一部分實施例,與此對應的"路由配置塊與L2封裝配置塊"、"路由配置塊與LSP配置 塊"等實施例均成立。基于本發(fā)明的實施例,本領域技術人員在沒有做出創(chuàng)造性勞動前提下 所獲得的所有其他實施例,都屬于本發(fā)明的保護范圍。
[0091] 根據(jù)圖1所示,本發(fā)明實施例實現(xiàn)下一跳配置數(shù)據(jù)分離的關鍵步驟如下:
[0092] 當控制平面創(chuàng)建一條VRF路由(本專利中與此對應的可以推廣到控制平面創(chuàng)建 MPLS域公網(wǎng)路由和IP域公網(wǎng)路由)時,數(shù)據(jù)平面對與之對應的路由配置塊和VRF標簽配 置塊(對應于MPLS域公網(wǎng)路由和IP域公網(wǎng)路由,數(shù)據(jù)平面則為對應路由配置塊與LSP配 置塊和路由配置塊與L2封裝配置塊)的創(chuàng)建與管理如下:
[0093] (1)數(shù)據(jù)平面執(zhí)行增加控制平面下發(fā)的VRF路由配置時,如搜索不到路由配置塊 指向的VRF標簽配置塊信息,則根據(jù)路由配置數(shù)據(jù)中給定的目標VRF標簽配置塊的KEY值 信息自主創(chuàng)建一個"偽存在"的VRF標簽配置塊。所述"KEY值"即一組被控制平面和數(shù)據(jù) 平面統(tǒng)一用來識別各個配置塊的唯一標示符字段。
[0094] (2)數(shù)據(jù)平面再次執(zhí)行另一條VRF路由配置的增加操作時,如可以搜索到所需的 VRF標簽配置塊所帶標簽配置信息,不論其為"存在"狀態(tài),還是"偽存在"狀態(tài),將此VRF標 簽配置塊綁定計數(shù)加1。
[0095] (3)當數(shù)據(jù)平面收到一個VRF標簽配置塊的增加命令時,如可以從存儲池中搜索 到該配置信息與之對應的VRF標簽配置塊信息,并且此時該VRF標簽配置塊為"偽存在"狀 態(tài),則將事先預留的物理轉發(fā)表項進行修改更新,并使之有效,使能報文轉發(fā)功能。
[0096] 增加一個VRF路由時,通過執(zhí)行下述的路由配置塊與VRF標簽配置塊之間的分離 過程,實現(xiàn)了取消對控制平面的配置塊下發(fā)順序限制的目的。處理流程如圖2所示,步驟如 下:
[0097] 步驟101 :當數(shù)據(jù)平面收到一個VRF路由配置塊的增加命令時,根據(jù)路由配置數(shù)據(jù) 中提供的VRF標簽配置塊的KEY值,在存儲池中搜索該VRF標簽配置塊的信息,如搜不到, 則轉到步驟102,否則,不論該VRF標簽配置塊是"偽存在"狀態(tài)或是"存在"狀態(tài),都轉到步 驟 105 ;
[0098] 步驟102 :由于VRF路由配置塊指向的目標VRF標簽配置塊不存在于存儲池中,數(shù) 據(jù)平面根據(jù)該路由配置數(shù)據(jù)中提供的目標VRF標簽配置塊的KEY值信息創(chuàng)建一個"偽存 在"的VRF標簽配置塊,以預留硬件轉發(fā)資源;
[0099] 步驟103 :根據(jù)控制平面下發(fā)的VRF路由配置塊的數(shù)據(jù),結合創(chuàng)建"偽存在"VRF標 簽配置塊所獲得的下一跳查找表項的索引值進行路由查找表(即對應于路由配置塊信息) 的申請和寫表操作,完成VRF路由配置塊的添加功能以實現(xiàn)整條VRF路由的創(chuàng)建;
[0100] 步驟104 :將VRF標簽配置塊的綁定計數(shù)置1,并結束此次流程;
[0101] 步驟105 :可以在存儲池中搜索到VRF路由配置塊指向的目標VRF標簽配置塊的 信息,則用于路由查找表項寫表的數(shù)據(jù)已經(jīng)齊備,直接根據(jù)路由配置數(shù)據(jù)完VRF路由的添 加;
[0102] 步驟106 :將目標VRF標簽配置塊的綁定計數(shù)加1,并結束此次流程。
[0103] 刪除VRF標簽配置塊時:
[0104] (1)數(shù)據(jù)平面在執(zhí)行VRF標簽配置塊刪除操作時,檢查其綁定計數(shù),如大于0,則將 該VRF標簽配置塊置為"偽存在"狀態(tài),同時修改對應物理轉發(fā)表項為無效,禁止其報文轉 發(fā)功能。
[0105] (2)當數(shù)據(jù)平面收到刪除關聯(lián)的路由配置塊的命令時,將VRF標簽配置塊的綁定 計數(shù)減1,當計數(shù)減為〇時,發(fā)送配置塊同步消息。
[0106] (3)當主任務本輪執(zhí)行結束后,配置同步任務獲得任務執(zhí)行時間片,并接收配置塊 同步消息。
[0107] (4)當收到配置塊同步消息時,再次確認該VRF標簽配置塊是否仍為"偽存在"狀 態(tài),如果是,則執(zhí)行物理刪除操作。
[0108] 刪除一個VRF標簽配置塊的處理流程如圖3所示,步驟如下:
[0109] 步驟201 :數(shù)據(jù)平面根據(jù)收到的VRF標簽配置塊的刪除命令所提供的KEY值搜索 到存儲池里的VRF標簽配置塊的存儲信息,判斷該VRF標簽配置塊的綁定計數(shù)是否大于0, 如是,則說明此時至少有一條路由正關聯(lián)到該VRF標簽配置塊上了,轉到步驟203,否則轉 到步驟202 ;
[0110] 步驟202 :此時該VRF標簽配置塊上無任何關聯(lián)路由,直接刪除該VRF標簽配置 塊,并釋放所有資源,并結束此次流程;
[0111] 步驟203 :此時該VRF標簽配置塊上還有關聯(lián)路由,因此執(zhí)行配置塊狀態(tài)修改動 作,將該VRF標簽配置塊修改為"偽存在"狀態(tài),并結束此次流程。
[0112] 在上述關于VRF標簽配置塊的刪除流程中,當發(fā)現(xiàn)還有VRF路由配置塊關聯(lián)到該 VRF標簽配置塊時,并未真正釋放任何轉發(fā)資源,而是執(zhí)行VRF標簽配置塊的狀態(tài)修改操 作,將其修改為"偽存在",禁止物理轉發(fā)表項的報文轉發(fā)功能。這樣,當控制平面下一次需 要重新建立該VRF標簽配置塊時,由于轉發(fā)資源已存在,數(shù)據(jù)平面僅需對物理轉發(fā)表項執(zhí) 行修改操作即可,無需再刷新關聯(lián)路由,便已保證了路由配置塊與下一跳的配置塊等物理 查找轉發(fā)表項間的關聯(lián)邏輯上的正確性,因此保證了 VRF標簽配置塊操作的獨立性,實現(xiàn) 了在數(shù)據(jù)平面將VRF標簽配置塊從路由配置塊中分離出來的目的。
[0113] 刪除一條VRF路由配置的具體過程如下:
[0114] 刪除一個VRF路由配置的處理流程如圖4所示,引入了基于消息通信的多任務同 步機制,進一步提高了數(shù)據(jù)平面的配置執(zhí)行效率。其中主任務的執(zhí)行步驟如下:
[0115] 步驟301 :數(shù)據(jù)平面收到VRF路由配置塊的刪除命令后,執(zhí)行VRF路由配置塊的刪 除操作;
[0116] 步驟302 :通過被刪除的VRF路由配置塊的下一跳索引值從存儲池搜索得到VRF 標簽配置塊的存儲信息,并將VRF標簽配置的綁定計數(shù)減1 ;
[0117] 步驟303 :判斷VRF標簽配置塊的綁定計數(shù)是否大于0,如是,則結束VRF路由配置 塊的刪除流程,否則轉到步驟304 ;
[0118] 步驟304 :此時VRF標簽配置塊的綁定計數(shù)等于0,判斷其狀態(tài)是否為"偽存在", 如是則轉到步驟305,否則結束VRF路由配置塊的刪除流程;
[0119] 步驟305 :此時VRF標簽配置塊為"偽存在"狀態(tài),且綁定計數(shù)為0,發(fā)送VRF標簽 配置塊釋放消息,通知配置同步任務完成該VRF標簽配置塊的物理刪除操作,最后結束此 次流程;
[0120] 配置塊同步任務的執(zhí)行步驟如下:
[0121] 步驟401 :從消息隊列接收各類消息,如隊列為空,則配置塊同步任務進入PEND狀 態(tài),如收到消息,則轉到步驟402 ;
[0122] 步驟402 :如收到的消息為VRF標簽配置塊釋放(VRF標簽配置塊同步消息),則轉 到步驟403,否則結束此次流程;
[0123] 步驟403 :判斷待刪除的VRF標簽配置塊是否仍為"偽存在"狀態(tài),如是,則轉到步 驟404,否則結束此次流程;
[0124] 步驟404 :刪除VRF標簽配置塊,并釋放轉發(fā)資源,最后轉回步驟401進入下一次 循環(huán)操作過程。
[0125] 由于本發(fā)明實施例在基于優(yōu)先級搶占調度的多任務環(huán)境下運行,所述配置塊同步 任務的優(yōu)先級相對于主任務較低,當主任務執(zhí)行時,配置塊同步任務處于PEND或READY狀 態(tài);而只有當主任務本次執(zhí)行結束,或轉入PEND或DELAY狀態(tài)時,配置塊同步任務才有機會 執(zhí)行,因此實現(xiàn)了"偽存在"狀態(tài)配置的延后釋放的功能,節(jié)省了主任務的執(zhí)行時間,進一步 提高了效率,同時不影響設備的轉發(fā)性能。
[0126] 由上述本發(fā)明實施例提供的技術方案可以看出,本發(fā)明實施例通過為下一跳配置 數(shù)據(jù)塊標記一種狀態(tài)屬性,并基于三態(tài)機制實現(xiàn)了關聯(lián)配置塊之間的解耦,解除了數(shù)據(jù)平 面對控制平面提出的關聯(lián)配置塊數(shù)據(jù)下發(fā)順序的限制,實現(xiàn)了下一跳配置數(shù)據(jù)的分離,提 高了控制平面的配置數(shù)據(jù)下發(fā)效率,從而改善整個設備的工作效率。同時,通過引入基于消 息通信的多任務同步機制進一步提高了數(shù)據(jù)平面的配置執(zhí)行效率。
[0127] 以上所述,僅為本發(fā)明較佳的【具體實施方式】,但本發(fā)明的保護范圍并不局限于此, 任何熟悉本【技術領域】的技術人員在本發(fā)明揭露的技術范圍內(nèi),可輕易想到的變化或替換, 都應涵蓋在本發(fā)明的保護范圍之內(nèi)。因此,本發(fā)明的保護范圍應該以權利要求的保護范圍 為準。
[0128] 本說明書中未作詳細描述的內(nèi)容屬于本領域專業(yè)技術人員公知的現(xiàn)有技術。
【權利要求】
1. 實現(xiàn)下一跳的配置數(shù)據(jù)分離的方法,其特征在于,包括以下步驟: 步驟1,為每個下一跳配置塊維護一個綁定計數(shù),該綁定計數(shù)用于對指向該下一跳配置 塊的所有關聯(lián)配置塊的總數(shù)進行統(tǒng)計計數(shù), 步驟2,為下一跳配置塊增加一種新的狀態(tài)"偽存在"狀態(tài),任意時刻下,各下一跳配置 塊的狀態(tài)屬性為如下三種之一,形成三態(tài)機制: ⑴"不存在"狀態(tài):即初始狀態(tài),該下一跳配置塊尚未從控制平面生成和下發(fā),此時數(shù) 據(jù)平面無該下一跳配置塊的任何配置數(shù)據(jù)信息; ⑵"存在"狀態(tài):該下一跳配置塊已從控制平面下發(fā),并由數(shù)據(jù)平面生效,此時數(shù)據(jù)平 面已存儲該下一跳配置塊的相關配置數(shù)據(jù),并已完成物理轉發(fā)表項的申請和寫表操作,實 現(xiàn)數(shù)據(jù)報文的正常轉發(fā); (3) "偽存在"狀態(tài):數(shù)據(jù)平面尚未收到從控制平面下發(fā)的該下一跳配置塊的配置數(shù)據(jù), 該下一跳配置塊由數(shù)據(jù)平面內(nèi)部生成,并占用相應物理轉發(fā)表項的資源,但此時物理轉發(fā) 表項被置為無效狀態(tài),不能進行報文轉發(fā); 步驟3,基于三態(tài)機制實現(xiàn)物理轉發(fā)表項的維護管理,以有限狀態(tài)機的方式定義配置塊 的三種狀態(tài)之間的轉移流程,基于該有限狀態(tài)機實現(xiàn)下一跳配置數(shù)據(jù)的解耦。
2. 如權利要求1所述的實現(xiàn)下一跳的配置數(shù)據(jù)分離的方法,其特征在于:步驟1中所 述下一跳配置塊為:VRF標簽配置塊、LSP配置塊或L2封裝配置塊。
3. 如權利要求1所述的實現(xiàn)下一跳的配置數(shù)據(jù)分離的方法,其特征在于:所述的下一 跳配置塊"偽存在"狀態(tài),是由數(shù)據(jù)平面自主產(chǎn)生和維護的一種內(nèi)部狀態(tài),其觸發(fā)條件是: 在解除對控制平面配置塊下發(fā)順序約束的前提下,數(shù)據(jù)平面在收到關聯(lián)的下一跳配置塊之 前,先收到了路由配置塊數(shù)據(jù),其產(chǎn)生的直接結果是為下一跳配置塊預留了相應物理轉發(fā) 表項的資源。
4. 如權利要求2所述的實現(xiàn)下一跳的配置數(shù)據(jù)分離的方法,其特征在于,所述基于三 態(tài)機制實現(xiàn)物理轉發(fā)表項的維護管理具體包括: (1) 當VRF標簽配置塊為"不存在"狀態(tài),且數(shù)據(jù)平面收到增加關聯(lián)的VRF路由配置塊 的命令時,此VRF標簽配置塊被分配相應的物理轉發(fā)表項資源,VRF標簽配置塊的綁定計數(shù) 加1,即完成VRF標簽配置塊從"不存在"狀態(tài)向"偽存在"狀態(tài)的轉換;此時物理轉發(fā)表項 的有效BIT位無效狀態(tài),不能轉發(fā)報文; (2) 當VRF標簽配置塊為"不存在"狀態(tài),且數(shù)據(jù)平面收到增加該VRF標簽配置塊的命 令時,該VRF標簽配置塊被創(chuàng)建生成,VRF標簽配置塊的綁定計數(shù)被初始化為0,即完成VRF 標簽配置塊從"不存在"狀態(tài)向"存在"狀態(tài)的轉換; (3) 當VRF標簽配置塊為"存在"狀態(tài),且數(shù)據(jù)平面收到刪除該VRF標簽配置塊的命令 時,若此VRF標簽配置塊的綁定計數(shù)為0,則此VRF標簽配置塊被刪除,完成VRF標簽配置塊 從"存在"狀態(tài)向"不存在"狀態(tài)的轉換; (4) 當VRF標簽配置塊為"存在"狀態(tài),且數(shù)據(jù)平面收到刪除該VRF標簽配置塊的命令 時,若此VRF標簽配置塊的綁定計數(shù)大于0,則此VRF標簽配置塊所占用的物理轉發(fā)表項的 有效BIT位會被清零,使之不能完成報文轉發(fā)功能,即完成VRF標簽配置塊從"存在"狀態(tài) 向"偽存在"狀態(tài)的轉換; (5) 當VRF標簽配置塊為"存在"狀態(tài),且數(shù)據(jù)平面收到增加或刪除關聯(lián)的VRF路由配 置塊的命令時,此VRF標簽配置塊的綁定計數(shù)被相應的加1或減1,但狀態(tài)保持不變; (6) 當VRF標簽配置塊為"偽存在"狀態(tài),且數(shù)據(jù)平面收到增加該VRF標簽配置塊的命 令時,該VRF標簽配置塊的數(shù)據(jù)被寫入提前為之預留的物理轉發(fā)表項中,使之能夠完成報 文轉發(fā)功能,即完成VRF標簽配置塊從"偽存在"狀態(tài)向"存在"狀態(tài)的轉換; (7) 當VRF標簽配置塊為"偽存在"狀態(tài),且數(shù)據(jù)平面收到刪除關聯(lián)的VRF路由配置塊 的命令時,此VRF標簽配置塊的綁定計數(shù)首先被減1,然后判斷計數(shù)值是否變?yōu)?,如果是, 則此VRF標簽配置塊被刪除,完成從"偽存在"狀態(tài)向"不存在"狀態(tài)的轉換; (8) 當VRF標簽配置塊為"偽存在"狀態(tài),且數(shù)據(jù)平面收到刪除關聯(lián)的VRF路由配置塊 的命令時,此VRF標簽配置塊的綁定計數(shù)首先被減1,然后判斷計數(shù)值是否變?yōu)?,如果否, 則仍為"偽存在"狀態(tài); 上述(1)?(8)是以VRF標簽配置塊為例,當VRF標簽配置塊替換為LSP配置塊或L2 封裝配置塊時,所述增加關聯(lián)的VRF路由配置塊的命令則對應于增加關聯(lián)的LSP業(yè)務出口 配置的命令或增加關聯(lián)的L2業(yè)務出口配置的命令。
5. 如權利要求1所述的實現(xiàn)下一跳的配置數(shù)據(jù)分離的方法,其特征在于:為進一步提 高數(shù)據(jù)平面的配置執(zhí)行效率,數(shù)據(jù)平面啟用一個優(yōu)先級低于主任務的配置塊同步任務,主 任務和配置塊同步任務之間通過消息隊列進行通信, 所述主任務負責接收控制平面的配置數(shù)據(jù),并將其最終下發(fā)到網(wǎng)絡處理器使之生效; 所述配置塊同步任務負責完成處于"偽存在"狀態(tài)的下一跳配置塊的延后釋放,即數(shù)據(jù) 平面收到下一跳配置塊的的刪除命令時,并未立即執(zhí)行該配置塊的刪除動作,而是當滿足 下一跳配置塊的綁定計數(shù)為0的條件時,才執(zhí)行該配置塊的刪除操作。
6. 如權利要求1所述的實現(xiàn)下一跳的配置數(shù)據(jù)分離的方法,其特征在于:當控制平面 創(chuàng)建一條VRF路由,或創(chuàng)建一條MPLS域公網(wǎng)路由,或創(chuàng)建一條IP域公網(wǎng)路由時, 數(shù)據(jù)平面對與之對應的路由配置塊和VRF標簽配置塊的創(chuàng)建與管理,或與之對應的路 由配置塊與LSP配置塊的創(chuàng)建與管理,或與之對應的路由配置塊與L2封裝配置塊的創(chuàng)建與 管理, 采用基于三態(tài)機制實現(xiàn)物理轉發(fā)表項的維護管理,以有限狀態(tài)機的方式定義配置塊的 三種狀態(tài)之間的轉移流程,基于該有限狀態(tài)機實現(xiàn)下一跳配置數(shù)據(jù)的解耦。
7. 如權利要求1所述的實現(xiàn)下一跳的配置數(shù)據(jù)分離的方法,其特征在于:當控制平面 創(chuàng)建一條VRF路由,數(shù)據(jù)平面執(zhí)行增加控制平面下發(fā)的VRF路由配置時,如搜索不到路由配 置塊指向的VRF標簽配置塊信息,則根據(jù)路由配置數(shù)據(jù)中給定的目標VRF標簽配置塊的KEY 值信息自主創(chuàng)建一個"偽存在"的VRF標簽配置塊; 數(shù)據(jù)平面再次執(zhí)行另一條VRF路由配置的增加操作時,如可以搜索到所需的VRF標簽 配置塊所帶標簽配置信息,不論其為"存在"狀態(tài),還是"偽存在"狀態(tài),將此VRF標簽配置 塊綁定計數(shù)加1 ; 當數(shù)據(jù)平面收到一個VRF標簽配置塊的增加命令時,如可以從存儲池中搜索到該配置 信息與之對應的VRF標簽配置塊信息,并且此時該VRF標簽配置塊為"偽存在"狀態(tài),則將 事先預留的物理轉發(fā)表項進行修改更新,并使之有效,使能報文轉發(fā)功能。
8. 如權利要求7所述的實現(xiàn)下一跳的配置數(shù)據(jù)分離的方法,其特征在于,增加一個VRF 路由配置的具體步驟為: 步驟101 :當數(shù)據(jù)平面收到一個VRF路由配置塊的增加命令時,根據(jù)路由配置數(shù)據(jù)中提 供的VRF標簽配置塊的KEY值,在存儲池中搜索該VRF標簽配置塊的信息,如搜不到,則轉 到步驟102,否則,不論該VRF標簽配置塊是"偽存在"狀態(tài)或是"存在"狀態(tài),都轉到步驟 105 ; 步驟102 :由于VRF路由配置塊指向的目標VRF標簽配置塊不存在于存儲池中,數(shù)據(jù)平 面根據(jù)該路由配置數(shù)據(jù)中提供的目標VRF標簽配置塊的KEY值信息創(chuàng)建一個"偽存在"的 VRF標簽配置塊,以預留硬件轉發(fā)資源; 步驟103 :根據(jù)控制平面下發(fā)的VRF路由配置塊的數(shù)據(jù),結合創(chuàng)建"偽存在"VRF標簽配 置塊所獲得的下一跳查找表項的索引值進行路由查找表的申請和寫表操作,完成VRF路由 配置塊的添加功能以實現(xiàn)整條VRF路由的創(chuàng)建; 步驟104 :將VRF標簽配置塊的綁定計數(shù)置1,并結束此次流程; 步驟105 :可以在存儲池中搜索到VRF路由配置塊指向的目標VRF標簽配置塊的信息, 則用于路由查找表項寫表的數(shù)據(jù)已經(jīng)齊備,直接根據(jù)路由配置數(shù)據(jù)完VRF路由的添加; 步驟106 :將目標VRF標簽配置塊的綁定計數(shù)加1,并結束此次流程。
9. 如權利要求7所述的實現(xiàn)下一跳的配置數(shù)據(jù)分離的方法,其特征在于,刪除VRF標簽 配置塊的具體步驟為: 步驟201 :數(shù)據(jù)平面根據(jù)收到的VRF標簽配置塊的刪除命令所提供的KEY值搜索到存 儲池里的VRF標簽配置塊的存儲信息,判斷該VRF標簽配置塊的綁定計數(shù)是否大于0,如是, 則說明此時至少有一條路由正關聯(lián)到該VRF標簽配置塊上了,轉到步驟203,否則轉到步驟 202 ; 步驟202 :此時該VRF標簽配置塊上無任何關聯(lián)路由,直接刪除該VRF標簽配置塊,并 釋放所有資源,并結束此次流程; 步驟203 :此時該VRF標簽配置塊上還有關聯(lián)路由,因此執(zhí)行配置塊狀態(tài)修改動作,將 該VRF標簽配置塊修改為"偽存在"狀態(tài),并結束此次流程。
10. 如權利要求7所述的實現(xiàn)下一跳的配置數(shù)據(jù)分離的方法,其特征在于:當刪除一個 VRF路由配置時,引入了基于消息通信的多任務同步機制,主任務和配置塊同步任務間通過 消息隊列接收發(fā)消息,其中: 主任務的執(zhí)行步驟如下: 步驟301 :數(shù)據(jù)平面收到VRF路由配置塊的刪除命令后,執(zhí)行VRF路由配置塊的刪除操 作; 步驟302 :通過被刪除的VRF路由配置塊的下一跳索引值從存儲池搜索得到VRF標簽 配置塊的存儲信息,并將VRF標簽配置的綁定計數(shù)減1 ; 步驟303 :判斷VRF標簽配置塊的綁定計數(shù)是否大于0,如是,則結束VRF路由配置塊的 刪除流程,否則轉到步驟304; 步驟304:此時VRF標簽配置塊的綁定計數(shù)等于0,判斷其狀態(tài)是否為"偽存在",如是則 轉到步驟305,否則結束VRF路由配置塊的刪除流程; 步驟305 :此時VRF標簽配置塊為"偽存在"狀態(tài),且綁定計數(shù)為0,發(fā)送VRF標簽配置塊 釋放消息,通知配置同步任務完成該VRF標簽配置塊的物理刪除操作,最后結束此次流程; 配置塊同步任務的執(zhí)行步驟如下: 步驟401 :從消息隊列接收各類消息,如隊列為空,則配置塊同步任務進入PEND狀態(tài), 如收到消息,則轉到步驟402; 步驟402 :如收到的消息為VRF標簽配置塊釋放,則轉到步驟403,否則結束此次流程; 步驟403 :判斷待刪除的VRF標簽配置塊是否仍為"偽存在"狀態(tài),如是,則轉到步驟 404,否則結束此次流程; 步驟404 :刪除VRF標簽配置塊,并釋放轉發(fā)資源,最后轉回步驟401進入下一次循環(huán) 操作過程。
【文檔編號】H04L12/701GK104125147SQ201410393712
【公開日】2014年10月29日 申請日期:2014年8月11日 優(yōu)先權日:2014年8月11日
【發(fā)明者】饒冀, 袁炳根, 吳清堅, 劉瑩, 申智勇 申請人:烽火通信科技股份有限公司