CN112256618B - 一种映射关系确定方法及装置 - Google Patents

一种映射关系确定方法及装置 Download PDF

Info

Publication number
CN112256618B
CN112256618B CN202011149514.5A CN202011149514A CN112256618B CN 112256618 B CN112256618 B CN 112256618B CN 202011149514 A CN202011149514 A CN 202011149514A CN 112256618 B CN112256618 B CN 112256618B
Authority
CN
China
Prior art keywords
pcie
sub
forwarding chip
card
chip unit
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
CN202011149514.5A
Other languages
English (en)
Other versions
CN112256618A (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.)
New H3C Security Technologies Co Ltd
Original Assignee
New H3C Security 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 New H3C Security Technologies Co Ltd filed Critical New H3C Security Technologies Co Ltd
Priority to CN202011149514.5A priority Critical patent/CN112256618B/zh
Publication of CN112256618A publication Critical patent/CN112256618A/zh
Application granted granted Critical
Publication of CN112256618B publication Critical patent/CN112256618B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/38Information transfer, e.g. on bus
    • G06F13/42Bus transfer protocol, e.g. handshake; Synchronisation
    • G06F13/4282Bus transfer protocol, e.g. handshake; Synchronisation on a serial bus, e.g. I2C bus, SPI bus
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2213/00Indexing scheme relating to interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F2213/0026PCI express

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Information Transfer Systems (AREA)

Abstract

本申请提供了一种映射关系确定方法及装置,应用于网络设备中,该网络设备包括主板、至少一个PCIE交换芯片和通过所述PCIE交换芯片的端口连接的至少一个接口子卡,每个接口子卡具有卡槽,用于安装支持PCIE总线协议的转发芯片单元;该方法包括:获取确定出的PCIE设备的拓扑信息,PCIE设备包括PCIE交换芯片和转发芯片单元,针对拓扑信息中记录的每个转发芯片单元,扫描PCIE设备的拓扑信息,得到该转发芯片单元上游的PCIE交换芯片的标识信息;根据PCIE交换芯片的端口号与接口子卡的子卡槽位号之间对应关系,确定该转发芯片单元上游的PCIE交换芯片的端口号对应的接口子卡的子卡槽位号。采用上述方法,可以准确地获得转发芯片单元与子卡槽位号之间的映射关系。

Description

一种映射关系确定方法及装置
技术领域
本申请涉及计算机通信技术领域,尤其涉及一种映射关系确定方法及装置。
背景技术
在安全防火墙网络设备中,为了支持接口类型的多样性,常常需要增加支持多种类型的接口子卡(比如千兆、万兆接口等),这些接口子卡一般都包含一颗或多颗转发芯片单元unit。在产品的方案设计中,接口子卡与主板CPU之间通常使用高速串行计算机扩展总线标准(Peripheral Component Interconnect Express,PCIE)总线进行连接,把接口子卡上的转发芯片单元看作一个PCIE设备,这样在网络设备启动过程中CPU通过驱动软件对PCIE设备进行扫描配置和初始化。
根据不同的业务需求,实际插入接口子卡数量不同。为了方便管理接口,通常是按照槽位号、子卡槽位号、接口号来表示特定的接口。因此,驱动软件在初始化转发芯片单元unit时,通常是按照转发芯片单元unit所在子卡槽位号subslot顺序进行初始化。由于驱动软件枚举扫描得到的转发芯片单元unit与子卡槽位号subslot不是相等关系,因此需要建立一个映射关系,只有建立subslot与unit之间的映射关系,转发芯片单元unit才可以方便快捷的进行初始化。
现有技术在建立subslot与unit之间的映射关系时,一般是采用静态列举的方式,即根据子卡槽位的在位情况以及转发芯片单元unit的数目静态枚举各种可能的组合映射关系。然而随着产品支持的接口子卡数量越来越多,静态枚举转发芯片单元unit与subslot的映射关系的工作量越来越大,而且不够智能且容易出错。
因此,如何减轻维护转发芯片单元unit与subslot的映射关系的工作量且保证映射关系的准确性是值得考虑的技术问题之一。
发明内容
有鉴于此,本申请提供一种映射关系确定方法及装置,用以解决现有技术中采用静态枚举的方式确定转发芯片单元unit与subslot的映射关系而导致的工作量大且易出错的问题。
具体地,本申请是通过如下技术方案实现的:
根据本申请的第一方面,提供一种映射关系确定方法,应用于网络设备中,所述网络设备包括主板、至少一个高速串行计算机扩展总线标准PCIE交换芯片和通过所述PCIE交换芯片的端口连接的至少一个接口子卡,每个接口子卡具有卡槽,用于安装支持PCIE总线协议的转发芯片单元;以及所述方法,包括:
获取确定出的PCIE设备的拓扑信息,所述PCIE设备包括PCIE交换芯片和转发芯片单元,所述拓扑信息包括遍历到的每个PCIE交换芯片的标识信息和该PCIE交换芯片外接的转发芯片单元的标识信息,每个PCIE交换芯片的标识信息包括该PCIE交换芯片外接有转发芯片单元的端口的端口号;
针对所述拓扑信息中记录的每个转发芯片单元,扫描所述PCIE设备的拓扑信息,得到该转发芯片单元上游的PCIE交换芯片的标识信息;
根据PCIE交换芯片的端口号与接口子卡的子卡槽位号之间对应关系,确定该转发芯片单元上游的PCIE交换芯片的端口号对应的接口子卡的子卡槽位号;
基于各个转发芯片单元的标识信息,以及基于各个转发芯片单元分别确定出的接口子卡的子卡槽位号,获得转发芯片单元的标识信息与所在接口子卡的子卡槽位号之间的映射关系。
根据本申请的第二方面,提供一种映射关系确定装置,应用于网络设备中,所述网络设备包括主板、至少一个高速串行计算机扩展总线标准PCIE交换芯片和通过所述PCIE交换芯片的端口连接的至少一个接口子卡,每个接口子卡具有卡槽,用于安装支持PCIE总线协议的转发芯片单元;以及所述装置,包括:
获取模块,用于获取确定出的PCIE设备的拓扑信息,所述PCIE设备包括PCIE交换芯片和转发芯片单元,所述拓扑信息包括遍历到的每个PCIE交换芯片的标识信息和该PCIE交换芯片外接的转发芯片单元的标识信息,每个PCIE交换芯片的标识信息包括该PCIE交换芯片外接有转发芯片单元的端口的端口号;
扫描模块,用于针对所述拓扑信息中记录的每个转发芯片单元,扫描所述PCIE设备的拓扑信息,得到该转发芯片单元上游的PCIE交换芯片的标识信息;
确定模块,用于根据PCIE交换芯片的端口号与接口子卡的子卡槽位号之间对应关系,确定该转发芯片单元上游的PCIE交换芯片的端口号对应的接口子卡的子卡槽位号;
映射关系获得模块,用于基于各个转发芯片单元的标识信息,以及基于各个转发芯片单元分别确定出的接口子卡的子卡槽位号,获得转发芯片单元的标识信息与所在接口子卡的子卡槽位号之间的映射关系。
本申请实施例的有益效果:
通过PCIE交换芯片的端口号分别与转发芯片单元的标识信息的对应关系,以及与接口子卡的子卡槽位号的对应关系,可以动态确定出转发芯片单元与所在接口子卡的子卡槽位号之间的映射关系,无需采用静态枚举的方式确定映射关系,从而大大减少了工作量而且提高了确定出的映射关系的准确性。
附图说明
图1是本申请实施例提供的一种映射关系确定方法的流程图;
图2是本申请实施例提供的网络设备的内部结构示意图;
图3是本申请实施例提供的拓扑信息的存储结构逻辑示意图;
图4是本申请实施例提供的拓扑信息的存储结构示意图;
图5是本申请实施例提供的确定出的映射关系的示意图;
图6是本申请实施例提供的映射关系确定装置的框图。
具体实施方式
这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本申请相一致的所有实施方式。相反,它们仅是与如本申请的一些方面相一致的装置和方法的例子。
在本申请使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本申请。在本申请中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义。还应当理解,本文中使用的术语“和/或”是指并包含一个或多个相对应的列出项目的任何或所有可能组合。
应当理解,尽管在本申请可能采用术语第一、第二、第三等来描述各种信息,但这些信息不应限于这些术语。这些术语仅用来将同一类型的信息彼此区分开。例如,在不脱离本申请范围的情况下,第一信息也可以被称为第二信息,类似地,第二信息也可以被称为第一信息。取决于语境,如在此所使用的词语“如果”可以被解释成为“在……时”或“当……时”或“响应于确定”。
发明人发现,目前在确定网络设备中转发芯片单元unit与子卡槽位号subslot之间的映射关系时,是采用静态枚举的方式。例如,假设网络设备中最多存在M个接口子卡,每个接口子卡上存在1个转发芯片单元unit。则在产品软件设计过程中,根据驱动软件识别到的转发芯片单元unit的总数S(S小于等于M),静态枚举判断这S个转发芯片单元分别属于哪些接口子卡,则静态枚举方式大致如下:
S(unit)=1,表示驱动软件共枚举到1个转发芯片单元unit,这1个转发芯片单元位于某一个接口子卡上,此时需要通过相关逻辑判断才能确定位于哪个接口子卡,比如通过复杂可编程逻辑器件(Complex Programming logic device,CPLD)判断接口子卡是否在位的方式确定;
S(unit)=2,表示驱动软件共枚举到2个转发芯片单元,这2个转发芯片单元unit的subslot可能为0~M-1任意2个接口子卡上,需要通过相关逻辑判断;
.....
S(unit)=k,表示驱动软件共枚举到k个转发芯片单元unit,k个转发芯片单元unit的subslot可能为0~M-1任意k个在位,同样需要通过相关逻辑判断。
由此可知,采用静态枚举的方式确定转发芯片单元unit与接口子卡subslot之间的映射关系不仅工作量大而且费时易出错。
有鉴于此,本申请提供了一种映射关系确定方法,预先枚举确定出网络设备中支持PCIE总线协议的PCIE设备的拓扑信息,PCIE设备包括PCIE交换芯片和转发芯片单元,然后再针对每个转发芯片单元,从上述拓扑信息中扫描得到该转发芯片单元上游的PCIE交互芯片的标识信息;然后再根据PCIE交换芯片的端口号与接口子卡的子卡槽位号之间固定的对应关系,确定该转发芯片单元上游的PCIE交换芯片的端口号对应的接口子卡的子卡槽位号,从而可以确定出该转发芯片单元的标识信息与确定出的接口子卡的子卡槽位号之间的映射关系,进而可以基于各个转发芯片单元的标识信息,以及基于各个转发芯片单元分别确定出的接口子卡的子卡槽位号,获得转发芯片单元的标识信息与接口子卡的子卡槽位号之间的映射关系。由此,通过PCIE交换芯片的端口号分别与转发芯片单元的标识信息的对应关系,以及与接口子卡的子卡槽位号的对应关系,可以动态确定出转发芯片单元与所在接口子卡的子卡槽位号之间的映射关系,无需采用静态枚举的方式确定映射关系,从而大大减少了工作量而且提高了确定出的映射关系的准确性。
需要说明的是,本申请中的PCIE交换芯片Switch,也称PCIE开关或PCIE交换机,主用用于将PCIE设备互联,PCIE Switch芯片与PCIE设备的通信协议都是PCIE协议。
下面对本申请提供的映射关系确定方法进行详细地说明。
参见图1,图1是本申请提供的一种映射关系确定方法的流程图,应用于网络设备中,该网络设备包括主板、至少一个高速串行计算机扩展总线标准PCIE交换芯片和通过所述PCIE交换芯片的端口连接的至少一个接口子卡,每个接口子卡具有卡槽,用于安装支持PCIE总线协议的转发芯片单元。为了方便示意,请参考图2所示,图2中网络设备包括主板连接一个PCIE交换芯片Switch,该PCIE Switch通过端口port0与主板CPU连接;该PCIESwitch的其余端口port1~port5分别挂接有接口子卡,每个接口子卡可能安装有转发芯片单元unit。则上述网络设备实施该方法可包括如下所示步骤:
S101、获取确定出的PCIE设备的拓扑信息。
其中,上述PCIE设备包括PCIE交换芯片和转发芯片单元,上述拓扑信息包括遍历到的每个PCIE交换芯片的标识信息和该PCIE交换芯片外接的转发芯片单元的标识信息,每个PCIE交换芯片的标识信息包括该PCIE交换芯片外接有转发芯片单元的端口的端口号。
本步骤中,本申请涉及的PCIE设备是指网络设备中能够支持PCIE总线协议的设备,如PCIE主板、PICE Switch和转发芯片单元unit,而接口子卡不属于PCIE设备,基于此原理,可以利用PCIE总线协议这一属性,按照下述方法获得网络设备中PCIE设备的拓扑信息:当网络设备上电完成后,采用深度优先算法枚举得到网络设备中的PCIE设备的拓扑信息。
具体地,网络设备上电完成后,底层驱动会完成主板的初始化,启动深度优先算法枚举程序,扫描网络设备内所有部件,找到以主板为起点且支持PCIE总线协议的所有PCIE设备,以主板为起点,按照网络设备内部件之间的连接关系,以树形结构存储扫描到的PCIE设备,参考图2所示,PCIE Switch向上连接主板,向下连接接口子卡,当接口子卡内安装转发芯片单元时,会扫描到该转发芯片单元,则在存储时以树形结构将扫描到的主板、PCIESwitch和该转发芯片单元的标识信息进行存储,该转发芯片单元为子节点,PCIE Switch为该转发芯片单元的上游父节点,主板为该PCIE Switch的父节点(主板也可以理解为根节点),依次类推可以得到该网络设备的PCIE设备的拓扑信息,存储结构可以参考图3所示,主板通过PCIE总线bus1连接PCIE Switch的端口port1,扫描到PCIE Switch的其余5个端口均外接有转发芯片单元,参考图3中PCIE总线bus2外接5个框,这5个框代表PCIE Switch的5个端口port1~port5,每个端口通过各自的PCIE总线连接的框表示转发芯片单元unit0~unit4,即,port1通过bus3连接一个转发芯片单元unit0,port2通过bus4连接一个转发芯片单元unit1等等。实际应用中,图3中的主板、PCIE Switch和转发芯片单元分别用各自的标识信息来表征。
可选地,本实施例提供的转发芯片单元的标识信息包括所述转发芯片单元所在总线号、该转发芯片单元的设备号和功能号;以及上述PCIE交换芯片的标识信息还包括所述PCIE交换芯片的总线号和功能号。
具体地,每个PCIE设备具有BFD(Bus Device Function),包括总线号、设备号和功能号,用于唯一标识该PCIE设备,基于此,可以利用转发芯片单元的BFD作为该转发芯片单元的标识信息;相应地,利用PCIE Switch的BFD作为该PCIE Switch的标识信息,需要说明的是,该PCIE Switch的标识信息有总线号、设备号和功能号来标识PCIE Switch,该设备号用PCIE Switch的端口号表征,以便定位各个端口号外接的转发芯片单元,请参考图4所示,用(bus,device,function)表示各个PCIE设备的标识信息,例如,图4中host bridge(0,0,x)括号中三位分别用于表征PCIE主板的总线号,设备号,功能号,而bridge(1,0,x)括号中三位分别用于表征PCIE Switch与主板连接的总线号,端口号(属于上游端口号,也即设备号)和功能号;bridge(2,5,x)~bridge(2,5,x)括号中三位分别用于表征PCIE Switch下游端口号与PCIE Switch的上游端口号之间的总线号,下游端口号(也即设备号),功能号;device(3,0,x)~device(5,4,x)括号中3位分别用于表征转发芯片单元的总线号,设备号,功能号。需要说明的是,图4中括号内3位的数值仅是为了示例,可以根据实际情况更改,且x表示任意可填充的数,可以根据实际情况赋值。
此外,每个PCIE设备的标识信息还可以包括PCIE设备的厂牌ID(VendorID)和设备ID(DeviceID),通过厂牌ID和设备ID来唯一识别PCIE设备。例如,PCIE Switch有自己的厂牌ID和设备ID,每个转发芯片单元有自己的厂牌ID和设备ID,两个PCIE Switch可以具有相同的厂牌ID,但设备ID会不相同,同理,两个转发芯片单元可以具有相同的厂牌ID,但设备ID肯定不同。基于此,在遍历每个转发芯片单元时,可以基于厂牌ID和设备ID来区分拓扑信息中的转发芯片单元。
通过得到PCIE设备的拓扑信息,相当于确定了转发芯片单元的标识信息与PCIE交换芯片的端口号之间的对应关系。
可选地,上述拓扑信息中还可以包括扫描得到的转发芯片单元的总数S,且S小于等于子卡槽位的总数量M。
S102、针对所述拓扑信息中记录的每个转发芯片单元,扫描所述PCIE设备的拓扑信息,得到该转发芯片单元上游的PCIE交换芯片的标识信息。
本步骤中,基于步骤S101中的拓扑信息,针对扫描到的每个转发芯片单元(0~S-1),可以从拓扑信息中查找该转发芯片单元上游的PCIE Switch的标识信息,也即端口号,从而形成了转发芯片单元与PCIE Switch的端口号之间的对应关系,记为port=g(unit)。参考图4所示,device(3,0,0)对应bridge(2,1,0),表明转发芯片单元unit0与PCIE Switch的端口号1(port1)对应;同理,device(3,2,0)对应bridge(2,3,0),表明转发芯片单元unit2与PCIE Switch的端口号3(port3)对应。
S103、根据PCIE交换芯片的端口号与接口子卡的子卡槽位号之间对应关系,确定该转发芯片单元上游的PCIE交换芯片的端口号对应的接口子卡的子卡槽位号。
具体地,网络设备一旦硬件设计完成后,网络设备中PCIE交换芯片外接的接口子卡就固定了。也就是说,当PICE Switch下游端口分别挂接多个子卡时,端口port与接口子卡就存在固定关系,也即,PICE Switch的端口号与接口子卡的子卡槽位号subslot具有固定映射关系,记为subslot=f(port),而且上述端口号与接口子卡的子卡槽位号之间的固定映射关系可以采用硬件进行确定,当然也可以采用软件的方式确定,例如,将所有子卡都插在PCIE设备的各个端口上,然后执行一次PCIE枚举即可确定上述固定映射关系。需要说明的是,上述固定映射关系的执行过程可以预先确定出。在此基础上,当基于步骤S102确定出任一个转发芯片单元上游的PCIE Switch的标识信息后,可以基于确定出的标识信息中的端口号,以及本步骤中确定出的PCIE Switch的端口号与接口子卡的子卡槽位号,可以确定出该转发芯片单元上游的PICE Switch的端口号,也即外接该转发芯片单元的端口号对应的接口子卡的子卡槽位号,记为subslot=f(g(unit)),也即,确定该转发芯片单元的标识信息与确定出的接口子卡的子卡槽位号之间的映射关系。也请参考图2所示,可以获知PCIE Switch的port1与接口子卡的子卡槽位号subslot3对应,port2与接口子卡的子卡槽位号1对应,port3与接口子卡的子卡槽位号subslot4对应,port4与接口子卡的子卡槽位号subslot0对应,port5与接口子卡的子卡槽位号subslot2对应,在此基础上,当确定出转发芯片单元unit1对应PCIE Switch的端口号port1时,则可以基于前述说明,可以确定出转发芯片单元unit1与子卡槽位号subslot3之间的对应关系,也即转发芯片单元unit1在子卡槽位号subslot3所属的接口子卡中;同理可知,当确定出转发芯片单元unit2对应PCIESwitch的端口号port3时,则可以基于前述说明,可以确定出转发芯片单元unit2与子卡槽位号subslot4之间的对应关系,也即转发芯片单元unit2在子卡槽位号subslot4所属的接口子卡中,依次类推可以确定出各个转发芯片分别对应的子卡槽位号。
基于此,可以针对各个转发芯片单元(0~S-1)执行步骤S101~S103的实施过程,从而可以得出网络设备中当前在位的转发芯片单元各自对应的接口子卡的子卡槽位号。可选地,本实施例可以对枚举到的转发芯片单元进行排序,然后按序执行步骤S101~S103。当然,也可以不执行排序处理,然后每确定一个转发芯片单元对应的接口子卡,则将该转发芯片单元进行标记,也即通过标记的方法遍历完所有转发芯片单元等等,本申请对处理转发芯片单元的先后顺序不进行限定。
S104、基于各个转发芯片单元的标识信息,以及基于各个转发芯片单元分别确定出的接口子卡的子卡槽位号,获得转发芯片单元的标识信息与所在接口子卡的子卡槽位号之间的映射关系。
本步骤中,基于步骤S101~S103,可以确定出网络设备中当前各个转发芯片单元各自对应的子卡槽位号,在此基础上,可以记录转发芯片单元的BDF与接口子卡槽位号之间的映射关系,可以参考图5所示,为基于图2和图4确定出的转发芯片单元与子卡槽位号之间的映射关系。
可选地,本实施例提供的映射关系确定方法,还包括:
根据获得的转发芯片单元的标识信息与所在接口子卡的子卡槽位号之间的映射关系,按照子卡槽位号依次对转发芯片单元进行初始化。
具体地,在获得上述映射关系后,就可以按照子卡槽位号依次对子卡槽位号对应的转发芯片单元进行初始化,同时还可以对子卡槽位号所在的接口子卡连接的端口进行初始化。
值得注意的是,上述确定映射关系时,可以利用软件进行设计,实现动态确定转发芯片单元与子卡槽位号之间的映射关系,此外,采用软件的方法,可以有效的支持产品对应用的适用性,通用性更强,提升竞争力。
可选地,本实施例提供的映射关系确定方法,还包括:
将获得的转发芯片单元的标识信息与所在接口子卡的子卡槽位号之间的映射关系存储到数组中。
具体地,为了方便查找,可以将转发芯片单元的BDF与子卡槽位号记录在数组SubSlot2UnitMapping[]中,需要说明的是,数组元素初始化值为oxffff,为无效值,在写入上述映射关系时,利用BFD与子卡槽位号subslot替换oxffff。
在此基础上,在对转发芯片单元进行初始化时,可以基于数组中的记录按照subslot的顺序,对各自对应的转发芯片单元进行初始化。
通过实施本申请提供的映射关系确定方法,先扫描得到网络设备中支持PCEI总线协议的PCIE设备的拓扑信息,该拓扑信息中包括PICE Switch的端口号,以及转发芯片单元的标识信息;然后针对每个转发芯片单元,通过遍历拓扑信息可以确定该转发芯片单元上游的PCIE Switch的端口号,然后基于PCIE端口号与接口子卡的子卡槽位号之间的对应关系,确定该转发芯片单元与接口子卡的子卡槽位号之间的映射关系,基于此,可以动态地确定出网络设备中各个转发芯片单元分别对应的子卡槽位号。而且也无需采用静态枚举的方式确定映射关系,从而大大减少了工作量而且提高了确定出的映射关系的准确性。
基于同一发明构思,本申请还提供了与上述映射关系确定方法对应的映射关系确定装置。该映射关系确定装置的实施具体可以参考上述对映射关系确定方法的描述,此处不再一一论述。
参见图6,图6是本申请一示例性实施例提供的一种映射关系确定装置,应用于网络设备中,网络设备包括主板、至少一个高速串行计算机扩展总线标准PCIE交换芯片和通过所述PCIE交换芯片的端口连接的至少一个接口子卡,每个接口子卡具有卡槽,用于安装支持PCIE总线协议的转发芯片单元;以及上述装置,包括:
获取模块601,用于获取确定出的PCIE设备的拓扑信息,所述PCIE设备包括PCIE交换芯片和转发芯片单元,所述拓扑信息包括遍历到的每个PCIE交换芯片的标识信息和该PCIE交换芯片外接的转发芯片单元的标识信息,每个PCIE交换芯片的标识信息包括该PCIE交换芯片外接有转发芯片单元的端口的端口号;
扫描模块602,用于针对所述拓扑信息中记录的每个转发芯片单元,扫描所述PCIE设备的拓扑信息,得到该转发芯片单元上游的PCIE交换芯片的标识信息;
确定模块603,用于根据PCIE交换芯片的端口号与接口子卡的子卡槽位号之间对应关系,确定该转发芯片单元上游的PCIE交换芯片的端口号对应的接口子卡的子卡槽位号;
映射关系获得模块604,用于基于各个转发芯片单元的标识信息,以及基于各个转发芯片单元分别确定出的接口子卡的子卡槽位号,获得转发芯片单元的标识信息与所在接口子卡的子卡槽位号之间的映射关系。
可选地,本实施例提供的映射关系确定装置,还包括:初始化模块605,也请参考图6所示,其中:
初始化模块605,用于根据获得的转发芯片单元的标识信息与所在接口子卡的子卡槽位号之间的映射关系,按照子卡槽位号依次对转发芯片单元进行初始化。
可选地,本实施例提供的映射关系确定装置,还包括:存储模块606,也请参考图6所示,其中:
存储模块606,用于将获得的转发芯片单元的标识信息与接口子卡的子卡槽位号之间的映射关系存储到数组中。
可选地,本实施例提供的映射关系确定装置,还包括:拓扑信息获得模块607,也请参考图6所示,其中:
拓扑信息获得模块607,用于当所述网络设备上电完成后,采用深度优先算法枚举得到所述网络设备中的PCIE设备的拓扑信息。
通过PCIE交换芯片的端口号分别与转发芯片单元的标识信息的对应关系,以及与接口子卡的子卡槽位号的对应关系,可以动态确定出转发芯片单元与所在接口子卡的子卡槽位号之间的映射关系,无需采用静态枚举的方式确定映射关系,从而大大减少了工作量而且提高了确定出的映射关系的准确性。
需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
上述装置中各个单元/模块的功能和作用的实现过程具体详见上述方法中对应步骤的实现过程,在此不再赘述。
对于装置实施例而言,由于其基本对应于方法实施例,所以相关之处参见方法实施例的部分说明即可。以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元/模块可以是或者也可以不是物理上分开的,作为单元/模块显示的部件可以是或者也可以不是物理单元/模块,即可以位于一个地方,或者也可以分布到多个网络单元/模块上。可以根据实际的需要选择其中的部分或者全部单元/模块来实现本申请方案的目的。本领域普通技术人员在不付出创造性劳动的情况下,即可以理解并实施。
以上所述仅为本申请的较佳实施例而已,并不用以限制本申请,凡在本申请的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本申请保护的范围之内。

Claims (10)

1.一种映射关系确定方法,其特征在于,应用于网络设备中,所述网络设备包括主板、至少一个高速串行计算机扩展总线标准PCIE交换芯片和通过所述PCIE交换芯片的端口连接的至少一个接口子卡,每个接口子卡具有卡槽,用于安装支持PCIE总线协议的转发芯片单元;以及所述方法,包括:
获取确定出的PCIE设备的拓扑信息,所述PCIE设备包括PCIE交换芯片和转发芯片单元,所述拓扑信息包括遍历到的每个PCIE交换芯片的标识信息和该PCIE交换芯片外接的转发芯片单元的标识信息,每个PCIE交换芯片的标识信息包括该PCIE交换芯片外接有转发芯片单元的端口的端口号;
针对所述拓扑信息中记录的每个转发芯片单元,扫描所述PCIE设备的拓扑信息,得到该转发芯片单元上游的PCIE交换芯片的标识信息;
根据PCIE交换芯片的端口号与接口子卡的子卡槽位号之间对应关系,确定该转发芯片单元上游的PCIE交换芯片的端口号对应的接口子卡的子卡槽位号;
基于每个转发芯片单元的标识信息、该转发芯片单元上游的PCEI交换芯片的标识信息,以及该转发芯片单元上游的PCIE交换芯片的端口号对应的接口子卡的子卡槽位号,获得该转发芯片单元的标识信息与所在接口子卡的子卡槽位号之间的映射关系。
2.根据权利要求1所述的方法,其特征在于,还包括:
根据获得的转发芯片单元的标识信息与所在接口子卡的子卡槽位号之间的映射关系,按照子卡槽位号依次对转发芯片单元进行初始化。
3.根据权利要求1所述的方法,其特征在于,还包括:
将获得的转发芯片单元的标识信息与所在接口子卡的子卡槽位号之间的映射关系存储到数组中。
4.根据权利要求1所述的方法,其特征在于,所述PCIE设备的拓扑信息以树形结构存储。
5.根据权利要求1所述的方法,其特征在于,所述PCIE设备的拓扑信息为按照下述方法得到的:
当所述网络设备上电完成后,采用深度优先算法枚举得到所述网络设备中的PCIE设备的拓扑信息。
6.根据权利要求1所述的方法,其特征在于,所述转发芯片单元的标识信息包括所述转发芯片单元所在总线号、该转发芯片单元的设备号和功能号;以及
所述PCIE交换芯片的标识信息还包括所述PCIE交换芯片的总线号和功能号。
7.一种映射关系确定装置,其特征在于,应用于网络设备中,所述网络设备包括主板、至少一个高速串行计算机扩展总线标准PCIE交换芯片和通过所述PCIE交换芯片的端口连接的至少一个接口子卡,每个接口子卡具有卡槽,用于安装支持PCIE总线协议的转发芯片单元;以及所述装置,包括:
获取模块,用于获取确定出的PCIE设备的拓扑信息,所述PCIE设备包括PCIE交换芯片和转发芯片单元,所述拓扑信息包括遍历到的每个PCIE交换芯片的标识信息和该PCIE交换芯片外接的转发芯片单元的标识信息,每个PCIE交换芯片的标识信息包括该PCIE交换芯片外接有转发芯片单元的端口的端口号;
扫描模块,用于针对所述拓扑信息中记录的每个转发芯片单元,扫描所述PCIE设备的拓扑信息,得到该转发芯片单元上游的PCIE交换芯片的标识信息;
确定模块,用于根据PCIE交换芯片的端口号与接口子卡的子卡槽位号之间对应关系,确定该转发芯片单元上游的PCIE交换芯片的端口号对应的接口子卡的子卡槽位号;
映射关系获得模块,用于基于每个转发芯片单元的标识信息、该转发芯片单元上游的PCEI交换芯片的标识信息,以及该转发芯片单元上游的PCIE交换芯片的端口号对应的接口子卡的子卡槽位号,获得该转发芯片单元的标识信息与所在接口子卡的子卡槽位号之间的映射关系。
8.根据权利要求7所述的装置,其特征在于,还包括:
初始化模块,用于根据获得的转发芯片单元的标识信息与所在接口子卡的子卡槽位号之间的映射关系,按照子卡槽位号依次对转发芯片单元进行初始化。
9.根据权利要求7所述的装置,其特征在于,还包括:
存储模块,用于将获得的转发芯片单元的标识信息与接口子卡的子卡槽位号之间的映射关系存储到数组中。
10.根据权利要求7所述的装置,其特征在于,还包括:
拓扑信息获得模块,用于当所述网络设备上电完成后,采用深度优先算法枚举得到所述网络设备中的PCIE设备的拓扑信息。
CN202011149514.5A 2020-10-23 2020-10-23 一种映射关系确定方法及装置 Active CN112256618B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202011149514.5A CN112256618B (zh) 2020-10-23 2020-10-23 一种映射关系确定方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202011149514.5A CN112256618B (zh) 2020-10-23 2020-10-23 一种映射关系确定方法及装置

Publications (2)

Publication Number Publication Date
CN112256618A CN112256618A (zh) 2021-01-22
CN112256618B true CN112256618B (zh) 2022-10-21

Family

ID=74261951

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202011149514.5A Active CN112256618B (zh) 2020-10-23 2020-10-23 一种映射关系确定方法及装置

Country Status (1)

Country Link
CN (1) CN112256618B (zh)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113886312A (zh) * 2020-07-02 2022-01-04 许继集团有限公司 一种pcie总线寻址方法及装置
CN116028430B (zh) * 2023-03-28 2023-06-13 飞腾信息技术有限公司 一种pcie设备扫描方法及片上系统

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2016037503A1 (zh) * 2014-09-10 2016-03-17 华为技术有限公司 PCIe拓扑的配置方法和装置
WO2017031126A1 (en) * 2015-08-17 2017-02-23 Brocade Communications Systems, Inc. Pci express connected network switch
CN110855471A (zh) * 2019-09-30 2020-02-28 华为技术有限公司 端口映射方法、装置及设备

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8693208B2 (en) * 2010-08-06 2014-04-08 Ocz Technology Group, Inc. PCIe bus extension system, method and interfaces therefor
CN105721357B (zh) * 2016-01-13 2019-09-03 华为技术有限公司 交换设备、外围部件互连高速系统及其初始化方法
US10289560B2 (en) * 2016-03-10 2019-05-14 Toshiba Memory Corporation Switch module and storage system
CN110633177A (zh) * 2018-06-25 2019-12-31 中兴通讯股份有限公司 一种设备信息的获取方法及装置、服务器、存储介质
CN111538693A (zh) * 2020-04-27 2020-08-14 中国科学院自动化研究所 Pcie总线扩展系统及方法
CN111651397B (zh) * 2020-05-09 2022-11-15 山东浪潮科学研究院有限公司 一种访问PXIe外设模块的方法和设备
CN111736984B (zh) * 2020-05-28 2023-01-10 苏州浪潮智能科技有限公司 一种感知pcie设备numa分布平衡的方法、系统

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2016037503A1 (zh) * 2014-09-10 2016-03-17 华为技术有限公司 PCIe拓扑的配置方法和装置
WO2017031126A1 (en) * 2015-08-17 2017-02-23 Brocade Communications Systems, Inc. Pci express connected network switch
CN110855471A (zh) * 2019-09-30 2020-02-28 华为技术有限公司 端口映射方法、装置及设备

Also Published As

Publication number Publication date
CN112256618A (zh) 2021-01-22

Similar Documents

Publication Publication Date Title
CN101384985B (zh) Sas区域组权限表版本标识符
CN112256618B (zh) 一种映射关系确定方法及装置
US8386654B2 (en) System and method for transforming PCIe SR-IOV functions to appear as legacy functions
CN1908902A (zh) 沟通多个周边接口与多个周边控制器的管理系统与方法
US9195552B2 (en) Per-function downstream port containment
US7673031B1 (en) Resource mapping in a network environment
CN1503135A (zh) 计算机主机板输出入端口的测试方法
CN113760667B (zh) 一种硬盘管理方法、装置、可读存储介质及电子设备
CN112306867B (zh) 一种基于层序遍历自动检测系统i2c地址异常的方法
US20210248100A1 (en) Switch pruning in a switch fabric bus chassis
CN113612671B (zh) 总线适配器与通道绑定配置方法、映射管理器及连接系统
CN117111539B (zh) 以太网物理层芯片的控制方法及装置
CN113542092A (zh) 一种基于openstack的自动化引流方法
CN112463238A (zh) Pcie设备的报错定位方法、装置、bios和bmc
CN112231251A (zh) 板卡槽位识别方法、装置、通信设备及可读存储介质
CN103488505B (zh) 补丁方法、设备及系统
CN112667538B (zh) 一种获取网卡标识号方法、系统、设备以及介质
CN115878533A (zh) Ai服务器的自适应配置方法、装置、设备和存储介质
CN102082715A (zh) 网卡重置的测试方法
CN113688085A (zh) 一种pci-e设备的服务器接口管理结构和方法
JP7519571B2 (ja) バスアダプタとチャネルとのバインディング及び配置方法、並びにマッピング管理装置及び接続システム
CN103179004B (zh) 机柜拓朴的产生方法
US20240061556A1 (en) Discovering and testing a topology of a peripheral component interconnect board
CN117708004A (zh) 不同规格之转接卡信息的读取方法及基板管理控制模块
CN116010316A (zh) 一种接口复用电路、方法、装置、设备及介质

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