本發(fā)明涉及一種PON業(yè)務(wù)板卡的數(shù)據(jù)更新領(lǐng)域,尤其是涉及一種OLT PON業(yè)務(wù)卡實(shí)現(xiàn)FDB軟表更新的方法。
背景技術(shù):
FDB管理功能是EPON系統(tǒng)中十分重要的管理維護(hù)功能,主要作用是維護(hù)系統(tǒng)FDB軟表,為運(yùn)維人員提供MAC的查詢和清除手段。FDB軟表中的信息是OLT設(shè)備上的以太網(wǎng)口和PON端口上學(xué)習(xí)到的動(dòng)態(tài)MAC以及配置的靜態(tài)MAC信息,這些信息與底層芯片的MAC信息保持同步。
目前PON業(yè)務(wù)板卡FDB管理的動(dòng)態(tài)MAC學(xué)習(xí)依賴于芯片的MAC地址主動(dòng)上報(bào)功能,即采用硬件方式進(jìn)行MAC地址學(xué)習(xí)。一個(gè)典型的分布式OLT系統(tǒng)中PON部分MAC學(xué)習(xí)方式如圖1所示。對(duì)于不具備MAC地址主動(dòng)上報(bào)功能的芯片,軟件無(wú)法有效獲取其MAC地址的更新情況。目前市場(chǎng)上PON芯片的二層功能與交換芯片相比仍然較弱,對(duì)于MAC主動(dòng)上報(bào)功能的支持較差。因此,需要實(shí)現(xiàn)一種通用的不依賴與芯片的FDB軟件學(xué)習(xí)方式。
技術(shù)實(shí)現(xiàn)要素:
本發(fā)明的目的在于:針對(duì)現(xiàn)有技術(shù)存在的問(wèn)題,提供一種OLT PON業(yè)務(wù)卡實(shí)現(xiàn)FDB軟表更新的方法,解決對(duì)于不具備MAC地址主動(dòng)上報(bào)功能的芯片,軟件無(wú)法有效獲取其MAC地址的更新情況的問(wèn)題。
本發(fā)明的發(fā)明目的通過(guò)以下技術(shù)方案來(lái)實(shí)現(xiàn):
一種OLT PON業(yè)務(wù)卡實(shí)現(xiàn)FDB軟表更新的方法,其特征在于,該方法包括步驟:
(1)獲取PON芯片的MAC地址;
(2)將獲取到的MAC地址與本地FDB表項(xiàng)匹配,若匹配到,且該表項(xiàng)不需刪除,則設(shè)置該表項(xiàng)操作標(biāo)志為保持不變,若未匹配到,則對(duì)未匹配到的MAC地址加入FDB表,并記錄該表項(xiàng)操作標(biāo)志為新增。
作為進(jìn)一步的技術(shù)方案,該方法還包括步驟:
(3)判斷是否已獲取所有PON芯片的MAC地址,若判斷為否,則返回步驟(1),若判斷為是則進(jìn)行步驟(4);
(4)獲取本地FDB表項(xiàng),若表項(xiàng)操作標(biāo)志中有內(nèi)容則根據(jù)內(nèi)容執(zhí)行相應(yīng)操作,若表項(xiàng)操作標(biāo)志中沒(méi)有內(nèi)容,則設(shè)置該表項(xiàng)操作標(biāo)志為需要老化,等待下次輪詢。
作為進(jìn)一步的技術(shù)方案,若表項(xiàng)操作標(biāo)志中有內(nèi)容則根據(jù)內(nèi)容執(zhí)行相應(yīng)操作具體為:如果該表項(xiàng)操作標(biāo)志為新增,則上報(bào)上層管理模塊,同步給全局FDB表;如果表項(xiàng)操作標(biāo)志為老化,則刪除該P(yáng)ON FDB表項(xiàng),同時(shí)上報(bào)上層管理模塊,同步給全局FDB表;如果表項(xiàng)操作標(biāo)志為刪除,則刪除該P(yáng)ON FDB表項(xiàng)。
作為進(jìn)一步的技術(shù)方案,本地FDB表項(xiàng)內(nèi)容包括:Mac地址、vlan、源端口、源LLID以及該表項(xiàng)操作標(biāo)志。
作為進(jìn)一步的技術(shù)方案,表項(xiàng)操作標(biāo)志包括該表項(xiàng)是否為新增、老化、需要?jiǎng)h除或保持不變。
作為進(jìn)一步的技術(shù)方案,如果收到運(yùn)維人員下發(fā)的清除MAC地址的配置指令,則通過(guò)PON芯片SDK接口刪除PON芯片的MAC地址,同時(shí)遍歷FDB軟表,對(duì)于符合刪除條件的表項(xiàng),設(shè)置表項(xiàng)操作標(biāo)志為需要?jiǎng)h除。
與現(xiàn)有技術(shù)相比,本發(fā)明具有以下優(yōu)點(diǎn):
1、本發(fā)明為FDB軟件學(xué)習(xí)方式,其不依賴于芯片的硬件電路;
2、通過(guò)本發(fā)明可以實(shí)現(xiàn)FDB軟表內(nèi)容的自動(dòng)更新。
附圖說(shuō)明
圖1為現(xiàn)有的分布式OLT系統(tǒng)中PON部分MAC學(xué)習(xí)方式;
圖2為本發(fā)明的分布式OLT系統(tǒng)中PON部分MAC學(xué)習(xí)方式;
圖3為本發(fā)明的流程圖。
具體實(shí)施方式
下面結(jié)合附圖和具體實(shí)施例對(duì)本發(fā)明進(jìn)行詳細(xì)說(shuō)明。
實(shí)施例
本發(fā)明主要應(yīng)用于EPON系統(tǒng)的OLT設(shè)備的PON業(yè)務(wù)板卡,當(dāng)然本發(fā)明實(shí)現(xiàn)的技術(shù)亦可應(yīng)用于其他數(shù)通產(chǎn)品中。
如圖2所示,為采用本發(fā)明方法后的一個(gè)典型的分布式OLT系統(tǒng)中PON部分MAC學(xué)習(xí)方式。其涉及的硬件包括PON業(yè)務(wù)板卡和主控卡,其中PON業(yè)務(wù)板卡包括CPU和PON芯片,主控卡上設(shè)置有CPU。PON業(yè)務(wù)板卡的CPU主動(dòng)獲取PON芯片的M AC地址,然后將FDB送給主控卡的CPU。
本發(fā)明的具體流程如圖3所示,包括:
步驟1:定時(shí)通過(guò)PON芯片SDK指定接口獲取PON芯片MAC地址;
步驟2:將獲取到的MAC與本地FDB表項(xiàng)匹配,若匹配到,且該表項(xiàng)不需刪除,則設(shè)置該表項(xiàng)操作標(biāo)志為保持不變,轉(zhuǎn)步驟4,否則進(jìn)入步驟3;
步驟3:對(duì)未匹配到的MAC地址加入FDB表,并記錄該表項(xiàng)操作標(biāo)志為新增;
步驟4:是否已獲取所有PON芯片MAC,若未完成,轉(zhuǎn)步驟1,否則進(jìn)入步驟5;
步驟5:遍歷PON FDB軟表,如果該表項(xiàng)操作標(biāo)志為新增,則上報(bào)上層管理模塊,同步給全局FDB表;如果標(biāo)志為老化,則刪除該P(yáng)ON FDB表項(xiàng),同時(shí)上報(bào)上層管理模塊,同步給全局FDB表;如果標(biāo)志為刪除,則刪除該P(yáng)ON FDB表項(xiàng);如果非前面三種情況,則置該表項(xiàng)操作標(biāo)志為需要老化,等待下次輪詢。
其中,OLT CPU維護(hù)PON專用FDB表,表項(xiàng)內(nèi)容包括:Mac地址,vlan,源端口,源LLID,以及該表項(xiàng)操作標(biāo)志。該表項(xiàng)操作標(biāo)志包括該表項(xiàng)是否為新增,老化,需要?jiǎng)h除,或保持不變;
此外,如果運(yùn)維人員下發(fā)清除MAC的配置,通過(guò)芯片SDK接口刪除芯片MAC,同時(shí)遍歷PON FDB表,對(duì)于符合刪除條件的表項(xiàng),設(shè)置操作標(biāo)志為需要?jiǎng)h除。
PON業(yè)務(wù)卡FDB表關(guān)鍵數(shù)據(jù)結(jié)構(gòu)為:
其中,TREE_NODE可選擇平衡二叉樹(shù)或者紅黑樹(shù)等數(shù)據(jù)結(jié)構(gòu)。
以上所述僅為本發(fā)明的較佳實(shí)施例而已,并不用以限制本發(fā)明,應(yīng)當(dāng)指出的是,凡在本發(fā)明的精神和原則之內(nèi)所作的任何修改、等同替換和改進(jìn)等,均應(yīng)包含在本發(fā)明的保護(hù)范圍之內(nèi)。