CN109194589B - 一种mdc实现方法及装置 - Google Patents

一种mdc实现方法及装置 Download PDF

Info

Publication number
CN109194589B
CN109194589B CN201811007939.5A CN201811007939A CN109194589B CN 109194589 B CN109194589 B CN 109194589B CN 201811007939 A CN201811007939 A CN 201811007939A CN 109194589 B CN109194589 B CN 109194589B
Authority
CN
China
Prior art keywords
target
mdc
container
interface board
entry
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN201811007939.5A
Other languages
English (en)
Other versions
CN109194589A (zh
Inventor
王明辉
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Hangzhou H3C Technologies Co Ltd
Original Assignee
Hangzhou H3C Technologies Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Hangzhou H3C Technologies Co Ltd filed Critical Hangzhou H3C Technologies Co Ltd
Priority to CN201811007939.5A priority Critical patent/CN109194589B/zh
Publication of CN109194589A publication Critical patent/CN109194589A/zh
Application granted granted Critical
Publication of CN109194589B publication Critical patent/CN109194589B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/70Virtual switches
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5061Partitioning or combining of resources
    • G06F9/5077Logical partitioning of resources; Management or configuration of virtualized resources
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/10Packet switching elements characterised by the switching fabric construction
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/30Peripheral units, e.g. input or output ports

Abstract

本发明提供一种MDC实现方法及装置,该方法包括:当接收到目标MDC创建指令时,创建对应目标MDC的第一目标容器,在第一目标容器中运行交换设备中的用户态进程,由第一目标容器中运行的驱动进程创建虚拟交换单元,并对虚拟交换单元进行初始化处理;当接收到目标接口板的目标交换芯片与目标MDC的对应关系的配置指令,并接收到针对目标接口板的目标MDC创建指令时,向目标接口板发送携带目标交换芯片与目标MDC的对应关系的目标MDC创建指令,以使目标接口板创建对应目标MDC的第二目标容器,在第二目标容器中运行交换设备的用户态进程,由第二目标容器中运行的驱动进程对目标交换芯片进行初始化处理。应用本发明实施例可以实现针对用户态软件的MDC。

Description

一种MDC实现方法及装置
技术领域
本发明涉及网络通信技术领域,尤其涉及一种MDC实现方法及装置。
背景技术
通过虚拟化技术将一台大的物理设备划分成多台逻辑设备,每台逻辑设备称为一个MDC(Multitenant Devices Context,多租户设备环境)。每个MDC都有支撑自身系统运行的硬件和软件资源,包括独立的接口、CPU等,独立维护的路由和转发表项,独立的管理员和接入用户,独立的启动文件和配置文件,从而保证了MDC的创建、运行、重启、删除,并不会影响其它MDC的业务和配置。对用户来说,每个MDC就是一台独立的设备。
然而实践发现,目前的MDC实现方案仅能针对内核态的软件实现MDC,而无法针对用户态的软件实现MDC。
发明内容
本发明提供一种MDC实现方法及装置,以解决现有MDC实现方案无法针对用户态的软件实现MDC的问题。
根据本发明实施例的第一方面,提供一种MDC实现方法,应用于交换设备中的主控板,该方法包括:
当接收到目标MDC创建指令时,创建对应所述目标MDC的第一目标容器,在所述第一目标容器中运行所述交换设备中的用户态进程,由所述第一目标容器中运行的驱动进程创建虚拟交换单元,并对所述虚拟交换单元进行初始化处理;
当接收到目标接口板的目标交换芯片与所述目标MDC的对应关系的配置指令,并接收到针对所述目标接口板的目标MDC创建指令时,向所述目标接口板发送携带所述目标交换芯片与所述目标MDC的对应关系的目标MDC创建指令,以使所述目标接口板创建对应所述目标MDC的第二目标容器,在所述第二目标容器中运行所述交换设备的用户态进程,由所述第二目标容器中运行的驱动进程对所述目标交换芯片进行初始化处理。
根据本发明实施例的第二方面,提供一种MDC实现方法,应用于交换设备中的接口板,该方法包括:
接收主控板发送的携带有目标交换芯片与目标MDC的对应关系的目标MDC创建指令;
创建对应所述目标MDC的第二目标容器,并在所述第二目标容器中运行所述交换设备的用户态进程,由所述第二目标容器中运行的驱动进程对所述目标交换芯片进行初始化处理。
根据本发明实施例的第三方面,提供一种MDC实现装置,应用于交换设备中的主控板,该装置包括:接收单元、创建单元、运行单元以及发送单元;其中:
所述创建单元,用于当所述接收单元接收到目标MDC创建指令时,创建对应所述目标MDC的第一目标容器;
所述运行单元,用于在所述第一目标容器中运行所述交换设备中的用户态进程,由所述第一目标容器中运行的驱动进程创建虚拟交换单元,并对所述虚拟交换单元进行初始化处理;
所述发送单元,用于当所述接收单元接收到目标接口板的目标交换芯片与所述目标MDC的对应关系的配置指令,并接收到针对所述目标接口板的目标MDC创建指令时,向所述目标接口板发送携带所述目标交换芯片与所述目标MDC的对应关系的目标MDC创建指令,以使所述目标接口板创建对应所述目标MDC的第二目标容器,在所述第二目标容器中运行所述交换设备的用户态进程,由所述第二目标容器中运行的驱动进程对所述目标交换芯片进行初始化处理。
根据本发明实施例的第四方面,提供一种MDC实现装置,应用于交换设备中的接口板,该装置包括:接收单元、创建单元以及运行单元;其中:
所述接收单元,用于接收主控板发送的携带有目标交换芯片与目标MDC的对应关系的目标MDC创建指令;
所述创建单元,用于创建对应所述目标MDC的第二目标容器;
所述运行单元,用于在所述第二目标容器中运行所述交换设备的用户态进程,由所述第二目标容器中运行的驱动进程对所述目标交换芯片进行初始化处理。
应用本发明实施例,通过以容器的形式运行用户态进程,每个MDC对应一个容器,当接收到目标MDC创建指令时,创建对应目标MDC的第一目标容器,在第一目标容器中运行交换设备中的用户态进程,由第一目标容器中运行的驱动进程创建虚拟交换单元,并对虚拟交换单元进行初始化处理;当接收到目标接口板的目标交换芯片与目标MDC的对应关系的配置指令,并接收到针对目标接口板的目标MDC创建指令时,向目标接口板发送携带目标交换芯片与目标MDC的对应关系的目标MDC创建指令,以使目标接口板创建对应目标MDC的第二目标容器,在第二目标容器中运行交换设备的用户态进程,由第二目标容器中运行的驱动进程对目标交换芯片进行初始化处理,实现了针对用户态软件的MDC,扩展了MDC的应用场景。
附图说明
图1是本发明实施例提供的一种MDC实现方法的流程示意图;
图2是本发明实施例提供的一种MDC实现方法的流程示意图;
图3是本发明实施例提供的一种具体应用场景的结构示意图;
图4A是本发明实施例提供的一种主控板上的MDC示意图;
图4B是本发明实施例提供的一种接口板上的MDC示意图;
图5是本发明实施例提供的一种MDC实现装置的结构示意图;
图6是本发明实施例提供的另一种MDC实现装置的结构示意图;
图7是本发明实施例提供的一种MDC实现装置的结构示意图;
图8是本发明实施例提供的另一种MDC实现装置的结构示意图;
图9是本发明实施例提供的另一种MDC实现装置的结构示意图;
图10是本发明实施例提供的另一种MDC实现装置的结构示意图。
具体实施方式
为了使本技术领域的人员更好地理解本发明实施例中的技术方案,并使本发明实施例的上述目的、特征和优点能够更加明显易懂,下面结合附图对本发明实施例中技术方案作进一步详细的说明。
请参见图1,为本发明实施例提供的一种MDC实现方法的流程示意图,其中,该MDC实现方法可以应用于交换设备中的主控板,如图1所示,该MDC实现方法可以包括以下步骤:
步骤101、当接收到目标MDC创建指令时,创建对应目标MDC的第一目标容器,在第一目标容器中运行交换设备中的用户态进程,由第一目标容器中运行的驱动进程创建虚拟交换单元,并对虚拟交换单元进行初始化处理。
本发明实施例中,当用户需要在交换设备中创建MDC时,用户可以通过命令行的方式向交换设备的主控板下发MDC创建指令。
需要说明的时,在本发明实施例中,当交换设备中包括多个主控板时,若为特殊说明,所提及的主控板均指主用主控板。
本发明实施例中,当主控板接收到MDC(本文中成为目标MDC)创建指令时,主控板可以创建对应该目标MDC的容器(本文中成为第一目标容器),并在该第一目标容器中运行交换设备中的全部用户态进程。
其中,交换设备中的用户态进程可以包括上层应用进程和驱动进程。由于不同MDC对应不同的容器,不同容器中的用户态进程可以相互不干扰的运行,因此各MDC可以相互独立的运行。
本发明实施例中,考虑到主控板中不存在交换芯片,但是接口板上进行表项下发时需要由主控板进行资源申请,而资源申请需要调用交换芯片中的SDK(SoftwareDevelopment Kit,软件开发工具包)的API(Application Programming Interface,应用程序编程接口)函数,因此主控板创建目标MDC之后,还可以控制第一目标容器中运行的驱动进程创建一个虚拟交换单元,并对虚拟交换单元进行初始化处理。
其中,虚拟交换单元可以仅包括SDK的软件部分,用于为主控板上对应的容器提供SDK的API函数,驱动进程可以通过调用虚拟交换单元中的SDK的API函数进行表项资源申请。
第一目标容器中运行的驱动进程对虚拟交换单元进行初始化处理时,可以仅进行软件表项的初始化。
需要说明的是,在本发明实施例中,当交换设备中包括多个主控板时,主控板(主用主控板)接收到目标MDC创建指令时,还需要向备用主控板也发送该目标MDC创建指令,以使备用主控板创建目标MDC。
其中,备用主控板创建目标MDC的具体实现可以参见主用主控板创建目标MDC的相关描述,本发明实施例在此不再赘述。
步骤102、当接收到目标接口板的目标交换芯片与目标MDC的对应关系的配置指令,并接收到针对目标接口板的目标交换芯片与目标MDC的对应关系的配置指令,并接收到针对目标接口板的目标MDC创建指令时,向目标接口板发送携带目标交换芯片与目标MDC的对应关系的目标MDC创建指令,以使目标接口板创建对应目标MDC的第二目标容器,在第二目标容器中运行交换设备的用户态进程,由第二目标容器中运行的驱动进程对目标交换芯片进行初始化处理。
本发明实施例中,目标接口板并不特指某一固定的接口板,而是可以指代交换设备中任意一块或多块接口板,本发明实施例后续不再复述。
本发明实施例中,当在交换设备中创建MDC时,除了需要在主控板上创建MDC,还需要在接口板上创建MDC;此外,在接口板上创建MDC时,需要指定MDC对应的交换芯片。
即在本发明实施例中,当在交换设备中创建MDC时,还需要向主控板下发针对至少一个接口板(本文中称为目标接口板)的MDC创建指令,并指定该接口板上与该MDC对应的交换芯片(本文中称为目标交换芯片)。
相应地,在本发明实施例中,当主控板接收到目标接口板的目标交换芯片与所述目标MDC的对应关系的配置指令,并接收到针对所述目标接口板的目标MDC创建指令时,可以向目标接口板发送携带目标交换芯片与目标MDC的对应关系的目标MDC创建指令。
其中,目标接口板接收到该目标MDC创建指令时的具体处理流程可以参见图2所示方法流程中的相关描述,本发明实施例在此不做赘述。
进一步地,在本发明实施例中,当需要进行表项(如ARP(Address ResolutionProtocol,地址解析协议)表项或路由表项等)下发时,需要由主控板进行表项标识(entryID)申请,并将所申请的表项标识同步给接口板,由接口板在对应的交换芯片上进行表项下发。
相应地,在本发明其中一个实施例中,上述MDC实现方法还可以包括:
当第一目标容器中的目标上层应用进程需要进行目标表项下发时,通过第一目标容器对应的虚拟交换单元进行目标表项的表项标识申请;
向目标接口板发送目标表项下发指令,该目标表项下发指令携带有目标表项的表项信息、目标表项的表项标识以及目标MDC的MDC标识,以使第二目标容器中的驱动进程根据目标表项的表项信息和所申请的目标表项的表项标识在目标交换芯片中下发目标表项。
在该实施例中,当第一目标容器中的任一上层应用进程(本文中称为目标上层应用进程)需要进行表项(本文中称为目标表项)下发时,如用户通过命令行的方式配置目标上层应用进程进行表项下发,或者,目标上层应用进程动态学习触发表项下发,第一目标容器的驱动进程可以通过调用第一目标容器对应的虚拟交换单元中的SDK的API函数申请目标表项的表项标识。
由于主控板并不存在物理的交换芯片,第一目标容器的驱动进程申请到目标表项的表项标识之后,不需要进行表项下发处理,而是将目标表项的表项标识返回给目标上层应用进程,由目标上层应用进程将目标表项的表项标识以及目标表项的表项信息(如ARP信息或路由信息等)同步给创建有目标MDC的接口板(即上述目标接口板)。
在一个示例中,主控板可以记录各接口板上创建的MDC的MDC标识(MDC ID),从而,第一目标容器的目标上层应用可以仅向创建了目标MDC的接口板(即目标接口板)发送目标表项下发指令,由目标接口板进行目标表项下发。
在另一个示例中,第一目标容器的目标上层应用进程可以将目标表项下发指令发送给全部接口板,由接口板根据目标表项下发指令中携带的MDC ID确定本接口板是否创建了对应的MDC,并在确定本接口板创建了对应的MDC时,进行目标表项下发处理;否则,不对该目标表项下发指令进行响应。
其中,目标接口板接收到目标表项下发指令时,进行目标表项下发的具体处理流程可以参见图2所示方法流程中的相关描述,本发明实施例在此不做赘述。
请参见图2,为本发明实施例提供的一种MDC实现方法的流程示意图,其中,该MDC实现方法可以应用于交换设备中的任一接口板(本文中称为目标接口板),如图2所示,该MDC实现方法可以包括以下步骤:
步骤201、接收主控板发送的携带有目标交换芯片与目标MDC的对应关系的目标MDC创建指令。
本发明实施例中,主控板向目标接口板发送目标MDC创建指令的具体实现流程可以参见图1所示方法流程中的相关描述,本发明实施例在此不再赘述。
步骤202、创建对应目标MDC的第二目标容器,并在第二目标容器中运行交换设备的用户态进程,由第二目标容器中运行的驱动进程对目标交换芯片进行初始化处理。
本发明实施例中,目标接口板接收到目标MDC创建指令时,可以响应该目标MDC创建指令,创建对应目标MDC的容器(本文中称为第二目标容器),并在该第二目标容器中运行交换设备的全部用户态进程。
其中,第二目标容器中的驱动进程初始化时,可以根据目标交换芯片与目标MDC的对应关系(如目标交换芯片的芯片ID与目标MDC的MDC ID)的对应关系,对与目标MDC的对应的交换芯片(本文中称为目标交换芯片)进行初始化处理。
其中,第二目标容器中的驱动进程对目标交换芯片进行初始化的具体处理流程可以参见现有驱动进程对交换芯片进行初始化的相关实现中的相关描述,本发明实施例在此不做赘述。
在本发明其中一个实施例中,上述MDC实现方法还可以包括:
接收主控板发送的目标表项下发指令,该目标表项下发指令携带有目标表项的表项信息、目标表项的表项表标识以及目标MDC的MDC标识;
指示第二目标容器中的驱动进程根据目标表项的表项信息和目标表项的表项标识在目标交换芯片中下发目标表项。
在该实施例中,主控板向目标接口板发送目标表项下发指令的具体实现可以参见图1所示方法流程中的相关描述,本发明实施例在此不再赘述。
在该实施例中,目标接口板接收到目标表项下发指令时,可以根据该目标表项下发指令中携带的目标MDC的MDC ID确定对应的容器(即上述第二目标容器)。
其中,为了实现上述目的,接口板中可以记录MDC与容器的对应关系(如MDC ID与容器ID)的对应关系,进而,接口板可以根据目标MDC的MDC ID查询MDC ID与容器ID的对应关系,确定目标MDC的MDC ID对应的容器。
在该实施例中,目标接口板确定了第二目标容器时,可以将目标表项的表项标识和目标表项的表项信息下发给第二目标容器的驱动进程,由第二目标容器的驱动进程根据该目标表项的表项标识和目标表项的表项信息在与目标MDC对应的交换芯片(即上述目标交换芯片)中下发目标表项。
其中,为了实现上述目的,接口板上可以记录MDC与交换芯片的对应关系(如MDCID与交换芯片ID的对应关系),进而,第二目标容器的驱动进程可以根据目标MDC的MDC ID查询MDC ID与交换芯片ID的对应关系,以确定目标MDC对应的目标交换芯片。
进一步地,在本发明实施例中,由于单板(包括主控板或接口板)上各容器相互独立的工作,因此对于需要CPU处理的报文,需要保证报文被转发至正确的容器中的用户态进程,以保证报文的正确处理。
相应地,在本发明其中一个实施例中,上述MDC实现方法还可以包括:
对于目标交换芯片接收到的需要上送CPU的报文,将该报文转发至目标交换芯片对应的第二目标容器中的驱动进程,由第二目标容器中的驱动进程进行处理。
在该实施例中,当目标接口板的目标交换芯片从外部端口接收到报文时,目标交换芯片可以确定该报文是否需要上送CPU(Center Process Unit,中央处理单元)处理。
例如,目标交换芯片可以根据该报文查询预先配置的ACL(Access Control List,访问控制列表),该ACL的匹配项可以为特定报文特征信息,动作项可以为将报文上送CPU处理。当目标交换芯片确定存在与该报文匹配的ACL表项时,将该报文上送CPU处理。
在该实施例中,当目标交换芯片确定该报文需要上送CPU处理时,目标交换芯片可以将该报文发送给CPU。CPU的内核态软件可以根据报文的入端口所在交换芯片(即目标交换芯片)查询交换芯片与MDC的对应关系,以及MDC与容器的对应关系,确定与目标交换芯片对应的容器(即第二目标容器)。
CPU的内核态软件确定了与目标交换芯片对应的第二目标容器时,可以将该报文发送至第二目标容器的驱动进程,由第二目标容器的驱动进程对该报文进行处理。
在一个示例中,接口板上各容器均在内核态存在一个收包队列,CPU的内核态软件确定了与目标交换芯片对应的第一容器时,CPU的内核态软件可以将该报文存入该第二目标容器对应的收包队列,并向第二目标容器的驱动进程发送中断通知,由第二目标容器的驱动进程从该收包队列中读取报文进行处理。
进一步地,考虑到不同单板的CPU之间也存在报文交互需求,且通常不同单板的CPU之间交互的报文需要是不同单板的相同MDC之间交互的报文。因此,为了保证报文被正常处理,不同单板的CPU之间交互的报文需要携带MDC ID信息。
其中,不同单板的CPU之间交互报文可以包括接口板与接口板之间交互报文,或主控板与接口板之间交互报文,该报文通常为协议报文、控制报文或系统报文等。
相应地,在本发明其中一个实施例中,上述MDC实现方法还可以包括:
对于需要跨单板传输的报文,第二目标容器的驱动进程在报文中携带目标MDC的MDC ID,并发送给另一目标接口板或主控板的CPU,由另一目标接口板的CPU将该报文发送至第二目标容器的驱动进程进行处理,或由主控板的CPU将该报文发送至第一目标容器的驱动进程进行处理。
下面以接口板向主控板发送报文为例,接口板向接口板发送报文以及主控板向接口板发送报文的实现同理可得。
在该实施例中,当目标接口板上的目标MDC中的上层应用进程需要向主控板发送报文时,目标MDC对应的容器(即上述第二目标容器)中的驱动进程可以在该报文中携带目标MDC的MDC ID,并通过IPC(Inter-Process Communication,进程间通信)方式发送给主控板的CPU。
主控板的内核态软件根据该报文中的MDC ID确定对应的MDC(即目标MDC),并确定该MDC对应的容器(即第一目标容器),进而,主控板的内核态软件可以将该报文存入第一目标容器的收包队列中,并向第一目标容器的驱动进程发送中断通知,以通知第一目标容器的驱动进程从收包队列中读取报文进行处理。
为了使本领域技术人员更好地理解本发明实施例提供的技术方案,下面结合具体应用场景对本发明实施例提供的技术方案进行说明。
请参见图3,为本发明实施例提供的一种具体应用场景的结构示意图,如图3所示,在该应用场景中,交换设备300包括主控板310和接口板320(图中仅示出一个接口板),接口板320包括交换芯片321、交换芯片322和交换芯片333。
基于图3所示应用场景,本发明实施例提供的MDC实现方案实现流程如下:
一、MDC创建
主控板310的CPU接收MDC1创建指令,创建对应MDC1的容器(下文中称为容器1),并在容器1中运行交换设备300中的全部用户态进程(假设包括上层应用进程331~338和驱动进程339),其示意图可以如图4A所示。
容器1中的驱动进程339初始化运行时,可以创建一个虚拟交换单元311,并对虚拟交换单元311进行初始化处理。
其中,虚拟交换单元311可以包括SDK软件部分,容器1中的驱动进程339对虚拟交换单元311进行初始化时仅需进行软件表项的初始化。
主控板310接收到针对接口板320的MDC1创建指令,以及接口板320的交换芯片321与MDC1的对应关系的配置指令。
主控板310向接口板320发送MDC1创建指令,该MDC1创建指令携带有交换芯片321与MDC1的对应关系。
接口板320接收到MDC1创建指令时,创建对应MDC1的容器(下文中称为容器2),并在容器2中运行交换设备300中的全部用户态进程(包括上层应用进程331~338和驱动进程339),其示意图可以如图4B所示。
其中,容器2中的驱动进程339初始化运行时,可以对交换芯片321进行初始化处理,并在运行过程中对交换芯片321进行管理。
二、表项下发
以容器1中的上层应用进程331(下文中以上层应用进程为ARP进程为例)进行表项(即ARP表项)下发为例。
当容器1中的上层应用进程331需要进行ARP表项1下发时,容器1中的上层应用进程331可以通知容器1中的驱动进程339进行表项标识申请。
容器1的驱动进程330调用虚拟交换单元311的SDK的API函数进行表项标识申请,并将所申请的表项标识返回给容器1的上层应用进程331。
由于主控板上并不存在物理的交换芯片,因此,主控板上并不需要进行实际的表项下发处理。
容器1的上层应用进程331可以向接口板320的CPU发送ARP表项1下发指令,该ARP表项1下发指令中携带ARP表项1的表项标识和表项信息,以及MDC1的MDC ID(假设为M1)。
接口板320的CPU接收到ARP表项1下发指令时,根据该ARP表项1下发指令中携带的MDC ID(即M1),确定对应的容器(即容器2),并将ARP表项1的表项标识和表项信息下发给容器2的驱动进程339,由容器2的驱动进程339根据ARP表项1的表项标识和表项信息生成ARP表项1并下发至交换芯片321。
需要说明的是,在本发明实施例中,当需要进行表项删除时,以容器1的上层应用进程331需要进行表项删除为例,容器1的上层应用进程331可以向接口板320的CPU发送携带有待删除表项的表项标识和MDC的MDC ID的表项删除指令,由接口板320的CPU将待删除表项的表项标识下发给容器2的驱动进程339,以使容器2的驱动进程339删除对应的表项。
三、报文上送接口板CPU处理
在该实施例中,交换芯片321上可以配置有用于指示交换芯片321将匹配的报文上送CPU处理的ACL表项。
当接口板320的交换芯片321从外部端口接收到报文时,可以根据该报文查询上述ACL表项,以确定是否存在匹配的ACL表项。
当接口板320的交换芯片321确定存在与该报文匹配的ACL表项时,接口板320的交换芯片321可以将报文上送CPU。
接口板320的CPU的内核态软件接收到该报文时,可以根据该报文的入端口所在交换芯片(即交换芯片321)确定该交换芯片对应的MDC(即MDC1),并进一步确定对应的容器(即容器2)。
接口板320的CPU的内核态软件可以将该报文存入容器2对应的收包队列,并向容器2的驱动进程339发送中断通知,以通知容器2的驱动进程339从收包队列中读取报文并进行处理。
四、跨单板报文传输
以接口板的CPU向主控板的CPU发送报文为例。
在该实施例中,当接口板320上的MDC1中的上层应用进程331需要向主控板310发送报文时,MDC1对应的容器(即容器2)中的驱动进程339可以在报文中增加一个消息头,用于携带MDC1的MDC ID(即M1),并通过IPC方式发向主控板310的CPU。
主控板310的内核态软件根据该报文中的MDC ID(即M1)确定对应的MDC(即MDC1),并确定该MDC对应的容器(即容器1),进而,主控板310的内核态软件可以将该报文存入容器1的收包队列中,并向容器1的驱动进程339发送中断通知,以通知容器1的驱动进程339从收包队列中读取报文进行处理。
通过以上描述可以看出,在本发明实施例提供的技术方案中,通过以容器的形式运行用户态进程,每个MDC对应一个容器,当接收到目标MDC创建指令时,创建对应目标MDC的第一目标容器,在第一目标容器中运行交换设备中的用户态进程,由第一目标容器中运行的驱动进程创建虚拟交换单元,并对虚拟交换单元进行初始化处理;当接收到目标接口板的目标交换芯片与目标MDC的对应关系的配置指令,并接收到针对目标接口板的目标MDC创建指令时,向目标接口板发送携带目标交换芯片与目标MDC的对应关系的目标MDC创建指令,以使目标接口板创建对应目标MDC的第二目标容器,在第二目标容器中运行交换设备的用户态进程,由第二目标容器中运行的驱动进程对目标交换芯片进行初始化处理,实现了针对用户态软件的MDC,扩展了MDC的应用场景。
请参见图5,为本发明实施例提供的一种MDC实现装置的结构示意图,其中,该MDC实现装置可以应用于上述方法实施例中的主控板,如图5所示,该MDC实现装置可以包括:接收单元510、创建单元520、运行单元530以及发送单元540;其中:
创建单元520,用于当接收单元510接收到目标MDC创建指令时,创建对应目标MDC的第一目标容器;
运行单元530,用于在第一目标容器中运行交换设备中的用户态进程,由第一目标容器中运行的驱动进程创建虚拟交换单元,并对虚拟交换单元进行初始化处理;
发送单元540,用于当接收单元510接收到目标接口板的目标交换芯片与目标MDC的对应关系的配置指令,并接收到针对目标接口板的目标MDC创建指令时,向目标接口板发送携带目标交换芯片与目标MDC的对应关系的目标MDC创建指令,以使目标接口板创建对应目标MDC的第二目标容器,在第二目标容器中运行交换设备的用户态进程,由第二目标容器中运行的驱动进程对目标交换芯片进行初始化处理。
请一并参见图6,为本发明实施例提供的另一种MDC实现装置的结构示意图,如图6所示,在图5所示MDC实现装置的基础上,图6所示的MDC实现装置还可以包括:申请单元540;其中:
申请单元540,用于当第一目标容器中的目标上层应用进程需要进行目标表项下发时,通过第一目标容器对应的虚拟交换单元进行目标表项的表项标识申请;
发送单元,具体用于向目标接口板发送目标表项下发指令,目标表项下发指令携带有目标表项的表项信息、目标表项的表项标识以及目标MDC的MDC标识,以使第二目标容器中的驱动进程根据目标表项的表项信息和目标表项的目标表项的表项标识在目标交换芯片中下发目标表项。
在可选实施例中,发送单元540,还用于对于需要跨单板传输的报文,通过第一目标容器的驱动进程在报文中携带目标MDC的MDC ID,并发送给目标接口板的CPU,由目标接口板的CPU将该报文发送至第二目标容器的驱动进程进行处理。
请参见图7,为本发明实施例提供的一种MDC实现装置的结构示意图,其中,该MDC实现装置可以应用于上述方法实施例中的接口板,如图7所示,该MDC实现装置可以包括:接收单元710、创建单元720以及运行单元730;其中:
接收单元710,用于接收主控板发送的携带有目标交换芯片与目标MDC的对应关系的目标MDC创建指令;
创建单元720,用于创建对应目标MDC的第二目标容器;
运行单元730,用于在第二目标容器中运行交换设备的用户态进程,由第二目标容器中运行的驱动进程对目标交换芯片进行初始化处理。
请一并参见图8,为本发明实施例提供的另一种MDC实现装置的结构示意图,如图8所示,在图7所示MDC实现装置的基础上,图8所示的MDC实现装置还可以包括:指示单元740;其中:
接收单元710,还用于接收主控板发送的目标表项下发指令,目标表项下发指令携带有目标表项的表项信息、目标表项的表项表标识以及目标MDC的MDC标识;
指示单元740,用于指示第二目标容器中的驱动进程根据目标表项的表项信息和目标表项的表项标识在目标交换芯片中下发目标表项。
请一并参见图9,为本发明实施例提供的另一种MDC实现装置的结构示意图,如图9所示,在图7所示MDC实现装置的基础上,图9所示的MDC实现装置还可以包括:第一发送单元750;其中:
第一发送单元750,用于对于目标交换芯片接收到的需要上送CPU的报文,将该报文转发至目标交换芯片对应的第二目标容器中的驱动进程,由第二目标容器中的驱动进程进行处理。
请一并参见图10,为本发明实施例提供的另一种MDC实现装置的结构示意图,如图10所示,在图7所示MDC实现装置的基础上,图10所示的MDC实现装置还可以包括:第二发送单元760;其中:
第二发送单元760,用于对于需要跨单板传输的报文,通过第二目标容器的驱动进程在报文中携带目标MDC的MDC ID,并发送给另一目标接口板或主控板的CPU,由另一目标接口板的CPU将该报文发送至第二目标容器的驱动进程进行处理,或由主控板的CPU将该报文发送至第一目标容器的驱动进程进行处理
需要说明的是,在实际应用中,第一发送单元750和第二发送单元760可以通过同一发送单元实现。
上述装置中各个单元的功能和作用的实现过程具体详见上述方法中对应步骤的实现过程,在此不再赘述。
对于装置实施例而言,由于其基本对应于方法实施例,所以相关之处参见方法实施例的部分说明即可。以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本发明方案的目的。本领域普通技术人员在不付出创造性劳动的情况下,即可以理解并实施。
由上述实施例可见,通过以容器的形式运行用户态进程,每个MDC对应一个容器,当接收到目标MDC创建指令时,创建对应目标MDC的第一目标容器,在第一目标容器中运行交换设备中的用户态进程,由第一目标容器中运行的驱动进程创建虚拟交换单元,并对虚拟交换单元进行初始化处理;当接收到目标接口板的目标交换芯片与目标MDC的对应关系的配置指令,并接收到针对目标接口板的目标MDC创建指令时,向目标接口板发送携带目标交换芯片与目标MDC的对应关系的目标MDC创建指令,以使目标接口板创建对应目标MDC的第二目标容器,在第二目标容器中运行交换设备的用户态进程,由第二目标容器中运行的驱动进程对目标交换芯片进行初始化处理,实现了针对用户态软件的MDC,扩展了MDC的应用场景。
本领域技术人员在考虑说明书及实践这里公开的发明后,将容易想到本发明的其它实施方案。本申请旨在涵盖本发明的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本发明的一般性原理并包括本发明未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本发明的真正范围和精神由下面的权利要求指出。
应当理解的是,本发明并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本发明的范围仅由所附的权利要求来限制。

Claims (14)

1.一种MDC实现方法,应用于交换设备中的主控板,其特征在于,该方法包括:
当接收到目标MDC创建指令时,创建对应所述目标MDC的第一目标容器,在所述第一目标容器中运行所述交换设备中的用户态进程,由所述第一目标容器中运行的驱动进程创建虚拟交换单元,并对所述虚拟交换单元进行初始化处理;
当接收到目标接口板的目标交换芯片与所述目标MDC的对应关系的配置指令,并接收到针对所述目标接口板的目标MDC创建指令时,向所述目标接口板发送携带所述目标交换芯片与所述目标MDC的对应关系的目标MDC创建指令,以使所述目标接口板创建对应所述目标MDC的第二目标容器,在所述第二目标容器中运行所述交换设备的用户态进程,由所述第二目标容器中运行的驱动进程对所述目标交换芯片进行初始化处理。
2.根据权利要求1所述的方法,其特征在于,所述方法还包括:
当所述第一目标容器中的目标上层应用进程需要进行目标表项下发时,通过所述第一目标容器对应的虚拟交换单元进行目标表项的表项标识申请;
向所述目标接口板发送目标表项下发指令,所述目标表项下发指令携带有所述目标表项的表项信息、所述目标表项的表项标识以及所述目标MDC的MDC标识,以使所述第二目标容器中的驱动进程根据所述目标表项的表项信息和所述目标表项的表项标识在所述目标交换芯片中下发所述目标表项。
3.根据权利要求1所述的方法,其特征在于,所述方法还包括:
对于需要跨单板传输的报文,第一目标容器的驱动进程在报文中携带目标MDC的MDCID,并发送给目标接口板的CPU,由目标接口板的CPU将该报文发送至第二目标容器的驱动进程进行处理。
4.一种MDC实现方法,应用于交换设备中的接口板,其特征在于,该方法包括:
接收主控板发送的携带有目标交换芯片与目标MDC的对应关系的目标MDC创建指令;
创建对应所述目标MDC的第二目标容器,并在所述第二目标容器中运行所述交换设备的用户态进程,由所述第二目标容器中运行的驱动进程对所述目标交换芯片进行初始化处理。
5.根据权利要求4所述的方法,其特征在于,所述方法还包括:
接收所述主控板发送的目标表项下发指令,所述目标表项下发指令携带有所述目标表项的表项信息、所述目标表项的表项表标识以及所述目标MDC的MDC标识;
指示第二目标容器中的驱动进程根据目标表项的表项信息和目标表项的表项标识在目标交换芯片中下发目标表项。
6.根据权利要求4所述的方法,其特征在于,所述方法还包括:
对于所述目标交换芯片接收到的需要上送CPU的报文,将该报文转发至所述目标交换芯片对应的所述第二目标容器中的驱动进程,由所述第二目标容器中的驱动进程进行处理。
7.根据权利要求4所述的方法,其特征在于,所述方法还包括:
对于需要跨单板传输的报文,第二目标容器的驱动进程在报文中携带目标MDC的MDCID,并发送给另一目标接口板或所述主控板的CPU,由另一目标接口板的CPU将该报文发送至所述第二目标容器的驱动进程进行处理,或由所述主控板的CPU将该报文发送至第一目标容器的驱动进程进行处理。
8.一种MDC实现装置,应用于交换设备中的主控板,其特征在于,该装置包括:接收单元、创建单元、运行单元以及发送单元;其中:
所述创建单元,用于当所述接收单元接收到目标MDC创建指令时,创建对应所述目标MDC的第一目标容器;
所述运行单元,用于在所述第一目标容器中运行所述交换设备中的用户态进程,由所述第一目标容器中运行的驱动进程创建虚拟交换单元,并对所述虚拟交换单元进行初始化处理;
所述发送单元,用于当所述接收单元接收到目标接口板的目标交换芯片与所述目标MDC的对应关系的配置指令,并接收到针对所述目标接口板的目标MDC创建指令时,向所述目标接口板发送携带所述目标交换芯片与所述目标MDC的对应关系的目标MDC创建指令,以使所述目标接口板创建对应所述目标MDC的第二目标容器,在所述第二目标容器中运行所述交换设备的用户态进程,由所述第二目标容器中运行的驱动进程对所述目标交换芯片进行初始化处理。
9.根据权利要求8所述的装置,其特征在于,所述装置还包括:申请单元;其中:
所述申请单元,用于当所述第一目标容器中的目标上层应用进程需要进行目标表项下发时,通过所述第一目标容器对应的虚拟交换单元进行目标表项的表项标识申请;
所述发送单元,具体用于向所述目标接口板发送目标表项下发指令,所述目标表项下发指令携带有所述目标表项的表项信息、所述目标表项的表项标识以及所述目标MDC的MDC标识,以使所述第二目标容器中的驱动进程根据所述目标表项的表项信息和所述目标表项的表项标识在所述目标交换芯片中下发所述目标表项。
10.根据权利要求8所述的装置,其特征在于,
所述发送单元,还用于对于需要跨单板传输的报文,通过第一目标容器的驱动进程在报文中携带目标MDC的MDC ID,并发送给目标接口板的CPU,由目标接口板的CPU将该报文发送至第二目标容器的驱动进程进行处理。
11.一种MDC实现装置,应用于交换设备中的接口板,其特征在于,该装置包括:接收单元、创建单元以及运行单元;其中:
所述接收单元,用于接收主控板发送的携带有目标交换芯片与目标MDC的对应关系的目标MDC创建指令;
所述创建单元,用于创建对应所述目标MDC的第二目标容器;
所述运行单元,用于在所述第二目标容器中运行所述交换设备的用户态进程,由所述第二目标容器中运行的驱动进程对所述目标交换芯片进行初始化处理。
12.根据权利要求11所述的装置,其特征在于,所述装置还包括:指示单元;其中:
所述接收单元,还用于接收所述主控板发送的目标表项下发指令,所述目标表项下发指令携带有所述目标表项的表项信息、所述目标表项的表项表标识以及所述目标MDC的MDC标识;
所述指示单元,用于指示第二目标容器中的驱动进程根据目标表项的表项信息和目标表项的表项标识在目标交换芯片中下发目标表项。
13.根据权利要求11所述的装置,其特征在于,所述装置还包括:第一发送单元;其中:
所述第一发送单元,用于对于所述目标交换芯片接收到的需要上送CPU的报文,将该报文转发至所述目标交换芯片对应的所述第二目标容器中的驱动进程,由所述第二目标容器中的驱动进程进行处理。
14.根据权利要求11所述的装置,其特征在于,所述装置还包括:第二发送单元;其中:
所述第二发送单元,用于对于需要跨单板传输的报文,通过第二目标容器的驱动进程在报文中携带目标MDC的MDC ID,并发送给另一目标接口板或所述主控板的CPU,由另一目标接口板的CPU将该报文发送至所述第二目标容器的驱动进程进行处理,或由所述主控板的CPU将该报文发送至第一目标容器的驱动进程进行处理。
CN201811007939.5A 2018-08-31 2018-08-31 一种mdc实现方法及装置 Active CN109194589B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201811007939.5A CN109194589B (zh) 2018-08-31 2018-08-31 一种mdc实现方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201811007939.5A CN109194589B (zh) 2018-08-31 2018-08-31 一种mdc实现方法及装置

Publications (2)

Publication Number Publication Date
CN109194589A CN109194589A (zh) 2019-01-11
CN109194589B true CN109194589B (zh) 2021-01-26

Family

ID=64917169

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201811007939.5A Active CN109194589B (zh) 2018-08-31 2018-08-31 一种mdc实现方法及装置

Country Status (1)

Country Link
CN (1) CN109194589B (zh)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109981478B (zh) * 2019-02-18 2022-07-22 新华三信息安全技术有限公司 一种报文处理方法及装置
CN110891031B (zh) * 2019-11-29 2021-01-01 新华三半导体技术有限公司 同步信息并行写入方法及网络设备
CN112860489B (zh) * 2021-02-20 2024-02-09 杭州迪普科技股份有限公司 设备配置恢复方法及装置
CN113438186B (zh) * 2021-06-09 2023-02-28 新华三技术有限公司 一种转发报文的方法及装置

Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102752219A (zh) * 2012-07-18 2012-10-24 杭州华三通信技术有限公司 用于实现vd互连的方法和交换设备
US8601473B1 (en) * 2011-08-10 2013-12-03 Nutanix, Inc. Architecture for managing I/O and storage for a virtualization environment
CN103514043A (zh) * 2012-06-29 2014-01-15 华为技术有限公司 多处理器系统及该系统的数据处理方法
CN103684965A (zh) * 2013-12-06 2014-03-26 杭州华三通信技术有限公司 基于虚拟设备配置的交换设备和报文转发方法
CN105373727A (zh) * 2015-12-15 2016-03-02 福建实达电脑设备有限公司 基于虚拟设备重定向的设备隔离方法
CN105389199A (zh) * 2015-10-21 2016-03-09 同济大学 一种基于Xen的FPGA加速器虚拟化平台及应用
CN106529331A (zh) * 2016-10-31 2017-03-22 用友网络科技股份有限公司 一种应用于PaaS平台的多租户数据隔离方案
CN106569895A (zh) * 2016-10-24 2017-04-19 华南理工大学 一种基于容器的多租户大数据平台构建方法
CN108197273A (zh) * 2018-01-08 2018-06-22 青岛海信移动通信技术股份有限公司 一种多用户数据同步的方法及装置

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8935360B2 (en) * 2010-12-03 2015-01-13 Salesforce.Com, Inc. Techniques for metadata-driven dynamic content serving
US9804890B1 (en) * 2013-02-15 2017-10-31 Amazon Technologies, Inc. Termination policies for scaling compute resources

Patent Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8601473B1 (en) * 2011-08-10 2013-12-03 Nutanix, Inc. Architecture for managing I/O and storage for a virtualization environment
CN103514043A (zh) * 2012-06-29 2014-01-15 华为技术有限公司 多处理器系统及该系统的数据处理方法
CN102752219A (zh) * 2012-07-18 2012-10-24 杭州华三通信技术有限公司 用于实现vd互连的方法和交换设备
CN103684965A (zh) * 2013-12-06 2014-03-26 杭州华三通信技术有限公司 基于虚拟设备配置的交换设备和报文转发方法
CN105389199A (zh) * 2015-10-21 2016-03-09 同济大学 一种基于Xen的FPGA加速器虚拟化平台及应用
CN105373727A (zh) * 2015-12-15 2016-03-02 福建实达电脑设备有限公司 基于虚拟设备重定向的设备隔离方法
CN106569895A (zh) * 2016-10-24 2017-04-19 华南理工大学 一种基于容器的多租户大数据平台构建方法
CN106529331A (zh) * 2016-10-31 2017-03-22 用友网络科技股份有限公司 一种应用于PaaS平台的多租户数据隔离方案
CN108197273A (zh) * 2018-01-08 2018-06-22 青岛海信移动通信技术股份有限公司 一种多用户数据同步的方法及装置

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
《云平台PaaS层安全容器的设计与实现》;杨莎莎;《中国优秀硕士学位论文全文数据库 信息科技辑》;20131115;全部 *
《云计算虚拟化技术的发展与趋势》;武志学;《计算机应用》;20170430;第37卷(第4期);全部 *
Sungjoo Kang;Sungwon Kang;Sungjin Hur.A Design of the Conceptual Architecture for a Multitenant SaaS Application Platform.《2011 First ACIS/JNU International Conference on Computers, Networks, Systems and Industrial Engineering》.2011, *

Also Published As

Publication number Publication date
CN109194589A (zh) 2019-01-11

Similar Documents

Publication Publication Date Title
US10698717B2 (en) Accelerator virtualization method and apparatus, and centralized resource manager
CN109194589B (zh) 一种mdc实现方法及装置
US10917294B2 (en) Network function instance management method and related device
US9628290B2 (en) Traffic migration acceleration for overlay virtual environments
CN112398688B (zh) 容器网络配置方法、容器网络系统以及存储介质
US10880248B2 (en) Orchestrator agnostic application container visibility
US11296945B2 (en) Management method and apparatus
CN107733746B (zh) 一种混合云平台的组网方法及混合云平台系统
EP3327994A1 (en) Virtual network management
US11221866B2 (en) Accelerator loading method, system, and apparatus
EP3022888B1 (en) Network element and method of running applications in a cloud computing system
CN111345008B (zh) 移动边缘主机服务通知方法和装置
US10164914B2 (en) Network function virtualization (NFV) software-defined network (SDN) network-to-network interfaces (NNIs)
CN108322325A (zh) 一种虚拟机管理方法及装置
CN106982133B (zh) 一种更改虚拟网卡配置信息的方法、设备及系统
US11416267B2 (en) Dynamic hardware accelerator selection and loading based on acceleration requirements
WO2013178099A1 (zh) 一种实现远程桌面的系统、方法、客户端和服务中心
CN117061352A (zh) 多模态虚拟网元的实现方法、装置、设备及介质
CN109756490B (zh) 一种mdc实现方法及装置
CN108540408B (zh) 一种基于Openstack的分布式虚拟交换机的管理方法及系统
CN111092828B (zh) 网络操作方法、装置、设备和存储介质
CN108886476B (zh) 虚拟交换机数据平面和数据平面迁移的多个提供器框架
CN112769716B (zh) 基于混合型虚拟网桥的虚拟交换机的数据转发方法及装置
CN117041147B (zh) 智能网卡设备、主机设备和方法及系统
EP4274197A1 (en) Data communication managing component and method for performing guaranteed performance data communication

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant