本发明涉及一种PON业务板卡的数据更新领域,尤其是涉及一种OLT PON业务卡实现FDB软表更新的方法。
背景技术:
FDB管理功能是EPON系统中十分重要的管理维护功能,主要作用是维护系统FDB软表,为运维人员提供MAC的查询和清除手段。FDB软表中的信息是OLT设备上的以太网口和PON端口上学习到的动态MAC以及配置的静态MAC信息,这些信息与底层芯片的MAC信息保持同步。
目前PON业务板卡FDB管理的动态MAC学习依赖于芯片的MAC地址主动上报功能,即采用硬件方式进行MAC地址学习。一个典型的分布式OLT系统中PON部分MAC学习方式如图1所示。对于不具备MAC地址主动上报功能的芯片,软件无法有效获取其MAC地址的更新情况。目前市场上PON芯片的二层功能与交换芯片相比仍然较弱,对于MAC主动上报功能的支持较差。因此,需要实现一种通用的不依赖与芯片的FDB软件学习方式。
技术实现要素:
本发明的目的在于:针对现有技术存在的问题,提供一种OLT PON业务卡实现FDB软表更新的方法,解决对于不具备MAC地址主动上报功能的芯片,软件无法有效获取其MAC地址的更新情况的问题。
本发明的发明目的通过以下技术方案来实现:
一种OLT PON业务卡实现FDB软表更新的方法,其特征在于,该方法包括步骤:
(1)获取PON芯片的MAC地址;
(2)将获取到的MAC地址与本地FDB表项匹配,若匹配到,且该表项不需删除,则设置该表项操作标志为保持不变,若未匹配到,则对未匹配到的MAC地址加入FDB表,并记录该表项操作标志为新增。
作为进一步的技术方案,该方法还包括步骤:
(3)判断是否已获取所有PON芯片的MAC地址,若判断为否,则返回步骤(1),若判断为是则进行步骤(4);
(4)获取本地FDB表项,若表项操作标志中有内容则根据内容执行相应操作,若表项操作标志中没有内容,则设置该表项操作标志为需要老化,等待下次轮询。
作为进一步的技术方案,若表项操作标志中有内容则根据内容执行相应操作具体为:如果该表项操作标志为新增,则上报上层管理模块,同步给全局FDB表;如果表项操作标志为老化,则删除该PON FDB表项,同时上报上层管理模块,同步给全局FDB表;如果表项操作标志为删除,则删除该PON FDB表项。
作为进一步的技术方案,本地FDB表项内容包括:Mac地址、vlan、源端口、源LLID以及该表项操作标志。
作为进一步的技术方案,表项操作标志包括该表项是否为新增、老化、需要删除或保持不变。
作为进一步的技术方案,如果收到运维人员下发的清除MAC地址的配置指令,则通过PON芯片SDK接口删除PON芯片的MAC地址,同时遍历FDB软表,对于符合删除条件的表项,设置表项操作标志为需要删除。
与现有技术相比,本发明具有以下优点:
1、本发明为FDB软件学习方式,其不依赖于芯片的硬件电路;
2、通过本发明可以实现FDB软表内容的自动更新。
附图说明
图1为现有的分布式OLT系统中PON部分MAC学习方式;
图2为本发明的分布式OLT系统中PON部分MAC学习方式;
图3为本发明的流程图。
具体实施方式
下面结合附图和具体实施例对本发明进行详细说明。
实施例
本发明主要应用于EPON系统的OLT设备的PON业务板卡,当然本发明实现的技术亦可应用于其他数通产品中。
如图2所示,为采用本发明方法后的一个典型的分布式OLT系统中PON部分MAC学习方式。其涉及的硬件包括PON业务板卡和主控卡,其中PON业务板卡包括CPU和PON芯片,主控卡上设置有CPU。PON业务板卡的CPU主动获取PON芯片的M AC地址,然后将FDB送给主控卡的CPU。
本发明的具体流程如图3所示,包括:
步骤1:定时通过PON芯片SDK指定接口获取PON芯片MAC地址;
步骤2:将获取到的MAC与本地FDB表项匹配,若匹配到,且该表项不需删除,则设置该表项操作标志为保持不变,转步骤4,否则进入步骤3;
步骤3:对未匹配到的MAC地址加入FDB表,并记录该表项操作标志为新增;
步骤4:是否已获取所有PON芯片MAC,若未完成,转步骤1,否则进入步骤5;
步骤5:遍历PON FDB软表,如果该表项操作标志为新增,则上报上层管理模块,同步给全局FDB表;如果标志为老化,则删除该PON FDB表项,同时上报上层管理模块,同步给全局FDB表;如果标志为删除,则删除该PON FDB表项;如果非前面三种情况,则置该表项操作标志为需要老化,等待下次轮询。
其中,OLT CPU维护PON专用FDB表,表项内容包括:Mac地址,vlan,源端口,源LLID,以及该表项操作标志。该表项操作标志包括该表项是否为新增,老化,需要删除,或保持不变;
此外,如果运维人员下发清除MAC的配置,通过芯片SDK接口删除芯片MAC,同时遍历PON FDB表,对于符合删除条件的表项,设置操作标志为需要删除。
PON业务卡FDB表关键数据结构为:
其中,TREE_NODE可选择平衡二叉树或者红黑树等数据结构。
以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,应当指出的是,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明的保护范围之内。