掌桥专利:专业的专利平台
掌桥专利
首页

一种配置PCIE设备的方法、网络设备和存储介质

文献发布时间:2023-06-19 10:27:30


一种配置PCIE设备的方法、网络设备和存储介质

技术领域

本公开涉及通信技术领域,尤其涉及一种配置PCIE设备的方法、网络设备和存储介质。

背景技术

在安全防火墙网络设备中,为了支持接口类型的多样性,常常需要增加支持多种类型接口子卡(比如千兆、万兆接口等),接口子卡与主板CPU之间通常使用PCIE(peripheral component interconnect express,高速串行计算机扩展总线标准)总线进行连接。

根据不同的业务需求,系统中选择插入不同的接口子卡,因此要求系统能够在不掉电的情况下支持子卡的热插拔功能。比如防火墙设备在运行过程中,业务需要增加接口子卡以便扩展出更多的端口,但此时不能对防火墙断电重启。

发明内容

本公开提供了一种配置PCIE设备的方法、网络设备和存储介质,通过该方法,可以支持子卡热插拔。

本公开提供了一种配置PCIE设备的方法,该方法包括:

获取所述PCIE设备的各目标端口的预留资源,所述各目标端口用于接入子卡;

当识别某个目标端口接入子卡后,为该接入子卡的目标端口分配预留资源。

可选的,所述获取所述PCIE设备的各目标端口的预留资源,包括:

预先为各目标端口插入目标子卡,获取各目标端口用于支持目标子卡的最大资源规格,将该最大资源规格作为各目标端口的预留资源。

可选的,所述预先为各目标端口插入目标子卡,获取各目标端口用于支持目标子卡的最大资源规格,具体包括:

预先为各目标端口插入目标子卡,根据深度优先算法获取各目标端口用于支持目标子卡的最大资源规格,并将该最大资源规格作为各目标端口的预留资源。

可选的,所述预留资源包括:PCIE配置资源。

可选的,所述获取所述PCIE设备的各目标端口的预留资源后,所述方法还包括:将各目标端口对应的预留资源存储在PCIE设备的存储模块中,或者将预留资源存在对应的目标端口的寄存器中。

可选的,所述当识别某个目标端口接入子卡后,为该接入子卡的目标端口分配预留资源,具体包括:

当识别某个目标端口接入子卡后,从PCIE设备的存储模块,或者从该某个目标端口的寄存器中获取该某个目标端口的预留资源,并将获取的预留资源分配给该某个目标端口。

通过上述方法可以看出,通过预先为PCIE设备的目标端口预留资源,可以随时为新接入的子卡分配该预留的资源。

本公开还提供了一种网络设备,该网络设备中包括PCIE板卡,所述PCIE板卡上设有若干目标端口,所述若干目标端口用于接入子卡;

获取所述PCIE板卡的各目标端口的预留资源,所述预留资源包括:PCIE配置资源;

但识别某个目标端口接入子卡后,为该接入子卡的目标端口分配预留资源。

本公开还提供了一种网络设备,该网络设备包括:处理器和机器可读存储介质;

所述机器可读存储介质存储有能够被所述处理器执行的机器可执行指令,所述处理器被所述机器可执行指令促使:实现上述各实施例。

本公开还提供了一种机器可读存储介质,存储有机器可执行指令,在被处理器调用和执行时,所述机器可执行指令促使所述处理器:实现上述各实施例。

附图说明

此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本说明书的实施例,并与说明书一起用于解释本说明书的原理。

图1为本公开实施例提供的一种配置PCIE设备的方法的流程示意图;

图2为本公开实施例提供的一种网络架构示意图。

具体实施方式

这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本说明书相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本说明书的一些方面相一致的装置和方法的例子。

在本说明书使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本说明书。在本说明书和所附权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义。还应当理解,本文中使用的术语“和/或”是指并包含一个或多个相关联的列出项目的任何或所有可能组合。

应当理解,尽管在本说明书可能采用术语第一、第二、第三等来描述各种信息,但这些信息不应限于这些术语。这些术语仅用来将同一类型的信息彼此区分开。例如,在不脱离本说明书范围的情况下,第一信息也可以被称为第二信息,类似地,第二信息也可以被称为第一信息。取决于语境,如在此所使用的词语“如果”可以被解释成为“在……时”或“当……时”或“响应于确定”。

目前,在支持多个子卡的系统中插入了新的子卡,为了枚举新插入子卡,以及能够分配到可用的资源(包括BDF、BAR空间资源等),驱动软件需要对系统中所有的子卡进行资源进行重新分配和初始化,等到所有子卡资源重分配完成后,软件便可以重新开启相应的业务。

具体的,在子卡新插入系统时,上报一个中断,通知CPU处理插入事件。处理该事件主要是包括新插入子卡上转发芯片的PCIE资源分配(包括BDF总线资源、BAR资源等),且不能与其他的子卡的资源有冲突。因此需要重新枚举各个子卡,并且对所有的子卡动态分配资源,重新初始各个子卡的转发芯片,最后所有子卡便可以进行正常业务工作。

由上可以看出,当子卡接入正在运行的PCIE设备的目标端口时,会产生中断情况影响业务处理,而且需要耗费资源重新计算各目标端口的资源。

为解决上述技术问题,本公开实施例提供了一种配置PCIE设备的方法,如图1所示,该方法包括:

S101获取所述PCIE设备的各目标端口的预留资源,所述各目标端口用于接入子卡;

S102当识别某个目标端口接入子卡后,为该接入子卡的目标端口分配预留资源。

在本实施例中,预留资源包括:PCIE配置资源,具体的,该配置资源可包括:总线BUS、存储MEMORY、输入\输出IO资源。

其中,总线BUS包括:SecBus、PriBus资源;

存储MEMORY包括:membase、memlimit资源;

输入\输出IO包括:iobase、iolimit资源。

在步骤S101中,获取所述PCIE设备的各目标端口的预留资源的方法包括:

预先为各目标端口插入目标子卡,获取各目标端口用于支持目标子卡的最大资源规格,将该最大资源规格作为各目标端口的预留资源。

其中获取各目标端口用于支持目标子卡的最大资源规格的方法可以为通过深度优选算法获取支持目标子卡的最大资源规格。

具体的,为PCIE设备满规格插入目标子卡,设备上电完成,底层驱动完成PCIE主桥初始化,并按照深度优先算法枚举子卡PCIE设备,记录PCIE设备树的拓扑信息。从主桥开始遍历所有PCIE设备树,通过读取设备的VendorID、DeviceID,识别到子卡的转发芯片,记录BAR(base address register,PCIE协议中的基址地址寄存器)空间资源信息、BDF(busdevice function,总线号、设备号、功能号)信息,从而可以确认与之相连的目标端口的bus、memory、io等资源信息。

如图2所示,根据深度优先算法,当PCIE设备满规格插入目标子卡时,第一个被枚举到的是subslot1子卡,其BAR空间大小,假设为M1,从而可以确定与之相连的的下游端口(bus3,0,0)的base、limit范围大小至少为M1。第二个被枚举到的是子卡subslot2,确定其BAR空间大小,假设为M2,则与之向量的下有端口(bus4,0,0)的base、limit范围至少为M2,依次类推,枚举每个子卡时,根据其BAR空间大小,从而确定与之相连的目标端口的base、limit范围。

在步骤S102中,PCIE设备可以通过端口扫描,来识别是否有子卡接入了目标端口,当识别出某个目标端口接入了子卡,则为该目标端口分配对应的预留资源。

具体的,当识别某个目标端口接入子卡后,从PCIE设备的存储模块,或者从该某个目标端口的寄存器中获取该某个目标端口的预留资源,并将获取的预留资源分配给该某个目标端口。其中,PCIE设备的存储模块可以被理解成具有存储能力的物理设备,例如,硬盘、闪盘、存储条等,通过存储模块存储步骤S101中获取的各目标端口与对应的预留资源的对应关系,从而在PCIE设备识别出某个目标端口接入子卡后通过该对应关系调取对应的预留资源;或者,通过各目标端口的寄存器,将步骤S101中获取的各目标端口的预留资源存储至相应端口的寄存器中,当某个目标端口接入子卡后可直接调取对应的寄存器中的预留资源。

在一个实施例中,如图2所示,假设系统正在运行时子卡subslot1、subslot2、subslot4、subslot5在位,此时业务需要新插入子卡subslot3。插入子卡subslot3时上报一个中断,通知CPU处理插入事件。处理过程主要是包括新插入子卡转发芯片的PCIE资源分配,包括BDF、BAR资源等,从上述步骤可知,系统已经为各目标端口预留了预留资源,此时,当该端口插入subslot3,可直接调用预先分配的预留资源,无需中断其他子卡的业务,也无需利用CPU重新计算资源。

本公开实施例还提供了一种网络设备,该网络设备中包括PCIE板卡,所述PCIE板卡上设有若干目标端口,所述若干目标端口用于接入子卡,其中,该网络设备可以为安全防火墙设备,或者具有PCIE的网络设备。

获取所述PCIE板卡的各目标端口的预留资源,所述预留资源包括:PCIE配置资源;

但识别某个目标端口接入子卡后,为该接入子卡的目标端口分配预留资源。

本公开实施例还提供了一种网络设备,该网络设备包括:处理器和机器可读存储介质;

所述机器可读存储介质存储有能够被所述处理器执行的机器可执行指令,所述处理器被所述机器可执行指令促使:实现上述各实施例中的步骤。

本公开实施例还提供了一种机器可读存储介质,存储有机器可执行指令,在被处理器调用和执行时,所述机器可执行指令促使所述处理器:实现上述各实施例中的步骤。

上述对本说明书特定实施例进行了描述。其它实施例在所附权利要求书的范围内。在一些情况下,在权利要求书中记载的动作或步骤可以按照不同于实施例中的顺序来执行并且仍然可以实现期望的结果。另外,在附图中描绘的过程不一定要求示出的特定顺序或者连续顺序才能实现期望的结果。在某些实施方式中,多任务处理和并行处理也是可以的或者可能是有利的。

本领域技术人员在考虑说明书及实践这里申请的发明后,将容易想到本说明书的其它实施方案。本说明书旨在涵盖本说明书的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本说明书的一般性原理并包括本说明书未申请的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本说明书的真正范围和精神由下面的权利要求指出。

应当理解的是,本说明书并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本说明书的范围仅由所附的权利要求来限制。

以上所述仅为本说明书的较佳实施例而已,并不用以限制本说明书,凡在本说明书的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本说明书保护的范围之内。

相关技术
  • 一种配置PCIE设备的方法、网络设备和存储介质
  • 一种网络设备的功能模块配置方法、设备及存储介质
技术分类

06120112553993