发明内容
针对现有技术中存在的至少一个缺陷,本发明的目的在于提供一种南向接口的适配方法及系统,支持流表配置顺序随机。
为达到以上目的,本发明采取一种南向接口的适配方法,包括:
流表增加时,所有相关流表的表项信息配置完成后,将配置信息一次性写入硬件;
任一相关流表删除时,即刻删除硬件的配置信息;
在相关流表之间维护一个公用AVL树,且每个流表维护一个私有AVL树,每个流表维护一个指示流表增删操作是否下发的标识,在流表下发时维护私有AVL树和公用AVL树;
如有流表增加,当所有相关流表的标识全部置为下发时,将配置信息一次性写入硬件;
如有流表删除,立即删除硬件的配置信息,并删除该流表的私有AVL树;所有相关的流表全部删除时删除公用AVL树;
PE节点包括三类流表:MPLS流表、MPLS L2 Port流表和Vlan流表,每个业务id在所述三类流表中,均绑定一个流表,三类流表彼此相关。
优选的,对于PE节点的流表模型,支持用户侧到网络侧的报文转发处理和网络侧到用户侧的报文转发处理的先后顺序随机,且报文转发时流表配置支持顺序随机。
优选的,对于MPLS-TP OAM和ETH OAM,支持OAM报文接收流表模型和OAM报文发送流表模型之间配置顺序的随机,每个业务的流表通过OAM的本地MEG端点标识互相绑定。
优选的,对于QoS流表模型,支持优先级映射流表、优先级反映射流表、复杂流分类流表和Meter动作表之间配置顺序随机,支持QoS相关流表与业务流表之间的配置顺序随机,且每个流表维护一个私有AVL树。
优选的,在业务流表和每类QoS流表之间,分别维护一套反刷机制;配置QoS流表时,如果已经创建了相关的业务流表,则反刷业务,实现配置的优先级规则与业务的绑定;如果尚未配置相关业务流表,则配置QoS映射规则后,将配置信息插入私有AVL树。
优选的,设置一个功能适配层实现底层驱动的封装和集合,作为底层SDK的适配层支持不同SPTN设备的接入。
本发明还提供一种南向接口的适配系统,包括:
判断模块,其用于判断流表增加或删除;
配置模块,其用于在流表增加时,在所有相关流表的表项信息配置完成后,将配置信息一次性写入硬件;还用于在任一相关流表删除时,即刻删除硬件的配置信息,并删除该流表的私有AVL树,所有相关的流表全部删除时删除公用AVL树;
协议接口层,其用于与控制器进行信息交互;
数据管理层,其用于接收协议接口层下发的指令,以及维护当前流表和组表形成的AVL树;
映射层,其设有配置模块和判断模块,用于维护相关流表之间形成的公用AVL树和每个流表的私有AVL树,实现流表的随机配置;
功能适配层,其用于实现底层驱动的封装和集合,与不同SPTN设备的SDK层进行交互;
PE节点包括三类流表:MPLS流表、MPLS L2 Port流表和Vlan流表,每个业务id在所述三类流表中,均绑定一个流表,三类流表彼此相关。
本发明的有益效果在于:
1、本发明流表增加时,所有业务相关的流表表项信息配置完成后,才将配置信息一次性写入硬件;而任一流表删除时,即刻删除硬件的配置信息;因此可以在适当的时间点采取操作硬件的方式,支持流表增删顺序的随机。
2、本发明对于PE(Provider Edge,边缘设备)节点的流表模型,可以实现针对VPWS上下话业务之间的随机配置以及流表之间的随机配置。同时还支持MPLS-TP OAM(Multi-Protocol Label Switching Transport Profile,多协议标签交换传送应用)和ETH OAM(ethernet OAM,以太网OAM),以及QoS流表模型相关的流表随机配置,适用范围广泛。
3、对于MPLS-TP OAM和ETH OAM,将OAM配置集中下发的模式可以屏蔽底层OAM实现机制,即OAM实体以及Lookup无论在芯片实现、FPGA(Field-Programmable Gate Array,现场可编程门阵列)实现、还是CPU(Central Processing Unit,中央处理器)实现,都可以做为一个独立的接口,仅需要适配底层驱动即可实现与南向接口适配器的对接。
4、本发明通过AVL树(Adelson-Velskii and Landis,自平衡二叉查找树)维护流表和组表,提高流组表存储效率,降低搜索的时间复杂度,提高查询效率。
5、本发明将系统通过四个分层实现南向接口的适配功能,向上通过协议接口层与控制器进行交互,即接收控制器的配置,还可以上报各类告警信息;向下通过功能适配层与不同SPTN设备的SDK(Software Development Kit,软件开发工具包)进行交互,使得南向接口适配器形成一套独立于设备驱动的公共软件模型,为不同SPTN设备南向接口的实现提供了方便,只需要将底层驱动与适配层做适当对接即可完成。
具体实施方式
以下结合附图及实施例对本发明作进一步详细说明。
本发明南向接口的适配方法,包括:
添加或删除流表的顺序支持随机,流表增加时,所有相关流表的表项信息配置完成后,将配置信息一次性写入硬件;流表删除时,即刻删除硬件的配置信息。流表表项信息配置包括所有流表通过Present信息建立绑定关系,或者是Qos的反刷建立绑定关系。
第一实施例
在上述基础上,相关的流表之间维护一个公用AVL树,每个流表各自维护一个私有AVL树;每个流表维护一个指示流表增删操作是否下发的标识,在流表下发时维护私有和公用两个AVL树。
如有流表增加,当所有相关流表的标识全部置为下发时,将配置信息一次性写入硬件。
如有流表删除,立即删除硬件的配置信息,并删除该流表的私有AVL树;所有相关的流表全部删除时删除公用AVL树。
第二实施例
基于第一实施例,本实施例是对于PE节点的流表模型,分为用户侧到网络侧的报文转发处理模型和网络侧到用户侧的报文转发处理模型,两套模型的先后配置顺序支持随机,并且转发模型内流表配置顺序也支持随机。
具体体现在VPWS(Virtual Private Wire Service,虚拟专用线路业务)上下话业务的MPLS(Multi-Protocol Label Switching,多协议标签交换)流表、MPLS L2 Port流表、Vlan(Virtual Local Area Network,虚拟局域网)流表之间维护一个基于业务id的公用AVL树,且每个流表各自维护一个私有AVL树。每个流表维护一个Present信息,作为指示流表增删操作是否下发的标识,在流表下发时维护私有和公用两个AVL树并判断。流表增加时,当业务相关的几个流表Present标识全部置位时,才将配置一次性写入硬件。删除时,只要有任何一个流表删除,即刻删除硬件且删除私有AVL树,且相关流表全部删除时才删除公用AVL树。本实施例实现针对VPWS上下话业务之间的随机配置以及流表之间的随机配置。
第三实施例
基于第二实施例,如图1所示,本实施例中一个业务id(Tunnel_id)在MPLS流表、MPLS L2 Port流表和Vlan流表这三类流表中,均绑定一个流表,即三个不同类别的流表通过一个业务id相互绑定,具体流表添加过程包括:
S101.接收控制器下发的添加流表的指令。
S102.进行流表中参数的有效性检查,判断检查是否通过,若是,进入S103;若否,进入S109。
S103.将添加的流表信息封装并插入流表的私有AVL树,以进行输入信息的软件存储,并判断插入是否成功,若是,进入S104;若否,进入S109。
S104.依据输入的Tunnel_id获取VPWS公用AVL树,判断公用AVL树是否存在,若是,进入S105;若否,进入S106。
S105.将该流表的信息在VPWS公用AVL树中更新,并置位该流表的Present标识,本实施例中Present置1,进入S107。
S106.新建VPWS公用AVL树,将该流表的相关信息写入,并置位该流表的Present标识,结束流程。
S107.判断输入的Tunnel_id绑定的三个相关流表的Present标识是否全部置1,如果是,进入S108;如果否,结束流程。
S108.调用SPTN设备芯片的驱动函数实现业务添加的硬件写入,还可以将底层SPTN设备驱动返回的状态信息(成功或者失败),作为整个流程的状态信息返回并结束。
S109.提示错误,结束。
第四实施例
基于第二实施例,如图2所示,本实施例中一个业务id(Tunnel_id)在MPLS流表、MPLS L2 Port流表和Vlan流表这三类流表中,均绑定一个流表,即三个不同类别的流表通过一个业务id相互绑定,具体流表删除过程包括:
S201.接收控制器下发的删除流表的指令;
S202.以输入的信息作为关键字去搜流表私有AVL树,判断该流表是否已经存在,若是,进入S203;若否,结束。
S203.将该流表对应的Present标识置0,以表示该流表不存在。
S204.判断硬件是否已删除,此处可以通过硬件删除标识判断,如果是,进入S206;如果否,进入S205。
S205.调用底层驱动函数,执行硬件删除的操作,并且设置硬件删除标识为1,表示已经删除硬件。
S206.将VPWS公用AVL树中该流表对应的相关参数恢复为默认值。
S207.检查输入的Tunnel_id绑定的VPWS下所有Present标识是否全部置0,即,是否所有流表已经全部删除,若是,进入S208;若否,结束。
S208.将VPWS公用AVL树删除,结束。
第五实施例
基于第一实施例,本实施例对于MPLS-TP OAM和ETH OAM,支持OAM报文接收流表模型和OAM报文发送流表模型之间配置顺序的随机。
具体实现为维护一套包括Mpls流表、MplsMaintenant Point流表(MPLS维护点流表)、Inject Oam流表(注入Oam流表)、OAM Yang模型等的Present置位机制:每个流表对应一个Present标识用以指示增删操作的下发与否,在表下发时维护私有和公用两个AVL树。只有在业务相关的几个流表Present全部置位时(本实施例中Present置1),说明表项信息完备,才统一下发配置信息给硬件。如有表项删除,则立即删除硬件并清除Present标识,从而实现OAM相关的不同流表顺序的下发。
并且,这种将OAM配置集中下发的模式,可以屏蔽底层OAM实现机制,即OAM实体以及Lookup无论在芯片实现、FPGA(Field-Programmable Gate Array,现场可编程门阵列)实现还是CPU(Central Processing Unit,中央处理器)实现,都可以做为一个独立的接口,仅需要适配底层驱动即可实现与南向接口适配器的对接。
第六实施例
本实施例在第五实施例的基础上,如图3所示,是ETH OAM和MPLS-TP OAM的流表信息管理机制,每个业务的流表通过OAM的唯一标识LmepId(LocalMaintenance EntityGroup End Point Identification,本地维护实体组端点标识)互相绑定。
其中,ETH OAM需要维护四个Present标识。ConfigInfo Present(即OAM主体存在标识)由OAM YANG模型确定;VlanInfo Present(即VLAN流表存在标识)在Down Mep和UpMep时分别由Vlan流表和Egress Vlan流表确定;MpInfoPresent(即维护点流表存在标识)在Down Mep和Up Mep时分别由Ingress Maintenance Point流表和Egress MaintenancePoint流表确定;InjectOam Present(注入流表存在标识)由Inject OAM流表确定。
MPLS-TP OAM也需要维护四个Present标识。ConfigInfo Present由OAM YANG模型确定;Mpls Present由Mpls流表确定;MpInfo Present由Mpls Maintenance Point流表确定;InjectOam Present由Inject OAM流表确定。
各类相关流表的增删流程类似于第二实施例中VPWS上下话业务,即会在判断OAMpresent全部完备的前提下,调用统一的OAM驱动实现配置信息的集中下发,支持流表配置顺序随机的同时,亦可屏蔽不同SPTN设备的底层处理。
第七实施例
本实施例针对QoS流表模型,支持优先级映射流表、优先级反映射流表、复杂流分类流表和Meter动作表之间配置顺序随机,且支持QoS相关流表与业务流表之间的配置顺序随机。本实施例中,每个流表维护一个私有AVL树。
具体实现为,Trust流表和Remark流表分别与相关业务流表之间维护一套反刷机制。配置QoS流表时进行判断,如果已经创建了相关的业务流表,则反刷业务实现配置的优先级规则与业务的绑定;如果尚未配置相关业务流表,则配置映射规则后,仅将配置信息插入私有AVL树做软件存储。在相关业务流表的处理中,判断如果配置了QoS映射信息,则实施业务与优先级规则的绑定,从而实现QoS不同流表的随机顺序下发。
第八实施例
在上述所有实施例的基础上,还可以设置一个功能适配层实现底层驱动的封装和集合,作为底层SDK的适配层支持不同SPTN设备的接入。
第九实施例
本实施例提供一种南向接口的适配系统,用于上述第一至第七实施例方法的实施。适配系统包括判断模块和配置模块,判断模块用于判断流表增加或删除;配置模块用于在流表增加时,在所有相关流表的表项信息配置完成后,将配置信息一次性写入硬件;还用于在任一相关流表删除时,即刻删除硬件的配置信息。
第十实施例
如图4所示,适配系统向上与控制器进行信息交互,向下与不同SPTN设备的SDK层进行交互,SDK层与芯片Chip交互。系统还包括协议接口层、数据管理层和映射层,还可以包括一个功能适配层。
协议接口层用于向上与控制器进行信息交互,接收控制器下发的配置指令,还用于将配置指令进一步下发到数据管理层。
数据管理层用于接收指令,并根据指令维护当前流组表形成的AVL树,当前流组表包括公用AVL树和私有AVL树。
映射层用于维护相关流表之间形成的公用AVL树和每个流表的私有AVL树,例如维护VPWS公用AVL树、OAM公用AVL树,实现不同流表信息的管理,进而实现相关流表的随机配置。判断模块和配置模块均设置于映射层。
功能适配层用于实现底层驱动的封装和集合,作为底层SDK的适配层以支持不同SPTN设备的接入。功能适配层向下与不同SPTN设备的SDK进行交互,使得南向接口适配系统形成一套独立于设备驱动的公共软件模型,为不同SPTN设备南向接口的实现提供了方便。
优选的,底层SPTN设备产生告警时,通过NetConf的订阅和通知,将告警类型、告警分级等信息由协议接口层传递给控制器。
本发明架构层次清晰,移植方便,仅需要功能适配层的简单适配即可适用于不同的SPTN设备。在支持现有南向接口协议的同时,兼容未来协议的扩展。
本发明不局限于上述实施方式,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也视为本发明的保护范围之内。本说明书中未作详细描述的内容属于本领域专业技术人员公知的现有技术。