【技术实现步骤摘要】
MAC地址学习方法、装置、设备及可读存储介质
[0001]本专利技术涉及通信
,尤其涉及一种MAC地址学习方法、装置、设备及可读存储介质。
技术介绍
[0002]目前,学习本地源MAC地址的方式主要有两种:
[0003]方式一,转发芯片将本地需要学习的以太网报文上送到控制面学习源MAC,控制面学到后下发给转发面;方式二,转发芯片学习源MAC,转发面适配层轮询转发芯片学到的源MAC并上送到控制面。
[0004]其中,方式一存在如下缺点:
[0005]重复上送造成信令通道拥塞,部分上送报文被丢弃,控制面处理重复报文或者收不到上送报文导致学习速率变慢;HASH表需要进行HASH计算,读写性能不高,并且存在HASH冲突的情况。
[0006]方式二存在如下缺点:
[0007]转发适配层轮询耗时;转发适配层逻辑复杂,需要进行轮询、查重、上报和重传,存在性能问题。
技术实现思路
[0008]为解决上述现有技术中存在的至少一个技术问题,本专利技术提供一种MAC地址学习方法、装置、 ...
【技术保护点】
【技术特征摘要】
1.一种MAC地址学习方法,其特征在于,所述MAC地址学习方法包括:从报文入口接收以太网报文,所述报文入口的属性是二层接口,关联EVPN业务;检测所述以太网报文是否为学习报文;若所述以太网报文为学习报文,则通过收包线程中的学习报文回调函数将所述以太网报文存入消息队列,然后将所述以太网报文重组打包发送至控制面;转发面新建MAC学习线程,通过MAC学习线程将消息队列中的以太网报文转化为MAC表项并写入TCAM,并在内存中保存MAC表项的镜像;控制面通过上送的经过重组打包的以太网报文学到本地MAC后,通过BGP通告给远端,同时将本地MAC表项下发给转发面,转发面适配层将本地MAC表项写入TCAM,设置匹配动作为转发态;转发面新建老化线程,老化线程周期性遍历MAC表项的镜像缓存,将匹配动作字段为伪存在态对应的值的MAC表项的匹配动作字段修改为学习态对应的值,并将匹配动作字段修改为学习态对应的值的MAC表项写入TCAM。2.如权利要求1所述的MAC地址学习方法,其特征在于,所述检测所述以太网报文是否为学习报文的步骤包括:获取所述以太网报文的源MAC和目的MAC;使用所述报文入口关联的BD加上所述以太网报文的源MAC作为键值查询TCAM中的MAC表;若查询结果的匹配动作字段为默认态或学习态对应的值,则确定以太网报文为学习报文。3.如权利要求2所述的MAC地址学习方法,其特征在于,所述MAC表的格式定义为:键值部分由BD字段、MAC字段和PAD填充字段组成,掩码部分的长度和键值部分一致,掩码的所有bit取值为1,数据部分由匹配动作字段、目的端口字段和镜像索引字段组成。4.如权利要求1所述的MAC地址学习方法,其特征在于,所述将所述以太网报文重组打包发送至控制面的步骤包括:将所述以太网报文私有头部中的有效字段取出存入包缓存中,包缓存的第一个字节定义为计数器,表示有效字段个数,有效字段是定长的,存入包缓存后,计数器自加1,包缓存偏移固定长度,计数器到达门限值后,调用组件发包回调接口将重组后的所述以太网报文发送到控制面。5.如权利要求1所述的MAC地址学习方法,其特征在于,所述转发面新建MAC学习线程,通过MAC学习线程将消息队列中的以太网报文转化为MAC表项并写入TCAM,并在内存中保存MAC表项的镜像的步骤包括:转发面新建MAC学习线程;MAC学习线程从消息队列中读出所述以太网报文,解析所述以太网报文的私有头部获取BD字段、源MAC字段和目的端口字段,将BD字段和源MAC字段作为MAC表...
【专利技术属性】
技术研发人员:孙小军,周坤,
申请(专利权)人:烽火通信科技股份有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。