一种交换芯片的配置方法及装置与流程

    专利2022-07-07  140

    本申请涉及通信
    技术领域
    :,尤其涉及一种交换芯片的配置方法及装置。
    背景技术
    ::sdn(software-definednetworking,软件定义网络)技术是一种网络管理方法,将数据平面(或称“数据面”)及控制平面(或称“控制面”)分离,数据面描述网络数据包的转发过程,控制面描述网络数据包的路由过程,可实现动态地、可编程地配置和管理网络,以改变网络的性能及监控网络。控制面可以由一个或多个控制器组成,控制器能够维护网络的全局视图,使网络能统一管理;转控分离使网络控制可直接编程,网络管理员可通过自己编写的程序/厂商提供的应用程序快速地配置、管理、保护和优化网络资源,使网络范围内的流量满足不断变化的需求。其中,应用程序(application)是通过北向接口(northboundinterfaces,nbi),以可编程方式将网络请求和所需的网络行为传送给控制器的程序。控制器(controller)是一个逻辑上集中的实体,能够根据网络运营商制定的转发策略,控制数据流,以减少对单个网络的手动配置。北向接口(nbi)是应用程序和控制器之间的接口,通常提供抽象的网络视图,并支持网络行为和请求的直接表达。sdn期望这些接口以一种开放的,与供应商无关的且可互操作的方式实现。南向接口(northboundinterfaces,nbi)是负责控制器与交换机数据面的通信接口。由于sdn是基于openflow协议实现的,故传统的网络设备,如交换机switch的sdn部署方案采用openflow协议,通过openflow安全通道与外部sdn控制器controller进行通信。根据一个或多个流表flowtable和一个组表gronptable执行数据包的查找和转发。openflow交换机与控制器通信,并且控制器通过openflow协议来管理openflow交换机,对于openflow交换机,数据面datapath与控制面分离:数据面在交换机本身中实现,但控制面以软件和单独的sdn控制器进行高层路由决策。openflow交换机的架构可以如图1所示,其中:流表表项(flowtable):控制数据包的流向,即告知交换机如何处理流的动作相关联,以执行数据包的查找和转发。安全通道(controllerchannel):用于将openflow交换机连接到远程进程(控制器),允许在控制器和openflow交换机之间发送命令和数据包。openflow协议(openflowprotocol):为控制器与openflow交换机的通信提供了开放和标准的方式。组表(grouptable):相对于flowtable,控制着数据包更高级的转发特性。流表(pipeline):由多个flowtable链接而成,控制数据包的一系列行为。计量表(metertable)同样是由多个计量条目(meterentry)构成,每个meterentry定义每个数据流的meters。基于此结构,openflowswitch可以实现各种简单的qos功能,比如速率限制等,再结合每个port的queues,可以实现更加复杂的qos框架,例如diffserv。端口(port):是指数据包流入或者流出openflowswitch的通道口,其可以是一个物理端口。然而,发明人发现openflow协议主要是对openflow网络设备的控制面进行配置,且在openflow协议中定义了openflow网络设备的数据面,如数据面中的匹配-动作表的匹配域,但openflow协议并不支持数据面中匹配域的灵活变化,如增加或减少;若想对数据面进行重新配置,如增加数据面的匹配域,则需要重新编译openflow网络设备硬件,如可编程芯片,但硬件出厂后,其可编程功能就已固定,若要更新可编程功能,则需要厂商重新编译升级芯片,灵活性较差,即openflow协议的可扩展性较差。技术实现要素:本申请实施例提供一种交换芯片的配置方法及装置,解决了现有技术存在的上述问题,以提高网络设备中数据面的可扩展性。第一方面,提供了一种交换芯片的配置方法,应用在箱式网络设备的管理板中,所述箱式网络设备还包括至少一个线卡,该方法可以包括:接收控制器发送的携带流表配置信息和运行时调用信息的远程过程调用grpc消息;所述流表配置信息和所述运行时调用信息是所述控制器解析接收的设备配置文件得到的,所述设备配置文件是编译流表业务需求对应的与协议无关的数据包处理p4程序得到的;向所述至少一个线卡发送所述流表配置信息和所述运行时调用信息,以使每个线卡根据所述运行时调用信息和所述流表配置信息配置自身的交换芯片的流表,并反馈流表配置结果;接收所述至少一个线卡发送的流表配置结果。在一个可选的实现中,所述方法还包括:向所述控制器发送携带所述流表配置结果的grpc消息,以使所述控制器展示所述至少一个交换芯片的流表配置结果。在一个可选的实现中,所述方法还包括:若确定所述至少一个交换芯片的流表配置结果均为配置成功,则接收所述控制器发送的携带数据转发规则配置信息的grpc消息;所述数据转发规则配置信息是所述控制器解析接收的数据转发配置文件得到的,所述数据转发配置文件是编译数据转发的业务需求对应的p4程序得到的;向所述至少一个线卡发送所述数据转发规则配置信息,以使每个线卡根据所述运行时调用信息和所述数据转发规则配置信息配置自身的交换芯片中流表的数据转发规则,并反馈转发规则配置结果;接收所述至少一个线卡发送的转发规则配置结果。在一个可选的实现中,所述方法还包括:若确定所述至少一个交换芯片的流表配置结果不均为配置成功,则返回执行步骤:接收控制器发送的携带流表配置信息和运行时调用信息的grpc消息。第二方面,提供了一种交换芯片的配置方法,应用在箱式网络设备的至少一个线卡中,所述箱式网络设备还包括管理板,该方法可以包括:接收所述管理板发送的流表配置信息和所述运行时调用信息;所述流表配置信息和所述运行时调用信息是所述管理板从控制器发送的携带流表配置信息和运行时调用信息的grpc消息获取的;所述流表配置信息和所述运行时调用信息是所述控制器解析接收的设备配置文件得到的,所述设备配置文件是编译流表业务需求对应的p4程序得到的;根据所述运行时调用信息和所述流表配置信息配置自身的交换芯片的流表;向所述管理板发送流表配置结果。在一个可选的实现中,根据所述运行时调用信息和所述流表配置信息配置自身的交换芯片的流表,包括:根据所述运行时调用信息,调用自身的交换芯片的软件开发工具包接口;根据所述流表配置信息,通过所述软件开发工具包接口对自身的交换芯片进行流表配置,得到自身的交换芯片的流表。在一个可选的实现中,所述方法还包括:接收所述管理板发送的数据转发规则配置信息;所述数据转发规则配置信息是所述管理板从所述控制器发送的携带数据转发规则配置信息的grpc消息获取的;所述数据转发规则配置信息是所述控制器解析接收的数据转发配置文件得到的,所述数据转发配置文件是编译数据转发的业务需求对应的p4程序得到的;根据所述运行时调用信息和所述数据转发规则配置信息配置自身的交换芯片中流表的数据转发规则;向所述管理板发送转发规则配置结果。第三方面,提供了一种交换芯片的配置装置,应用在箱式网络设备的至少一个线卡中,所述箱式网络设备还包括管理板,该装置可以包括接收单元和发送单元,其中:所述接收单元,用于接收控制器发送的携带流表配置信息和运行时调用信息的grpc消息;所述流表配置信息和所述运行时调用信息是所述控制器解析接收的设备配置文件得到的,所述设备配置文件是编译流表业务需求对应的p4程序得到的;所述发送单元,用于向所述至少一个线卡发送所述流表配置信息和所述运行时调用信息,以使每个线卡根据所述运行时调用信息和所述流表配置信息配置自身的交换芯片的流表,并反馈流表配置结果;所述接收单元,还用于接收所述至少一个线卡发送的流表配置结果。在一个可选的实现中,所述发送单元,还用于向所述控制器发送携带所述流表配置结果的grpc消息,以使所述控制器展示所述至少一个交换芯片的流表配置结果。在一个可选的实现中,所述接收单元,还用于若确定所述至少一个交换芯片的流表配置结果均为配置成功,则接收所述控制器发送的携带数据转发规则配置信息的grpc消息;所述数据转发规则配置信息是所述控制器解析接收的数据转发配置文件得到的,所述数据转发配置文件是编译数据转发的业务需求对应的p4程序得到的;所述发送单元,还用于向所述至少一个线卡发送所述数据转发规则配置信息,以使每个线卡根据所述运行时调用信息和所述数据转发规则配置信息配置自身的交换芯片中流表的数据转发规则,并反馈转发规则配置结果;所述接收单元,还用于接收所述至少一个线卡发送的转发规则配置结果。在一个可选的实现中,所述装置还包括触发单元;所述触发单元,用于若确定所述至少一个交换芯片的流表配置结果不均为配置成功,则触发所述接收单元执行:接收控制器发送的携带流表配置信息和运行时调用信息的grpc消息。第四方面,提供了另一种交换芯片的配置装置,应用在箱式网络设备的至少一个线卡中,所述箱式网络设备还包括管理板,该装置可以包括接收单元、配置单元和发送单元,其中:所述接收单元,用于接收所述管理板发送的流表配置信息和所述运行时调用信息;所述流表配置信息和所述运行时调用信息是所述管理板从控制器发送的携带流表配置信息和运行时调用信息的grpc消息获取的;所述流表配置信息和所述运行时调用信息是所述控制器解析接收的设备配置文件得到的,所述设备配置文件是编译流表业务需求对应的p4程序得到的;所述配置单元,用于根据所述运行时调用信息和所述流表配置信息配置自身的交换芯片的流表;所述发送单元,用于向所述管理板发送流表配置结果。在一个可选的实现中,所述装置还包括调用单元;所述调用单元,用于根据所述运行时调用信息,调用自身的交换芯片的软件开发工具包接口;所述配置单元,具体用于根据所述流表配置信息,通过所述软件开发工具包接口对自身的交换芯片进行流表配置,得到自身的交换芯片的流表。在一个可选的实现中,所述接收单元,还用于接收所述管理板发送的数据转发规则配置信息;所述数据转发规则配置信息是所述管理板从所述控制器发送的携带数据转发规则配置信息的grpc消息获取的;所述数据转发规则配置信息是所述控制器解析接收的数据转发配置文件得到的,所述数据转发配置文件是编译数据转发的业务需求对应的p4程序得到的;所述配置单元,还用于根据所述运行时调用信息和所述数据转发规则配置信息配置自身的交换芯片中流表的数据转发规则;所述发送单元,还用于向所述管理板发送转发规则配置结果。第五方面,提供了一种电子设备,该电子设备包括处理器、通信接口、存储器和通信总线,其中,处理器,通信接口,存储器通过通信总线完成相互间的通信;存储器,用于存放计算机程序;处理器,用于执行存储器上所存放的程序时,实现上述第一方面中任一所述的方法步骤或实现上述第二方面中任一所述的方法步骤。第六方面,提供了一种计算机可读存储介质,该计算机可读存储介质内存储有计算机程序,所述计算机程序被处理器执行时实现上述第一方面中任一所述的方法步骤或实现上述第二方面中任一所述的方法步骤。本发明实施例提供的交换芯片的配置方法,包括:接收控制器发送的携带流表配置信息和运行时调用信息的grpc消息;流表配置信息和所述运行时调用信息是所述控制器解析接收的设备配置文件得到的,设备配置文件是编译流表业务需求对应的p4程序得到的;向至少一个线卡发送流表配置信息和运行时调用信息,以使每个线卡根据运行时调用信息和流表配置信息配置自身的交换芯片的流表,并反馈流表配置结果;接收至少一个线卡发送的流表配置结果。该方法实现了箱式网络设备中数据面的可扩展性,且实现了箱式网络设备中交换芯片自定义的数据包转发行为,能够快速支持新功能、新协议的开发,进一步提升了数据面的可扩展性。附图说明图1为提供的一种openflow交换机的架构示意图;图2为本发明实施例提供的一种mom的结构示意图;图3为本发明实施例提供的一种箱式网络设备的配置系统的结构示意图;图4为提供的一种p4pipeline的结构示意图;图5为本发明实施例提供的一种交换芯片的配置方法的流程示意图;图6为本发明实施例提供的一种箱式网络设备集群部署的结构示意图;图7为本发明实施例提供的一种交换芯片的配置装置的结构示意图;图8为本发明实施例提供的另一种交换芯片的配置装置的结构示意图;图9为本发明实施例提供的一种电子设备的结构示意图。具体实施方式下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅是本申请一部分实施例,并不是全部的实施例。基于本申请实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。为了方便理解,下面对本发明实施例中涉及的名词进行解释:(1)与协议无关的数据包处理(programmingprotocol-independentpacketprocessors,p4)编程语言是一种用于控制网络设备(如路由器和交换机)中数据面(或称“数据包转发平面”)的编程语言。该编程语言存在以下三个特点:1、目标独立性:被设计为与实现无关的,可以针对许多不同类型的执行机进行编译,例如通用cpu,fpga,网络处理器和asic等。这些不同类型的硬件称为p4对象target。2、协议独立性:该编程语言甚至不支持ip,以太网,tcp,vxlan或mpls等通用协议。而是由p4程序员在程序中描述所需协议头格式和字段名,这些格式又由编译后的程序和目标设备解释和处理。3、可重新配置性:协议独立性和抽象语言模型可实现可重配置性,p4目标在部署之后能够更改它们处理数据包的方式。(2)为了实现协议无关。p4的设计者们还提供了一个南向协议—p4运行时(p4runtime)。p4runtime应用程序接口(applicationprograminterface,api)是一个为p4定义或p4描述的数据面设计和标准化的,与供应商无关,与协议无关的运行时api,也就是说,p4runtimeapi定义了客户端和服务器之间的接口的消息和语义。其语法以protobuf格式定义。p4runtime架构中包括一个或者多个控制器和待操作的设备或目标,其中,若p4runtime架构包括多个控制器(controller),则可通过角色的仲裁方式确保只有一个主控制器对读写实体(entity)或流表配置(pipelineconfig)具有写访问权限,以向待操作的设备或目标执行写操作,而其他控制器为该主控制器的备份设备。(3)面向消息的中间件(message-orientedmiddleware,mom)系统可以描述为一类能够为分布式应用程序或者异构的操作系统,且可提供松散耦合的、可靠的、可扩展的、安全的消息通信软件架构。mom在消息的发送者和消息的接收者之间提供一个消息中介的作用,其在本质上解决了应用通信之间的耦合关系。在mom系统中,消息是由一个应用程序发布给mom,mom中转发给另一个应用程序的业务信息。通过mom,消息将会投递给订阅它的订阅者,即消息的接收者。消息的发送者无需对订阅者做任何假设和了解,订阅者也无需知道发送者的相关信息,这种基于消息发布/订阅(p/s)的模型是松散耦合通信机制的根本。这样的系统即使在有个别组件出异常时,整个系统也能够正常对外提供功能。如图2所示,为了发送或接收消息,mom客户端必须先连接到mom提供者(该提供者通常作为消息中介实现),mom客户端本身就是消息生成方和/或消息使用方。消息生成方,如客户端a或客户端b会向消息中介所管理的目的地发送一条消息,如消息1或消息2,消息使用方,如客户端c或客户端d访问该目的地以使用此消息。该消息包括消息头、属性(可选)和主体。消息主体用来保存数据;消息头中包含代理路由和管理消息所需的信息;属性可以由客户端应用程序或提供者定义,以满足处理消息的需要。图3为本发明提供的一种箱式网络设备,即交换机的配置系统的结构示意图。如图3所示,该配置系统可以包括至少一个控制器和箱式网络设备。每个控制器均与箱式网络设备通过远程过程调用协议(remoteprocedurecallprotocol,rpc)通信连接,如grpc。每个控制器可以是每个应用程序的控制器;箱式网络设备可以包括n张管理板及n张线卡。线卡可以是普通线卡、子卡、交换网板、多业务卡等其他卡,每个线卡关联一个交换芯片(applicationspecificintegratedcircuit,asic),交换芯片用于对输入的数据包进行转发处理。至少一个控制器中的主控制器可以通过grpc消息向箱式网络设备传输配置信息。其中,主控制器可以是预设的,也可以是通过预设的角色仲裁方式确定的,本发明实施例在此不做限定。至少一个控制器可以嵌入箱式网络设备的管理板,也可存在于箱式网络设备外部。若至少一个控制器嵌入箱式网络设备的管理板,则主控制器可以直接在管理板上对箱式网络设备进行配置信息的传输。主控制器,用于获取配置信息,并向箱式网络设备发送携带配置信息的grpc消息。主控制器接收用户对p4程序进行编译得到的配置文件,该配置文件包括设备配置文件或数据转发配置文件。主控制器接收设备配置文件或数据转发配置文件。其中,设备配置文件是用户通过编译器编译流表业务需求对应的p4程序得到的;数据转发配置文件是用户通过编译器编译数据转发的业务需求对应的p4程序得到的。主控制器解析设备配置文件可以得到流表配置信息和运行时调用信息,如运行时api,运行时api具有p4程序属性(包括表,操作,参数等);解析数据转发配置文件可以得到数据转发规则配置信息。也就是说,该配置信息可以是流表配置信息和运行时调用信息,也可以是数据转发规则配置信息,如流表的增删改查规则(create、read、update、delete,crud)的配置信息,流表配置信息可以实现配置交换芯片的流表;数据转发规则配置信息可以实现对交换芯片的流表进行目标表项信息的增加、删除、修改和检查中的至少一种操作的信息。其中,流表配置信息用于配置出交换芯片的流表pipeline,如图4所示的p4pipeline的结构中,解析器逻辑对应图中的可编程解析器和可编程逆解析器部分的处理逻辑,可编程match-action表的控制块对应图中的解析数据包后的多级匹配操作处理。可选地,箱式网络设备还可以包括面向消息的中间件,通过中间件传输管理板与线卡之间的信息。通过流表配置信息和数据转发规则配置信息对交换芯片进行配置可重新定义好箱式网络设备的pipeline和pipeline中的表项,无需重新烧写芯片,相较于传统的openflow及其他箱式网络设备的体系架构,省去了时间和成本。可见,上述配置系统将sdn扩展到箱式设备上,不仅实现了控制面与数据面的分离,且使得箱式网络设备也具有数据面转发行为可编程性。控制器可以在线定制对箱式网络设备的可编程配置,无需重新编译箱式网络设备的操作系统。以下结合说明书附图对本申请的优选实施例进行说明,应当理解,此处所描述的优选实施例仅用于说明和解释本发明,并不用于限定本发明,并且在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。图5为本发明实施例提供的一种交换芯片的配置方法的流程示意图。如图5所示,该方法可以包括:步骤510、管理板接收控制器发送的携带流表配置信息和运行时调用信息的grpc消息。流表配置信息和运行时调用信息是控制器解析接收的设备配置文件得到的,设备配置文件是编译流表业务需求对应的p4程序得到的。步骤520、管理板向至少一个线卡发送流表配置信息和运行时调用信息。管理板可以通过中间件,向至少一个线卡发送流表配置信息和运行时调用信息。步骤530、至少一个线卡根据运行时调用信息和流表配置信息配置自身的交换芯片的流表。具体实施中,每个线卡根据运行时调用信息,调用自身的交换芯片的软件开发工具包(softwaredevelopmentkit,sdk)接口;并根据流表配置信息,通过sdk接口对自身的交换芯片进行流表配置,得到自身的交换芯片的流表,并生成流表配置结果。步骤540、至少一个线卡向管理板发送流表配置结果。可选地,该方法还可以包括步骤550:管理板向控制器发送携带流表配置结果的grpc消息,控制器可以展示至少一个交换芯片的流表配置结果。进一步的,为了确保配置的准确性,用户或控制器可以通过流表配置结果确定至少一个交换芯片的流表是否均配置成功。若确定至少一个交换芯片的流表配置结果均为配置成功,则管理板可以接收控制器发送的携带数据转发规则配置信息的grpc消息,再向至少一个线卡发送数据转发规则配置信息。其中,数据转发规则配置信息是控制器解析接收的数据转发配置文件得到的,数据转发配置文件是编译数据转发的业务需求对应的p4程序得到的。至少一个线卡接收数据转发规则配置信息后,根据运行时调用信息和数据转发规则配置信息,配置自身的交换芯片中流表的数据转发规则配置信息;具体实施中,每个线卡根据运行时调用信息,调用自身的交换芯片的sdk接口;并根据数据转发规则配置信息,通过sdk接口配置自身的交换芯片中流表的数据转发规则,并生成转发规则配置结果。之后向管理板发送转发规则配置结果。若确定至少一个交换芯片的流表配置结果不均为配置成功,则返回执行步骤510,直到至少一个交换芯片的流表均为配置成功。也就是说,由于流表配置信息用于配置交换芯片数据面中的pipeline,数据转发规则配置信息用于配置pipeline中的数据转发规则,实现对流表的增删改查操作,故只有在箱式网络设备中交换芯片的pipeline配置完成后,才可以对pipeline进行数据转发规则的配置。进一步的,配置完成流表和转发规则的交换芯片,可以基于配置的流表和转发规则,对接收的待处理数据包进行转发处理。本发明实施例提供的交换芯片的配置方法,包括:接收控制器发送的携带流表配置信息和运行时调用信息的远程过程调用grpc消息;流表配置信息和所述运行时调用信息是所述控制器解析接收的设备配置文件得到的,设备配置文件是编译流表业务需求对应的与协议无关的数据包处理p4程序得到的;向至少一个线卡发送流表配置信息和运行时调用信息,以使每个线卡根据运行时调用信息和流表配置信息配置自身的交换芯片的流表,并反馈流表配置结果;接收至少一个线卡发送的流表配置结果。该方法实现了箱式网络设备中数据面的可扩展性,且实现了箱式网络设备中芯片自定义的数据包转发行为,能够快速支持新功能、新协议的开发,进一步提升了数据面的可编程性。进一步的,除单台箱式网络设备的部署,以箱式网络设备为箱式交换机为例,该方案同样可部署在更大的网络拓扑中,比如扩展到多台箱式交换机。本申请可以将箱式交换机部署为sdn交换机上,也可兼容传统交换机traditionalswitch的系统软件使用作为混合型的sdn交换机;同样的,其对于传统的sdn解决方案:openflow也能够兼容,openflow可编程为p4程序来使用。如图6所示,是一种箱式网络设备的集群部署方案,本集群部署方案可部署在传统箱式交换机traditionalswitch上,也可以部署具有本方案箱式交换机上,如switch-1、switch-2至switch-n。本方案交换芯片的配置方法的具体实施部分称为运行时p4服务器(p4runtimeserver)。在主控制器controller的上层可以部署多个应用程序(application,app),如app1、app2和app3给网络终端用户或网络管理员使用。主控制器通过grpc消息向各台箱式交换机上的p4runtimeserver下发配置信息,p4runtimeserver调用相应交换芯片switchasic的switchsdk接口对相应switchasic进行配置,从而达到统一配置多台箱式交换机的目的。与上述方法对应的,本发明实施例还提供一种交换芯片的配置装置,应用在箱式网络设备的至少一个线卡中,所述箱式网络设备还包括管理板,如图7所示,该交换芯片的配置装置包括接收单元710和发送单元720,其中:接收单元710,用于接收控制器发送的携带流表配置信息和运行时调用信息的grpc消息;所述流表配置信息和所述运行时调用信息是所述控制器解析接收的设备配置文件得到的,所述设备配置文件是编译流表业务需求对应的p4程序得到的;发送单元720,用于向所述至少一个线卡发送所述流表配置信息和所述运行时调用信息,以使每个线卡根据所述运行时调用信息和所述流表配置信息配置自身的交换芯片的流表,并反馈流表配置结果;接收单元710,还用于接收所述至少一个线卡发送的流表配置结果。在一个可选的实现中,发送单元720,还用于向所述控制器发送携带所述流表配置结果的grpc消息,以使所述控制器展示所述至少一个交换芯片的流表配置结果。在一个可选的实现中,接收单元710,还用于若确定所述至少一个交换芯片的流表配置结果均为配置成功,则接收所述控制器发送的携带数据转发规则配置信息的grpc消息;所述数据转发规则配置信息是所述控制器解析接收的数据转发配置文件得到的,所述数据转发配置文件是编译数据转发的业务需求对应的p4程序得到的;发送单元720,还用于向所述至少一个线卡发送所述数据转发规则配置信息,以使每个线卡根据所述运行时调用信息和所述数据转发规则配置信息配置自身的交换芯片中流表的数据转发规则,并反馈转发规则配置结果;接收单元710,还用于接收所述至少一个线卡发送的转发规则配置结果。在一个可选的实现中,所述装置还包括触发单元730;触发单元730,用于若确定所述至少一个交换芯片的流表配置结果不均为配置成功,则触发所述接收单元执行:接收控制器发送的携带流表配置信息和运行时调用信息的grpc消息。本发明上述实施例提供的交换芯片的配置装置的各功能单元的功能,可以通过上述各方法步骤来实现,因此,本发明实施例提供的交换芯片的配置装置中的各个单元的具体工作过程和有益效果,在此不复赘述。与上述方法对应的,本发明实施例还提供一种交换芯片的配置装置,应用在箱式网络设备的至少一个线卡中,所述箱式网络设备还包括管理板,如图8所示,该交换芯片的配置装置包括接收单元810、配置单元820和发送单元830,其中:接收单元810,用于接收所述管理板发送的流表配置信息和所述运行时调用信息;所述流表配置信息和所述运行时调用信息是所述管理板从控制器发送的携带流表配置信息和运行时调用信息的grpc消息获取的;所述流表配置信息和所述运行时调用信息是所述控制器解析接收的设备配置文件得到的,所述设备配置文件是编译流表业务需求对应的p4程序得到的;配置单元820,用于根据所述运行时调用信息和所述流表配置信息配置自身的交换芯片的流表;发送单元830,用于向所述管理板发送流表配置结果。在一个可选的实现中,所述装置还包括调用单元840;调用单元840,用于根据所述运行时调用信息,调用自身的交换芯片的软件开发工具包接口;配置单元820,具体用于根据所述流表配置信息,通过所述软件开发工具包接口对自身的交换芯片进行流表配置,得到自身的交换芯片的流表。在一个可选的实现中,接收单元810,还用于接收所述管理板发送的数据转发规则配置信息;所述数据转发规则配置信息是所述管理板从所述控制器发送的携带数据转发规则配置信息的grpc消息获取的;所述数据转发规则配置信息是所述控制器解析接收的数据转发配置文件得到的,所述数据转发配置文件是编译数据转发的业务需求对应的p4程序得到的;配置单元820,还用于根据所述运行时调用信息和所述数据转发规则配置信息配置自身的交换芯片中流表的数据转发规则;发送单元830,还用于向所述管理板发送转发规则配置结果。本发明上述实施例提供的交换芯片的配置装置的各功能单元的功能,可以通过上述各方法步骤来实现,因此,本发明实施例提供的交换芯片的配置装置中的各个单元的具体工作过程和有益效果,在此不复赘述。本发明实施例还提供了一种电子设备,如图9所示,包括处理器910、通信接口920、存储器930和通信总线940,其中,处理器910,通信接口920,存储器930通过通信总线940完成相互间的通信。存储器930,用于存放计算机程序;处理器910,用于执行存储器930上所存放的程序时,实现如下步骤:接收控制器发送的携带流表配置信息和运行时调用信息的远程过程调用grpc消息;所述流表配置信息和所述运行时调用信息是所述控制器解析接收的设备配置文件得到的,所述设备配置文件是编译流表业务需求对应的与协议无关的数据包处理p4程序得到的;向所述至少一个线卡发送所述流表配置信息和所述运行时调用信息,以使每个线卡根据所述运行时调用信息和所述流表配置信息配置自身的交换芯片的流表,并反馈流表配置结果;接收所述至少一个线卡发送的流表配置结果。在一个可选的实现中,所述方法还包括:向所述控制器发送携带所述流表配置结果的grpc消息,以使所述控制器展示所述至少一个交换芯片的流表配置结果。在一个可选的实现中,所述方法还包括:若确定所述至少一个交换芯片的流表配置结果均为配置成功,则接收所述控制器发送的携带数据转发规则配置信息的grpc消息;所述数据转发规则配置信息是所述控制器解析接收的数据转发配置文件得到的,所述数据转发配置文件是编译数据转发的业务需求对应的p4程序得到的;向所述至少一个线卡发送所述数据转发规则配置信息,以使每个线卡根据所述运行时调用信息和所述数据转发规则配置信息配置自身的交换芯片中流表的数据转发规则,并反馈转发规则配置结果;接收所述至少一个线卡发送的转发规则配置结果。在一个可选的实现中,所述方法还包括:若确定所述至少一个交换芯片的流表配置结果不均为配置成功,则返回执行步骤:接收控制器发送的携带流表配置信息和运行时调用信息的grpc消息。或者,实现如下步骤:接收所述管理板发送的流表配置信息和所述运行时调用信息;所述流表配置信息和所述运行时调用信息是所述管理板从控制器发送的携带流表配置信息和运行时调用信息的grpc消息获取的;所述流表配置信息和所述运行时调用信息是所述控制器解析接收的设备配置文件得到的,所述设备配置文件是编译流表业务需求对应的p4程序得到的;根据所述运行时调用信息和所述流表配置信息配置自身的交换芯片的流表;向所述管理板发送流表配置结果。在一个可选的实现中,根据所述运行时调用信息和所述流表配置信息配置自身的交换芯片的流表,包括:根据所述运行时调用信息,调用自身的交换芯片的软件开发工具包接口;根据所述流表配置信息,通过所述软件开发工具包接口对自身的交换芯片进行流表配置,得到自身的交换芯片的流表。在一个可选的实现中,所述方法还包括:接收所述管理板发送的数据转发规则配置信息;所述数据转发规则配置信息是所述管理板从所述控制器发送的携带数据转发规则配置信息的grpc消息获取的;所述数据转发规则配置信息是所述控制器解析接收的数据转发配置文件得到的,所述数据转发配置文件是编译数据转发的业务需求对应的p4程序得到的;根据所述运行时调用信息和所述数据转发规则配置信息配置自身的交换芯片中流表的数据转发规则;向所述管理板发送转发规则配置结果。上述提到的通信总线可以是外设部件互连标准(peripheralcomponentinterconnect,pci)总线或扩展工业标准结构(extendedindustrystandardarchitecture,eisa)总线等。该通信总线可以分为地址总线、数据总线、控制总线等。为便于表示,图中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。通信接口用于上述电子设备与其他设备之间的通信。存储器可以包括随机存取存储器(randomaccessmemory,ram),也可以包括非易失性存储器(non-volatilememory,nvm),例如至少一个磁盘存储器。可选的,存储器还可以是至少一个位于远离前述处理器的存储装置。上述的处理器可以是通用处理器,包括中央处理器(centralprocessingunit,cpu)、网络处理器(networkprocessor,np)等;还可以是数字信号处理器(digitalsignalprocessing,dsp)、专用集成电路(applicationspecificintegratedcircuit,asic)、现场可编程门阵列(field-programmablegatearray,fpga)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。由于上述实施例中电子设备的各器件解决问题的实施方式以及有益效果可以参见图5所示的实施例中的各步骤来实现,因此,本发明实施例提供的电子设备的具体工作过程和有益效果,在此不复赘述。在本发明提供的又一实施例中,还提供了一种计算机可读存储介质,该计算机可读存储介质中存储有指令,当其在计算机上运行时,使得计算机执行上述实施例中任一所述的交换芯片的配置方法。在本发明提供的又一实施例中,还提供了一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机执行上述实施例中任一所述的交换芯片的配置方法。本领域内的技术人员应明白,本申请实施例中的实施例可提供为方法、系统、或计算机程序产品。因此,本申请实施例中可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请实施例中可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、cd-rom、光学存储器等)上实施的计算机程序产品的形式。本申请实施例中是参照根据本申请实施例中实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。尽管已描述了本申请实施例中的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例作出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本申请实施例中范围的所有变更和修改。显然,本领域的技术人员可以对本申请实施例中实施例进行各种改动和变型而不脱离本申请实施例中实施例的精神和范围。这样,倘若本申请实施例中实施例的这些修改和变型属于本申请实施例中权利要求及其等同技术的范围之内,则本申请实施例中也意图包含这些改动和变型在内。当前第1页1 2 3 当前第1页1 2 3 
    技术特征:

    1.一种交换芯片的配置方法,其特征在于,应用在箱式网络设备的管理板中,所述箱式网络设备还包括至少一个线卡,所述方法包括:

    接收控制器发送的携带流表配置信息和运行时调用信息的远程过程调用grpc消息;所述流表配置信息和所述运行时调用信息是所述控制器解析接收的设备配置文件得到的,所述设备配置文件是编译流表业务需求对应的与协议无关的数据包处理p4程序得到的;

    向所述至少一个线卡发送所述流表配置信息和所述运行时调用信息,以使每个线卡根据所述运行时调用信息和所述流表配置信息配置自身的交换芯片的流表,并反馈流表配置结果;

    接收所述至少一个线卡发送的流表配置结果。

    2.如权利要求1所述的方法,其特征在于,所述方法还包括:

    向所述控制器发送携带所述流表配置结果的grpc消息,以使所述控制器展示所述至少一个交换芯片的流表配置结果。

    3.如权利要求2所述的方法,其特征在于,所述方法还包括:

    若确定所述至少一个交换芯片的流表配置结果均为配置成功,则接收所述控制器发送的携带数据转发规则配置信息的grpc消息;所述数据转发规则配置信息是所述控制器解析接收的数据转发配置文件得到的,所述数据转发配置文件是编译数据转发的业务需求对应的p4程序得到的;

    向所述至少一个线卡发送所述数据转发规则配置信息,以使每个线卡根据所述运行时调用信息和所述数据转发规则配置信息配置自身的交换芯片中流表的数据转发规则,并反馈转发规则配置结果;

    接收所述至少一个线卡发送的转发规则配置结果。

    4.如权利要求3所述的方法,其特征在于,所述方法还包括:

    若确定所述至少一个交换芯片的流表配置结果不均为配置成功,则返回执行步骤:接收控制器发送的携带流表配置信息和运行时调用信息的grpc消息。

    5.一种交换芯片的配置方法,其特征在于,应用在箱式网络设备的至少一个线卡中,所述箱式网络设备还包括管理板,所述方法包括:

    接收所述管理板发送的流表配置信息和所述运行时调用信息;所述流表配置信息和所述运行时调用信息是所述管理板从控制器发送的携带流表配置信息和运行时调用信息的grpc消息获取的;所述流表配置信息和所述运行时调用信息是所述控制器解析接收的设备配置文件得到的,所述设备配置文件是编译流表业务需求对应的p4程序得到的;

    根据所述运行时调用信息和所述流表配置信息配置自身的交换芯片的流表;

    向所述管理板发送流表配置结果。

    6.如权利要求5所述的方法,其特征在于,根据所述运行时调用信息和所述流表配置信息配置自身的交换芯片的流表,包括:

    根据所述运行时调用信息,调用自身的交换芯片的软件开发工具包接口;

    根据所述流表配置信息,通过所述软件开发工具包接口对自身的交换芯片进行流表配置,得到自身的交换芯片的流表。

    7.如权利要求5所述的方法,其特征在于,所述方法还包括:

    接收所述管理板发送的数据转发规则配置信息;所述数据转发规则配置信息是所述管理板从所述控制器发送的携带数据转发规则配置信息的grpc消息获取的;所述数据转发规则配置信息是所述控制器解析接收的数据转发配置文件得到的,所述数据转发配置文件是编译数据转发的业务需求对应的p4程序得到的;

    根据所述运行时调用信息和所述数据转发规则配置信息配置自身的交换芯片中流表的数据转发规则;

    向所述管理板发送转发规则配置结果。

    8.一种交换芯片的配置装置,其特征在于,应用在箱式网络设备的管理板中,所述箱式网络设备还包括至少一个线卡,所述装置包括接收单元和发送单元,其中:

    所述接收单元,用于接收控制器发送的携带流表配置信息和运行时调用信息的grpc消息;所述流表配置信息和所述运行时调用信息是所述控制器解析接收的设备配置文件得到的,所述设备配置文件是编译流表业务需求对应的p4程序得到的;

    所述发送单元,用于向所述至少一个线卡发送所述流表配置信息和所述运行时调用信息,以使每个线卡根据所述运行时调用信息和所述流表配置信息配置自身的交换芯片的流表,并反馈流表配置结果;

    所述接收单元,还用于接收所述至少一个线卡发送的流表配置结果。

    9.一种交换芯片的配置装置,其特征在于,应用在箱式网络设备的至少一个线卡中,所述箱式网络设备还包括管理板,所述装置包括接收单元、配置单元和发送单元,其中:

    所述接收单元,用于接收所述管理板发送的流表配置信息和所述运行时调用信息;所述流表配置信息和所述运行时调用信息是所述管理板从控制器发送的携带流表配置信息和运行时调用信息的grpc消息获取的;所述流表配置信息和所述运行时调用信息是所述控制器解析接收的设备配置文件得到的,所述设备配置文件是编译流表业务需求对应的p4程序得到的;

    所述配置单元,用于根据所述运行时调用信息和所述流表配置信息配置自身的交换芯片的流表;

    所述发送单元,用于向所述管理板发送流表配置结果。

    10.一种电子设备,其特征在于,所述电子设备包括处理器、通信接口、存储器和通信总线,其中,处理器,通信接口,存储器通过通信总线完成相互间的通信;

    存储器,用于存放计算机程序;

    处理器,用于执行存储器上所存储的程序时,实现权利要求1-4任一所述的方法步骤或实现权利要求5-7任一所述的方法步骤。

    11.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质内存储有计算机程序,所述计算机程序被处理器执行时实现权利要求1-4任一所述的方法步骤或实现权利要求5-7任一所述的方法步骤。

    技术总结
    本申请公开了一种交换芯片的配置方法及装置,包括:接收控制器发送的携带流表配置信息和运行时调用信息的远程过程调用gRPC消息;流表配置信息和所述运行时调用信息是所述控制器解析接收的设备配置文件得到的,设备配置文件是编译流表业务需求对应的与协议无关的数据包处理P4程序得到的;向至少一个线卡发送流表配置信息和运行时调用信息,以使每个线卡根据运行时调用信息和流表配置信息配置自身的交换芯片的流表,并反馈流表配置结果;接收至少一个线卡发送的流表配置结果。该方法实现了箱式网络设备中数据面的可扩展性。

    技术研发人员:魏超凡
    受保护的技术使用者:锐捷网络股份有限公司
    技术研发日:2020.11.02
    技术公布日:2021.03.12

    转载请注明原文地址:https://wp.8miu.com/read-8261.html

    最新回复(0)