CN113132168B - 一种基于PCIe的网络传输配置方法和装置 - Google Patents
一种基于PCIe的网络传输配置方法和装置 Download PDFInfo
- Publication number
- CN113132168B CN113132168B CN202110476803.4A CN202110476803A CN113132168B CN 113132168 B CN113132168 B CN 113132168B CN 202110476803 A CN202110476803 A CN 202110476803A CN 113132168 B CN113132168 B CN 113132168B
- Authority
- CN
- China
- Prior art keywords
- pcie
- chip
- upper computer
- network
- network information
- 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
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/08—Configuration management of networks or network elements
- H04L41/0803—Configuration setting
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/38—Information transfer, e.g. on bus
- G06F13/42—Bus transfer protocol, e.g. handshake; Synchronisation
- G06F13/4282—Bus transfer protocol, e.g. handshake; Synchronisation on a serial bus, e.g. I2C bus, SPI bus
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/44—Arrangements for executing specific programs
- G06F9/4401—Bootstrapping
- G06F9/4411—Configuring for operating with peripheral devices; Loading of device drivers
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2213/00—Indexing scheme relating to interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F2213/0026—PCI express
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computer Security & Cryptography (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Information Transfer Systems (AREA)
Abstract
本公开实施例提供了一种基于PCIe的网络传输配置方法和设备,其中方法用于带有PCIe插槽的上位机,PCIe插槽上插入带有PCIe接口的芯片,包括:获取待配置的网络信息,网络信息包括用于上位机本地的第一网络信息、以及用于芯片的第二网络信息;将上位机本地的网络信息配置成第一网络信息;通过上位机与芯片之间的PCIe配置通道,配置芯片的网络信息为第二网络信息,以使得上位机与芯片根据配置完成的第一网络信息和第二网络信息在PCIe物理传输链路上进行数据传输。本方法使用PCIe设备模拟PHY设备的功能,能够让业务基于网络协议进行开发,充分利用了芯片的PCIe硬件资源,减少了芯片对PHY设备等硬件接口的依赖。
Description
技术领域
本公开涉及网络通信技术领域,具体涉及一种基于PCIe(Peripheral ComponentInterconnect express,高速串行计算机扩展总线标准)的网络传输配置方法和设备。
背景技术
网络协议是被广泛使用的一种从物理层到应用层的通信协议,通常情况下,芯片,比如SoC(System on Chip,系统级芯片),需要提供额外的PHY(Physical Layer,物理层)设备对网络传输中网络协议的实现进行支持,但是芯片的硬件资源是有限的,往往面临无法提供PHY设备或者PHY设备不足的情况。
发明内容
有鉴于此,本公开实施例提供一种基于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的网络传输方法,所述方法应用于带有PCIe插槽的上位机,所述PCIe插槽上插入带有PCIe接口的芯片,所述方法包括:
通过PCIe物理传输链路接收所述芯片发送的第一数据包,所述第一数据包携带第一目的网络地址,所述PCIe物理传输链路是所述上位机与所述芯片之间的数据传输通道。
响应于所述第一目的网络地址为上位机的网络地址,处理所述第一数据包。
结合本公开的任一实施方式,所述通过PCIe物理传输链路接收所述芯片发送的第一数据包,包括:由上位机本地的第一网络设备通过PCIe物理传输链路接收所述芯片发送的第一数据包,所述第一网络设备根据本公开的任一实施方式所述的方法进行网络传输配置。
结合本公开的任一实施方式,所述第一网络设备为网关,所述方法还包括:响应于所述第一目的网络地址不为上位机的网络地址,通过网关转发所述数据包。
第四方面,提供一种基于PCIe的网络传输方法,所述方法应用于带有PCIe接口的芯片,所述芯片插入上位机的PCIe插槽,包括:
通过PCIe物理传输链路接收所述上位机发送的第二数据包,所述第二数据包携带第二目的网络地址,所述PCIe物理传输链路是所述上位机与所述芯片之间的数据传输通道。
响应于所述第二目的网络地址为芯片的IP地址,处理所述第二数据包。
结合本公开的任一实施方式,所述通过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插槽,所述PCIe插槽用于插入带有PCIe接口的芯片;所述设备包括:接收器和处理器;
所述接收器,用于通过PCIe物理传输链路接收所述芯片发送的第一数据包,所述第一数据包携带第一目的网络地址,所述PCIe物理传输链路是所述上位机与所述芯片之间的数据传输通道;
所述处理器,用于响应于所述第一目的网络地址为上位机的网络地址,处理所述第一数据包。
结合本公开的任一实施方式,所述接收器,在用于通过PCIe物理传输链路接收所述芯片发送的第一数据包时,包括:由上位机本地的第一网络设备通过PCIe物理传输链路接收所述芯片发送的第一数据包,所述第一网络设备根据本公开的任一实施方式所述的方法进行网络传输配置。
结合本公开的任一实施方式,所述第一网络设备为网关,所述处理器,还用于响应于所述第一目的网络地址不为上位机的网络地址,通过网关转发所述数据包。
第八方面,提供一种芯片设备,所述芯片设备带有PCIe接口,所述PCIe接口用于插入带有PCIe插槽的上位机;所述设备包括:传输器和控制器;
所述传输器,用于通过PCIe物理传输链路接收所述上位机发送的第二数据包,所述第二数据包携带第二目的网络地址,所述PCIe物理传输链路是所述上位机与所述芯片之间的数据传输通道;
所述控制器,用于响应于所述第二目的网络地址为芯片的IP地址,处理所述第二数据包。
结合本公开的任一实施方式,所述传输器,在用于通过PCIe物理传输链路接收所上位机发送的第二数据包时,包括:由芯片本地的第二网络设备通过PCIe物理传输链路接收所述上位机发送的第二数据包,所述第二网络设备根据本公开的任一实施方式所述的方法进行网络传输配置。
第九方面,提供一种计算机可读存储介质,其上存储有计算机程序,所述程序被处理器执行时实现本公开任一实施例所述的基于PCIe的网络传输配置方法,或者实现本公开任一实施例所述的基于PCIe的网络传输方法。
第十方面,提供一种计算机程序产品,该产品包括计算机程序/指令,该计算机程序/指令被处理器执行时实现本公开任一实施例所述的基于PCIe的网络传输配置方法,或者实现本公开任一实施例所述的基于PCIe的网络传输方法。
本公开实施例提供的技术方案可以对上位机进行网络信息的配置,并通过独有的PCIe配置通道进行芯片的网络信息的配置,配置后的上位机和芯片可以通过PCIe物理传输链路进行基于传输层网络协议的数据通信,从而使用PCIe设备模拟实现PHY设备的功能,能够让业务基于网络协议进行开发,充分利用了芯片上的PCIe硬件资源,减少了芯片对PHY设备等硬件接口的依赖。
附图说明
为了更清楚地说明本公开一个或多个实施例或相关技术中的技术方案,下面将对实施例或相关技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本公开一个或多个实施例中记载的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1是本公开实施例示出的一种基于PCIe的网络传输配置方法的流程图;
图2是本公开实施例示出的另一种基于PCIe的网络传输配置方法的流程图;
图3是本公开实施例示出的又一种基于PCIe的网络传输配置方法的流程图;
图3A是本公开实施例示出的一种带有PCIe接口的芯片插入上位机的PCIe插槽的示意图;
图4是本公开实施例示出的一种基于PCIe的修改网络传输配置的方法的流程图;
图5是本公开实施例示出的一种基于PCIe的网络传输方法的流程图;
图6是本公开实施例示出的另一种基于PCIe的网络传输方法的流程图;
图7是本公开实施例示出的一种上位机设备的结构框图;
图8是本公开实施例示出的一种芯片设备的结构框图;
图9是本公开实施例示出的又一种上位机设备的结构框图;
图10是本公开实施例示出的又一种芯片设备的结构框图。
具体实施方式
这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本说明书相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本说明书的一些方面相一致的装置和方法的例子。
在本说明书使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本说明书。在本说明书和所附权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义。还应当理解,本文中使用的术语“和/或”是指并包含一个或多个相关联的列出项目的任何或所有可能组合。
应当理解,尽管在本说明书可能采用术语第一、第二、第三等来描述各种信息,但这些信息不应限于这些术语。这些术语仅用来将同一类型的信息彼此区分开。例如,在不脱离本说明书范围的情况下,第一信息也可以被称为第二信息,类似地,第二信息也可以被称为第一信息。取决于语境,如在此所使用的词语“如果”可以被解释成为“在……时”或“当……时”或“响应于确定”。
本公开实施例提供了一种区别于使用PHY设备对网络传输进行支持的方式,通过基于PCIe的物理传输方式的基础上进行网络传输配置实现对传输层网络协议的支持。
如图1所示,图1是本公开实施例示出的一种基于PCIe的网络传输配置方法的流程图,该方法可用于带有PCIe插槽的上位机,所述PCIe插槽上插入带有PCIe接口的芯片,包括以下步骤:
在步骤100中,获取待配置的网络信息,所述网络信息包括:用于所述上位机本地的第一网络信息、以及用于所述芯片的第二网络信息。
本实施例中,可以使用各种架构的主机设备作为上位机,比如ARM(Advanced RISCMachines,高级精简指令集处理器)架构的主机设备和X86架构的主机设备。上位机可以有一个或多个PCIe插槽,使用的芯片上有PCIe接口。系统开发人员可以根据实际需要选择芯片的数量,当使用多个芯片时,可以是多个PCIe插槽上插入着芯片的PCIe接口,当使用一个芯片时,也可以是只有其中一个PCIe插槽上插入着芯片的PCIe接口。
本步骤可以是在上位机启动后进行,也可以在上位机运行过程进行,待配置的网络信息包括IP(Internet Protocol,网际互连协议)地址,还可以包括子网掩码,设备名称和DNS(Domain Name System,域名系统)服务器地址等网络设备的基本配置信息中任一项或几项。具体地,用于上位机本地的第一网络信息包括上位机的IP地址,还可以包括子网掩码,主机名称和DNS服务器地址等基本配置信息。用于芯片的第二网络信息包括芯片的IP地址,还可以包括子网掩码,芯片名称和DNS服务器地址等基本配置信息。其中,第一网络信息和第二网络信息中的IP地址位于同一网段,子网掩码一致。
本实施例不限制上位机获取待配置的网络信息的具体方式,可以是接收系统开发人员输入的网络信息,也可以解析预置的配置文件得到网络信息,也可以是提前设定默认的网络信息。
在步骤102中,将所述上位机本地的网络信息配置成所述第一网络信息。
本步骤中,在上位机本地进行网络信息的配置可以是初次配置,也可以是对上次配置的修改即重新配置。当要配置的第一网络信息为上位机的IP地址时,可以是将上位机本地预先生成的基于PCIe的网卡或网关的IP地址配置为第一网络信息的IP地址。
在步骤104中,通过所述上位机与所述芯片之间的PCIe配置通道,配置所述芯片的网络信息为所述第二网络信息,以使得所述上位机与芯片根据配置完成的所述第一网络信息和第二网络信息在PCIe物理传输链路上进行数据传输。
本步骤中,上位机可以通过PCIe配置通道传输要配置给芯片的第二网络信息,PCIe配置通道为预先基于PCIe驱动生成的位于PCIe物理传输链路上的配置专用的通道,在上位机与芯片之间。PCIe物理传输链路是上位机与芯片之间的由PCIe插槽、PCIe接口和PCIe总线连接的真实的数据传输通道。对于多个芯片的情况,上位机与每个芯片之间都有一条单独的PCIe配置通道。芯片在通过PCIe配置通道接收到第二网络信息后,可以在芯片本地进行网络信息的配置,同样可以是初次配置,也可以是对上次配置的修改即重新配置。
在一实施例中,PCIe配置通道与上位机与芯片在PCIe物理传输链路上进行数据传输时使用的通道不同。PCIe配置通道位于PCIe物理传输链路上,与PCIe物理传输链路本身基础的通信功能所提供的信道不会有交叉,PCIe配置通道专用于配置芯片的第二网络信息,而PCIe物理传输链路本身基础的通信功能所提供的通道用于配置完成后上位机与芯片的数据传输。其中,PCIe物理传输链路本身基础的通信功能是指基于PCIe接口标准提供的端对端的高速率的可靠性传输。
PHY设备的硬件资源可以支持DHCP(Dynamic Host Configuration Protocol,动态主机配置协议)以及数据链路层的网络协议,可以实现局域网内的设备自动获得服务器分配的IP地址和子网掩码,从而可以支持基于传输层的网络协议的通信。而本公开提供的实施例使用了PCIe物理传输链路代替PHY设备提供网络传输的支持,并没有支持DHCP以及数据链路层的网络协议的硬件资源,所以提供了基于PCIe的网络传输配置方法进行网络传输配置。在上位机和芯片完成配置网络信息后,特别是IP地址的配置后,上位机与芯片即可以基于配置的网络信息通过PCIe物理传输链路进行数据传输,从而可以支持基于传输层的网络协议的通信。
本实施例提供的基于PCIe的网络传输配置方法可以对上位机进行网络信息的配置,并通过独有的PCIe配置通道进行芯片的网络信息的配置,配置后的上位机和芯片可以通过PCIe物理传输链路进行基于传输层网络协议的数据通信,从而使用PCIe设备模拟实现PHY设备的功能,能够让业务基于网络协议进行开发,充分利用了芯片上的PCIe硬件资源,减少了芯片对PHY设备等硬件接口的依赖。
如图2所示,图2是本公开实施例示出一种基于PCIe的网络传输配置方法的流程图,该方法应用于带有PCIe接口的芯片,该芯片插入上位机的PCIe插槽,包括以下步骤:
在步骤200中,接收上位机通过PCIe配置通道发送的第二网络信息。
本实施例中,芯片可以是各种类型的带有PCIe接口的芯片,比如,可以是AI(Artificial Intelligence,人工智能)芯片,芯片的PCIe接口插入上位机的PCIe插槽。
本步骤可以在上位机启动后芯片加电的情况下进行,也可以在上位机与芯片运行的状态下进行。芯片通过PCIe配置通道接收上位机发送的第二网络信息,第二网络信息包括芯片的IP地址,还可以包括子网掩码,芯片名称和DNS服务器地址等基本配置信息的任一项或几项。PCIe配置通道为预先基于PCIe驱动生成的位于PCIe物理传输链路上的配置专用的通道,在上位机与芯片之间。PCIe物理传输链路是上位机与芯片之间的由PCIe插槽、PCIe接口和PCIe总线连接的真实的数据传输通道。
在步骤202中,配置芯片本地的网络信息为所述第二网络信息。
本步骤中,在芯片本地进行网络信息的配置可以是初次配置,也可以是对上次配置的修改即重新配置。当要配置的第二网络信息为芯片的IP地址时,可以是将芯片本地预先生成的基于PCIe的网卡的IP地址配置为第二网络信息中的IP地址。在上位机和芯片完成配置网络信息后,特别是IP地址的配置后,上位机与芯片即可以基于配置的网络信息通过PCIe物理传输链路进行数据传输,从而可以支持基于传输层的网络协议的通信。
本实施例提供的基于PCIe的网络传输配置方法可以使上位机通过独有的PCIe配置通道进行芯片的网络信息的配置,配置后芯片可以通过PCIe物理传输链路与上位机进行基于传输层网络协议的数据通信,从而使用PCIe设备模拟实现PHY设备的功能,能够让业务基于网络协议进行开发,充分利用了芯片上的PCIe硬件资源,减少了芯片对PHY设备等硬件接口的依赖。
在一实施例中,PCIe配置通道与上位机与芯片在PCIe物理传输链路上进行数据传输时使用的通道不同。PCIe配置通道位于PCIe物理传输链路上,与PCIe物理传输链路本身基础的通信功能所提供的信道不会有交叉,PCIe配置通道专用于配置芯片的第二网络信息,而PCIe物理传输链路本身基础的通信功能所提供的通道用于配置完成后上位机与芯片的数据传输。其中,PCIe物理传输链路本身基础的通信功能是指基于PCIe接口标准提供的端对端的高速率的可靠性传输。
如图3所示,图3是本公开实施例示出一种基于PCIe的网络传输配置方法的流程图,该方法示例了在上位机启动后的初始配置过程,可以包括如下处理,其中,与图1和图2的流程相同的步骤将不再详述。
在步骤300中,上位机响应于检测到芯片的PCIe接口插入上位机的PCIe插槽,加载上位机本地的PCIe驱动程序,基于加载的上位机本地的PCIe驱动程序,生成上位机本地的第一网络设备和第一通道节点。
本实施例中,在配置网络信息之前,要加载PCIe驱动程序。PCIe驱动程序分为上位机端和芯片端两个版本,上位机预先在本地存储上位机端的PCIe驱动程序,芯片预先在本地存储芯片端的PCIe驱动程序。PCIe驱动程序用于在上位机和芯片之间建立基于PCIe物理传输链路的支持TCP(Transmission Control Protocol,传输控制协议)/IP协议栈的网络通信机制。
在上位机启动后自动安装上位机端的PCIe驱动程序,当检测到芯片的PCIe接口插入上位机的PCIe插槽时,加载该PCIe驱动程序,PCIe驱动程序会枚举插在PCIe插槽的芯片,并对每个芯片在本地生成专门用于配置芯片第二网络信息的第一通道节点,该第一通道节点位于上位机的外部设备目录下,并与芯片的数目对应,比如,对于linux系统,该第一通道节点在/dev目录下。第一通道节点可以是标准的设备节点形式,即以文件的形式存放在上位机的目录下,可以通过文件的方式进行访问。第一通道节点和芯片的第二通道节点连接了在PCIe物理传输链路上PCIe配置通道,即第一通道节点为PCIe配置通道在上位机端的出入口,该PCIe配置通道是与PCIe物理传输链路本身基础的通信功能独立的通道,与PCIe物理传输链路上的数据通信互不干扰。
PCIe驱动程序加载完毕后,会按照标准的网络设备规范生成第一网络设备,该第一网络设备可以通过ifconfig等网络查询命令查看,从上位机的角度来看,第一网络设备也可以看作一种网络接口。第一网络设备用于与芯片进行数据传输,具体的,可以是网卡或网关,也可以是具有网卡或网关相同数据传输功能的虚拟设备。根据芯片的插入情况,可以生成数量不同的第一网络设备。需要说明的是,芯片可以在上位机启动之前插入上位机的PCIe插槽,也可以在上位机启动之后插入上位机的PCIe插槽。上位机在检测到PCIe插槽插入着芯片的PCIe接口时,即可加载上位机端的PCIe驱动程序。
在步骤302中,响应于检测到芯片的PCIe接口插入所述上位机的PCIe插槽,加载芯片本地的PCIe驱动程序,基于加载的芯片本地的PCIe驱动程序,生成第二网络设备和第二通道节点。
当芯片的PCIe接口插入上位机的PCIe插槽,芯片加电启动,加载预先在本地存储的芯片端的PCIe驱动程序。可以将加载该PCIe驱动程序写入芯片的启动过程。基于该PCIe驱动程序,可以按照标准的网络设备规范在本地生成第二网络设备,以及按标准的设备节点形式生成第二通道节点。第二网络设备用于与上位机进行数据传输,可以是网卡,也可以是具有网卡相同数据传输功能的虚拟设备。第二通道节点和上位机的第一通道节点连接了在PCIe物理传输链路上PCIe配置通道,第二通道节点为PCIe配置通道在芯片端的出入口。
上位机端的第一通道节点和芯片端的第二通道节点的生成,建立了上位机与芯片之间的PCIe配置通道。
在步骤304中,上位机获取待配置的网络信息。
网络信息包括:用于上位机本地的第一网络信息、以及用于芯片的第二网络信息。网络信息包括IP地址,还可以包括其他网络设备的基本配置信息,以使上位机和芯片可以在传输层进行数据传输。
在步骤306中,上位机通过上位机与芯片之间的PCIe配置通道,传输配置给芯片的第二网络信息。
上位机通过第一通道节点发送第二网络信息并经PCIe配置通道传输到芯片的第二通道节点。
在步骤308中,芯片接收上位机通过PCIe配置通道发送的第二网络信息。配置芯片本地的网络信息为第二网络信息。
芯片通过第二通道节点接收经PCIe配置通道传输的第二网络信息,并配置本地的网络信息。
在步骤310中,芯片通过PCIe配置通道返回配置结果。
在配置成功的情况下可以通过第二通道节点返回第二网络信息在芯片配置成功的配置结果,在配置失败的情况下可以通过第二通道节点返回第二网络信息在芯片配置失败的配置结果。上位机在第一通道节点接收芯片通过PCIe配置通道返回的配置结果,在配置失败的情况下,可以重新进行配置。
在步骤312中,将上位机本地的网络信息配置成第一网络信息。
本步骤可以在步骤304之后任一步骤执行。
本实施例提供的基于PCIe的网络传输配置方法通过加载PCIe驱动程序,生成配置专用的通道节点和网络传输使用的网络设备,上位机通过通道节点连接的独有的PCIe配置通道对芯片进行网络信息的配置,可以对上位机进行网络信息的配置,配置后的上位机和芯片可以基于本地的网络设备通过PCIe物理传输链路进行基于传输层网络协议的数据通信,从而使用PCIe设备模拟实现PHY设备的功能,能够让业务基于网络协议进行开发,充分利用了芯片上的PCIe硬件资源,减少了芯片对PHY设备等硬件接口的依赖。
在一个示例中,当上位机插有多个芯片时,上述实施例中步骤300的生成上位机本地的第一网络设备和第一通道节点,可以是:
加载上位机端的PCIe驱动程序后,根据多个芯片的插入情况,在上位机本地生成分别与各个芯片对应的多个网卡作为所述第一网络设备,每个所述网卡对应一个芯片。在上位机本地生成分别与各个芯片对应的多个第一通道节点,每个第一通道节点与对应的一个芯片的第二通道节点连接一个PCIe配置通道。
比如,检测到三个PCIe插槽上分别插入了带有PCIe接口的芯片,如图3A,上位机包括三个PCIe插槽31,其上插入有芯片的PCIe接口32,则在上位机本地生成三张网卡和三个第一通道节点,每张网卡与一个芯片对应。同时,每个芯片也基于芯片端的PCIe驱动程序在芯片本地生成一张网卡和第二通道节点。上位机本地的每个第一通道节点与每个芯片的第二通道节点对应,并连接着一个该芯片专属的PCIe配置通道。在该例子中,共有三条专属的PCIe配置通道。
在本示例中,在配置上位机的第一网络信息时,需要为每一张网卡配置不同的IP地址,并且设置其中一张网卡为网关,在通过PCIe配置通道配置芯片的第二网络信息时,需要为每个芯片的网卡配置不同的IP地址,并且每个芯片的第二网络信息通过其专属的PCIe配置通道来传输。上述IP地址均处于同一网段,上位机和多个芯片组成了一个小型局域网,以实现网络设备间的互联通信。
在又一个示例中,当上位机插有多个芯片时,上述实施例中步骤300的生成上位机本地的第一网络设备和第一通道节点,可以是:
加载上位机端的PCIe驱动程序后,根据多个芯片的插入情况,在上位机本地生成对应多个芯片的一个网关作为第一网络设备,在上位机本地生成分别与各个芯片对应的多个所述第一通道节点,每个第一通道节点与对应的一个芯片的第二通道节点连接一个PCIe配置通道。
比如,检测到三个PCIe插槽上分别插入了带有PCIe的芯片,则在上位机本地生成一张网关和三个第一通道节点,网关与三个芯片对应。同时,每个芯片也基于芯片端的PCIe驱动程序在芯片本地生成一张网卡和第二通道节点。上位机本地的每个第一通道节点与每个芯片的第二通道节点对应,并连接着一个该芯片专属的PCIe配置通道。在该例子中,共有三条专属的PCIe配置通道。
在本示例中,在配置上位机的第一网络信息时,为网关配置IP地址,在通过PCIe配置通道配置芯片的第二网络信息时,需要为每个芯片的网卡配置不同的IP地址,并且每个芯片的第二网络信息通过其专属的PCIe配置通道来传输。上述IP地址均处于同一网段,上位机和多个芯片组成了一个小型局域网,以实现网络设备间的互联通信。并且,本示例在上位机本地生成了一张网关代替多张网卡,可以节省上位机本地的资源,也是的配置过程更为简单,提高了配置的效率。
如图4所示,图4是本公开实施例示出一种基于PCIe的修改网络传输配置方法的流程图,该方法示例了在上述实施例的基础上,在上位机和芯片运行时的修改配置过程,可以包括如下处理,其中,与前述流程相同的步骤将不再详述。
在步骤400中,获取原网络信息更新后的待配置的新网络信息。
新网络信息包括第一网络信息和第二网络信息,本实施例不限制新网络信息的获取方式。
比如,需要对上位机和芯片所属的网段进行修改时,新网络信息即为上位机和芯片更新后的IP地址。假设初始配置时,网段为192.168.1.X,上位机的第一网络信息中IP地址为192.168.1.1,三个芯片的第二网络信息中IP地址分别为192.168.1.2、192.168.1.3和192.168.1.4。现在需要将网段修改为192.168.2.X,则更新后的待配置的上位机的第一网络信息可以为192.168.2.1,待配置的三个芯片的第二网络信息中IP地址分别为192.168.2.2、192.168.2.3和192.168.2.4。
在步骤402中,将所述上位机本地的网络信息配置成更新后的第一网络信息。
修改上位机本地的网络信息为更新后的第一网络信息。特别地,当上位机配置有一个网关时,修改上位机本地的网络信息即为修改网关的信息,当上位机配置有多个网关时,修改上位机本地的网络信息即为分别修改多个网卡的信息,并且每张网卡的IP地址不同。
在步骤404中,通过所述上位机与所述芯片之间的PCIe配置通道,配置芯片的网络信息为更新后的第二网络信息。
上位机对不同的芯片采用不同的PCIe配置通道传输更新后的第二网络信息,芯片接收更新后的第二网络信息重新配置本地的网络信息,以使得上位机与芯片根据配置完成的第一网络信息和第二网络信息进行数据传输,并返回配置结果。
在步骤406中,上位机通过PCIe配置通道接收芯片返回的配置结果。
本实施例提供的基于PCIe的网络传输配置方法对上位机进行配置的修改,并通过独有的PCIe配置通道进行芯片配置的修改,可以根据运行时的需求修改网络信息的配置,修改配置后的上位机和芯片可以通过PCIe物理传输链路进行基于传输层网络协议的数据通信,从而使用PCIe设备模拟实现PHY设备的功能,能够让业务基于网络协议进行开发,充分利用了芯片上的PCIe硬件资源,减少了芯片对PHY设备等硬件接口的依赖。
如图5所示,图5是本公开实施例示出一种基于PCIe的网络传输方法的流程图,该方法应用于带有PCIe插槽的上位机,PCIe插槽上插入带有PCIe接口的芯片,该方法示例了在上位机和芯片工作时的网络传输过程,可以包括如下处理:
在步骤500中,通过PCIe物理传输链路接收芯片发送的第一数据包。
在本实施例中,上位机上可以插有一个或多个芯片,上位机与每个芯片都通过PCIe物理传输链路进行通信,PCIe物理传输链路是上位机与芯片之间的由PCIe插槽、PCIe接口和PCIe总线连接的真实的数据传输通道。
上位机可以通过PCIe物理传输链路接收任一芯片发送的第一数据包,第一数据包携带着第一目的网络地址,该第一目的网络地址可以是目的IP地址。
上位机也可以通过PCIe物理传输链路向任一芯片发送数据包。当上位机需要向目的芯片传输信息时,具体的,可以是采用广播的形式把数据包发送给所有插入PCIe插槽的芯片,数据包携带着目的芯片的网络地址,每个芯片可以通过对该网络地址进行校验来确认自己是否为该目的芯片。
特别的,在上位机配置有网关的情况下,可以将每个插入芯片的PCIe插槽视作不同的端口,在上位机本地建立一个路由表,该路由表中存放了芯片所在的PCIe插槽对应的端口与芯片的网络地址之间的对应关系,当上位机需要向目的芯片传输信息时,上位机可以根据目的芯片的网络地址查找其在路由表中对应的端口,然后将携带目的芯片的网络地址的数据包通过该端口发送给目的芯片。
在步骤502中,响应于所述第一目的网络地址为上位机的网络地址,处理所述第一数据包。
当第一数据包的第一目的网络地址是上位机的IP地址时,表明该数据包为芯片发给上位机的,上位机可以对该数据包进行处理而获取其中的业务信息。
当第一数据包的第一目的网络地址不是上位机的IP地址时,表明该数据包不为芯片发给上位机的,上位机不对该数据包进行进一步处理。上位机可以通过广播发送的方式将数据包转发给每个芯片。特别的,在上位机配置有网关的情况下,可以通过网关查询路由表中该第一目的网络地址对应的端口,并通过该端口转发数据包到该第一目的网络地址对应的芯片。
本实施例提供的基于PCIe的网络传输方法中上位机和芯片可以通过PCIe物理传输链路进行基于传输层网络协议的数据通信,从而使用PCIe设备模拟实现PHY设备的功能,能够让业务基于网络协议进行开发,充分利用了芯片上的PCIe硬件资源,减少了芯片对PHY设备等硬件接口的依赖。
在一示例中,通过PCIe物理传输链路接收所述芯片发送的第一数据包,包括:由上位机本地的第一网络设备通过PCIe物理传输链路接收芯片发送的第一数据包,其中的第一网络设备根据任一上述基于PCIe的网络传输配置的方法进行网络传输配置,PCIe物理传输链路根据任一上述基于PCIe的网络传输配置的方法生成,以实现上位机和芯片通过PCIe物理传输链路进行基于传输层网络协议的数据通信。
如图6所示,图6是本公开实施例示出一种基于PCIe的网络传输方法的流程图,该方法应用于带有PCIe接口的芯片,该芯片插入上位机的PCIe插槽,该方法示例了在上位机和芯片工作时的网络传输过程,可以包括如下处理:
在步骤600中,通过PCIe物理传输链路接收上位机发送的第二数据包。
在本实施例中,上位机与芯片通过PCIe物理传输链路进行通信,PCIe物理传输链路是上位机与芯片之间的由PCIe插槽、PCIe接口和PCIe总线连接的真实的数据传输通道。
芯片可以通过PCIe物理传输链路接收上位机发送的第二数据包,第二数据包携带着第二目的网络地址,也可以通过PCIe物理传输链路向上位机发送数据包。该第二目的网络地址可以是目的IP地址。当要芯片要发送数据包到另一个目的芯片的时候,可以在该数据包上携带另一个目的芯片的IP地址,发送给上位机后由上位机转发给目的芯片。
在步骤602中,响应于第二目的网络地址为芯片的网络地址,处理第二数据包。
当第二数据包的第二目的网络地址是该芯片的网络地址时,芯片可以对该数据包进行处理而获取其中的业务信息。
当第二数据包的第二目的网络地址不是该芯片的网络地址时,芯片可以直接丢弃该数据包。
本实施例提供的基于PCIe的网络传输方法中上位机和芯片可以通过PCIe物理传输链路进行基于传输层网络协议的数据通信,从而使用PCIe设备模拟实现PHY设备的功能,能够让业务基于网络协议进行开发,充分利用了芯片上的PCIe硬件资源,减少了芯片对PHY设备等硬件接口的依赖。
在一示例中,通过PCIe物理传输链路接收所上位机发送的第二数据包,包括:由芯片本地的第二网络设备通过PCIe物理传输链路接收上位机发送的第二数据包,第二网络设备根据任一上述基于PCIe的网络传输配置的方法进行网络传输配置,PCIe物理传输链路根据任一上述基于PCIe的网络传输配置的方法生成,以实现上位机和芯片通过PCIe物理传输链路进行基于传输层网络协议的数据通信。
上文对各个实施例的描述倾向于强调各个实施例之间的不同之处,其相同或相似之处可以互相参考,为了简洁,本文不再赘述。
本领域技术人员可以理解,在具体实施方式的上述方法中,各步骤的撰写顺序并不意味着严格的执行顺序而对实施过程构成任何限定,各步骤的具体执行顺序应当以其功能和可能的内在逻辑确定。
图7示例了一种上位机设备,该上位机设备包括PCIe插槽,PCIe插槽用于插入带有PCIe接口的芯片,该上位机设备能够执行本公开任一实施例的所示的应用于上位机的基于PCIe的网络传输方法,该上位机设备可以包括:处理器。
所述处理器71,用于获取待配置的网络信息,所述网络信息包括:用于所述上位机本地的第一网络信息、以及用于所述芯片的第二网络信息;
以及,将所述上位机本地的网络信息配置成所述第一网络信息;
以及,通过所述上位机与所述芯片之间的PCIe配置通道,配置所述芯片的网络信息为所述第二网络信息,以使得所述上位机与芯片根据配置完成的所述第一网络信息和第二网络信息在PCIe物理传输链路上进行数据传输。
在一实施例中,PCIe配置通道与所述上位机与芯片在PCIe物理传输链路上进行数据传输时使用的通道不同。PCIe配置通道位于PCIe物理传输链路上,与PCIe物理传输链路本身基础的通信功能所提供的信道不会有交叉。
在一实施例中,处理器71,在用于获取待配置的网络信时息,具体用于:获取原网络信息更新后的待配置的新网络信息,所述新网络信息包括所述第一网络信息和第二网络信息。
在一实施例中,处理器71,还用于在将所述上位机本地的网络信息配置成所述第一网络信息,通过所述上位机与所述芯片之间的PCIe配置通道配置所述芯片的网络信息为所述第二网络信息之前,响应于检测到所述芯片的PCIe接口插入所述上位机的PCIe插槽,加载所述上位机本地的PCIe驱动程序;基于加载的所述上位机本地的PCIe驱动程序,生成所述上位机本地的第一网络设备和第一通道节点,所述第一网络设备用于与所述芯片进行数据传输,所述第一通道节点用于和所述芯片的第二通道节点连接所述PCIe配置通道。
在一实施例中,所述上位机插有多个所述芯片,所述处理器71,在用于生成所述上位机本地的第一网络设备和第一通道节点时,包括:在上位机本地生成分别与各个所述芯片对应的多个网卡作为所述第一网络设备,每个所述网卡对应一个所述芯片;在上位机本地生成分别与各个所述芯片对应的多个所述第一通道节点,每个所述第一通道节点与对应的一个所述芯片的第二通道节点连接一个所述PCIe配置通道。
在又一实施例中,所述上位机插有多个所述芯片,所述处理器71,在用于生成所述上位机本地的第一网络设备和第一通道节点时,包括:在上位机本地生成对应多个所述芯片的一个网关作为所述第一网络设备;在上位机本地生成分别与各个所述芯片对应的多个所述第一通道节点,每个所述第一通道节点与对应的一个所述芯片的第二通道节点连接一个所述PCIe配置通道。
在一实施例中,所述处理器71,还用于:通过所述PCIe配置通道接收所述芯片返回的配置结果,所述配置结果用于表示所述第二网络信息是否在所述芯片配置成功。
本实施例提供的上位机设备可以基于PCIe在上位机本地进行网络信息的配置,并通过独有的PCIe配置通道进行芯片的网络信息的配置,配置后的上位机和芯片可以通过PCIe物理传输链路进行基于传输层网络协议的数据通信,从而使用PCIe设备模拟实现PHY设备的功能,能够让业务基于网络协议进行开发,充分利用了芯片上的PCIe硬件资源,减少了芯片对PHY设备等硬件接口的依赖。
图8示例了一种芯片设备,所述芯片设备带有PCIe接口,所述PCIe接口用于插入带有PCIe插槽的上位机;所述设备包括:
接收器81,用于接收上位机通过PCIe配置通道发送的第二网络信息。
控制器82,用于配置芯片本地的网络信息为所述第二网络信息。
在一实施例中,所述控制器82,还用于在所述接收上位机通过PCIe配置通道发送的第二网络信息之前,响应于检测到所述芯片的PCIe接口插入所述上位机的PCIe插槽,加载所述芯片本地的PCIe驱动程序;基于加载的所述芯片本地的PCIe驱动程序,生成第二网络设备和第二通道节点,所述第二网络设备用于与所述上位机进行数据传输,所述第二通道节点用于和上位机的第一通道节点连接所述PCIe配置通道。
本实施例提供的芯片设备可以接受上位机通过独有的PCIe配置通道进行芯片的网络信息的配置,配置后芯片可以通过PCIe物理传输链路与上位机进行基于传输层网络协议的数据通信,从而使用PCIe设备模拟实现PHY设备的功能,能够让业务基于网络协议进行开发,充分利用了芯片上的PCIe硬件资源,减少了芯片对PHY设备等硬件接口的依赖。
图9示例了一种上位机设备,所述上位机设备包括PCIe插槽,所述PCIe插槽用于插入带有PCIe接口的芯片;所述设备包括:
接收器91,用于通过PCIe物理传输链路接收所述芯片发送的第一数据包,所述第一数据包携带第一目的网络地址,所述PCIe物理传输链路是所述上位机与所述芯片之间的数据传输通道;
处理器92,用于响应于所述第一目的网络地址为上位机的网络地址,处理所述第一数据包。
在一实施例中,所述接收器91,在用于通过PCIe物理传输链路接收所述芯片发送的第一数据包时,包括:由上位机本地的第一网络设备通过PCIe物理传输链路接收所述芯片发送的第一数据包,所述第一网络设备根据本公开的任一实施方式所述的方法进行网络传输配置。
在一实施例中,所述第一网络设备为网关,所述处理器92,还用于响应于所述第一目的网络地址不为上位机的网络地址,通过网关转发所述数据包。
在一实施例中,上位机设备的处理器92还可以包括上述实施例的处理器71的功能以在网络传输之前进行基于PCIe的网络传输配置。
本实施例提供的上位机设备可以通过PCIe物理传输链路和芯片进行基于传输层网络协议的数据通信,从而使用PCIe设备模拟实现PHY设备的功能,能够让业务基于网络协议进行开发,充分利用了芯片上的PCIe硬件资源,减少了芯片对PHY设备等硬件接口的依赖。
图10示例了一种芯片设备,所述芯片设备带有PCIe接口,所述PCIe接口用于插入带有PCIe插槽的上位机;所述设备包括:
传输器101,用于通过PCIe物理传输链路接收所述上位机发送的第二数据包,所述第二数据包携带第二目的网络地址,所述PCIe物理传输链路是所述上位机与所述芯片之间的数据传输通道。
控制器102,用于响应于所述第二目的网络地址为芯片的IP地址,处理所述第二数据包。
在一实施例中,所述传输器101,在用于通过PCIe物理传输链路接收所上位机发送的第二数据包时,包括:由芯片本地的第二网络设备通过PCIe物理传输链路接收所述上位机发送的第二数据包,所述第二网络设备根据本公开的任一实施方式所述的方法进行网络传输配置。
在一实施例中,芯片设备还可以包括上述实施例的接收器81,控制器102还可以包括控制器82的功能以在网络传输之前进行基于PCIe的网络传输配置。
本实施例提供的芯片设备可以通过PCIe物理传输链路和上位机进行基于传输层网络协议的数据通信,从而使用PCIe设备模拟实现PHY设备的功能,能够让业务基于网络协议进行开发,充分利用了芯片上的PCIe硬件资源,减少了芯片对PHY设备等硬件接口的依赖。
上述设备中各个设施的功能和作用的实现过程具体详见上述方法中对应步骤的实现过程,在此不再赘述。
本公开实施例还提供了一种计算机程序产品,该产品包括计算机程序/指令,该计算机程序/指令被处理器执行时实现本公开任一实施例所述的基于PCIe的网络传输配置方法,或者实现本公开任一实施例所述的基于PCIe的网络传输方法。
本公开实施例还提供了一种计算机可读存储介质,其上存储有计算机程序,所述程序被处理器执行时实现本公开任一实施例所述的基于PCIe的网络传输配置方法,或者实现本公开任一实施例所述的基于PCIe的网络传输方法。
上文对各个实施例的描述倾向于强调各个实施例之间的不同之处,其相同或相似之处可以互相参考,为了简洁,本文不再赘述。
对于设备实施例而言,由于其基本对应于方法实施例,所以相关之处参见方法实施例的部分说明即可。以上所描述的设备实施例仅仅是示意性的,其中所述作为分离部件说明的设施可以是或者也可以不是物理上分开的,作为设施显示的部件可以是或者也可以不是物理设施,即可以位于一个地方,或者也可以分布到多个网络设施上。可以根据实际的需要选择其中的部分或者全部设施来实现本说明书方案的目的。本领域普通技术人员在不付出创造性劳动的情况下,即可以理解并实施。
上述对本说明书特定实施例进行了描述。其它实施例在所附权利要求书的范围内。在一些情况下,在权利要求书中记载的动作或步骤可以按照不同于实施例中的顺序来执行并且仍然可以实现期望的结果。另外,在附图中描绘的过程不一定要求示出的特定顺序或者连续顺序才能实现期望的结果。在某些实施方式中,多任务处理和并行处理也是可以的或者可能是有利的。
本领域技术人员在考虑说明书及实践这里申请的发明后,将容易想到本说明书的其它实施方案。本说明书旨在涵盖本说明书的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本说明书的一般性原理并包括本说明书未申请的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本说明书的真正范围和精神由下面的权利要求指出。
应当理解的是,本说明书并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本说明书的范围仅由所附的权利要求来限制。以上所述仅为本说明书的较佳实施例而已,并不用以限制本说明书,凡在本说明书的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本说明书保护的范围之内。
Claims (15)
1.一种基于高速串行计算机扩展总线标准PCIe的网络传输配置方法,其特征在于,所述方法应用于带有PCIe插槽的上位机,所述PCIe插槽上插入带有PCIe接口的芯片,所述方法包括:
获取待配置的网络信息,所述网络信息包括:用于所述上位机本地的第一网络信息、以及用于所述芯片的第二网络信息;
将所述上位机本地的网络信息配置成所述第一网络信息;
通过所述上位机与所述芯片之间的PCIe配置通道,配置所述芯片的网络信息为所述第二网络信息,以使得所述上位机与芯片根据配置完成的所述第一网络信息和第二网络信息在PCIe物理传输链路上进行数据传输;
所述将所述上位机本地的网络信息配置成所述第一网络信息之前,所述方法还包括:
响应于检测到所述芯片的PCIe接口插入所述上位机的PCIe插槽,加载所述上位机本地的PCIe驱动程序;
基于加载的所述上位机本地的PCIe驱动程序,生成所述上位机本地的第一网络设备和第一通道节点,所述第一网络设备用于与所述芯片进行数据传输,所述第一通道节点用于和所述芯片的第二通道节点连接所述PCIe配置通道。
2.根据权利要求1所述的方法,其特征在于,所述PCIe配置通道与所述上位机与芯片在PCIe物理传输链路上进行数据传输时使用的通道不同。
3.根据权利要求1所述的方法,其特征在于,所述获取待配置的网络信息,包括:
获取原网络信息更新后的待配置的新网络信息,所述新网络信息包括所述第一网络信息和第二网络信息。
4.根据权利要求1所述的方法,其特征在于,所述上位机插有多个所述芯片,所述生成所述上位机本地的第一网络设备和第一通道节点,包括:
在上位机本地生成分别与各个所述芯片对应的多个网卡作为所述第一网络设备,每个所述网卡对应一个所述芯片;
在上位机本地生成分别与各个所述芯片对应的多个所述第一通道节点,每个所述第一通道节点与对应的一个所述芯片的第二通道节点连接一个所述PCIe配置通道。
5.根据权利要求1所述的方法,其特征在于,所述上位机插有多个所述芯片,所述生成所述上位机本地的第一网络设备和第一通道节点,包括:
在上位机本地生成对应多个所述芯片的一个网关作为所述第一网络设备;
在上位机本地生成分别与各个所述芯片对应的多个所述第一通道节点,每个所述第一通道节点与对应的一个所述芯片的第二通道节点连接一个所述PCIe配置通道。
6.根据权利要求1-5任一所述的方法,其特征在于,所述方法还包括:
通过所述PCIe配置通道接收所述芯片返回的配置结果,所述配置结果用于表示所述第二网络信息是否在所述芯片配置成功。
7.一种基于PCIe的网络传输配置方法,其特征在于,所述方法应用于带有PCIe接口的芯片,所述芯片插入上位机的PCIe插槽,所述方法包括:
接收上位机通过PCIe配置通道发送的第二网络信息;
配置芯片本地的网络信息为所述第二网络信息;
在所述接收上位机通过PCIe配置通道发送的第二网络信息之前,所述方法还包括:
响应于检测到所述芯片的PCIe接口插入所述上位机的PCIe插槽,加载所述芯片本地的PCIe驱动程序;
基于加载的所述芯片本地的PCIe驱动程序,生成第二网络设备和第二通道节点,所述第二网络设备用于与所述上位机进行数据传输,所述第二通道节点用于和上位机的第一通道节点连接所述PCIe配置通道。
8.一种基于PCIe的网络传输方法,其特征在于,所述方法应用于带有PCIe插槽的上位机,所述PCIe插槽上插入带有PCIe接口的芯片,所述方法包括:
通过PCIe物理传输链路接收所述芯片发送的第一数据包,所述第一数据包携带第一目的网络地址,所述PCIe物理传输链路是所述上位机与所述芯片之间的数据传输通道;
响应于所述第一目的网络地址为上位机的网络地址,处理所述第一数据包;
所述通过PCIe物理传输链路接收所述芯片发送的第一数据包,包括:
由上位机本地的第一网络设备通过PCIe物理传输链路接收所述芯片发送的第一数据包,所述第一网络设备根据权利要求1~6任一所述的方法进行网络传输配置。
9.根据权利要求8所述的方法,其特征在于,所述第一网络设备为网关,所述方法还包括:
响应于所述第一目的网络地址不为上位机的网络地址,通过网关转发所述数据包。
10.一种基于PCIe的网络传输方法,其特征在于,所述方法应用于带有PCIe接口的芯片,所述芯片插入上位机的PCIe插槽,包括:
通过PCIe物理传输链路接收所述上位机发送的第二数据包,所述第二数据包携带第二目的网络地址,所述PCIe物理传输链路是所述上位机与所述芯片之间的数据传输通道;
响应于所述第二目的网络地址为芯片的IP地址,处理所述第二数据包;
所述通过PCIe物理传输链路接收所上位机发送的第二数据包,包括:
由芯片本地的第二网络设备通过PCIe物理传输链路接收所述上位机发送的第二数据包,所述第二网络设备根据权利要求7所述的方法进行网络传输配置。
11.一种上位机设备,其特征在于,所述设备包括PCIe插槽,所述PCIe插槽用于插入带有PCIe接口的芯片;所述设备包括:处理器;
所述处理器,用于获取待配置的网络信息,所述网络信息包括:用于所述上位机本地的第一网络信息、以及用于所述芯片的第二网络信息;以及,将所述上位机本地的网络信息配置成所述第一网络信息;以及,通过所述上位机与所述芯片之间的PCIe配置通道,配置所述芯片的网络信息为所述第二网络信息,以使得所述上位机与芯片根据配置完成的所述第一网络信息和第二网络信息在PCIe物理传输链路上进行数据传输;
所述将所述上位机本地的网络信息配置成所述第一网络信息之前,还用于:
响应于检测到所述芯片的PCIe接口插入所述上位机的PCIe插槽,加载所述上位机本地的PCIe驱动程序;
基于加载的所述上位机本地的PCIe驱动程序,生成所述上位机本地的第一网络设备和第一通道节点,所述第一网络设备用于与所述芯片进行数据传输,所述第一通道节点用于和所述芯片的第二通道节点连接所述PCIe配置通道。
12.一种芯片设备,其特征在于,所述芯片设备带有PCIe接口,所述PCIe接口用于插入带有PCIe插槽的上位机;所述设备包括:接收器和控制器;
所述接收器,用于接收上位机通过PCIe配置通道发送的第二网络信息;
所述控制器,用于配置芯片本地的网络信息为所述第二网络信息;
在所述接收上位机通过PCIe配置通道发送的第二网络信息之前,还用于:
响应于检测到所述芯片的PCIe接口插入所述上位机的PCIe插槽,加载所述芯片本地的PCIe驱动程序;
基于加载的所述芯片本地的PCIe驱动程序,生成第二网络设备和第二通道节点,所述第二网络设备用于与所述上位机进行数据传输,所述第二通道节点用于和上位机的第一通道节点连接所述PCIe配置通道。
13.一种上位机设备,其特征在于,所述上位机设备包括PCIe插槽,所述PCIe插槽用于插入带有PCIe接口的芯片;所述设备包括:接收器和处理器;
所述接收器,用于通过PCIe物理传输链路接收所述芯片发送的第一数据包,所述第一数据包携带第一目的网络地址,所述PCIe物理传输链路是所述上位机与所述芯片之间的数据传输通道;
所述处理器,用于响应于所述第一目的网络地址为上位机的网络地址,处理所述第一数据包;
所述通过PCIe物理传输链路接收所述芯片发送的第一数据包,包括:
由上位机本地的第一网络设备通过PCIe物理传输链路接收所述芯片发送的第一数据包,所述第一网络设备根据权利要求1~6任一所述的方法进行网络传输配置。
14.一种芯片设备,其特征在于,所述芯片设备带有PCIe接口,所述PCIe接口用于插入带有PCIe插槽的上位机;所述设备包括:传输器和控制器;
所述传输器,用于通过PCIe物理传输链路接收所述上位机发送的第二数据包,所述第二数据包携带第二目的网络地址,所述PCIe物理传输链路是所述上位机与所述芯片之间的数据传输通道;
所述控制器,用于响应于所述第二目的网络地址为芯片的IP地址,处理所述第二数据包;
所述通过PCIe物理传输链路接收所上位机发送的第二数据包,包括:
由芯片本地的第二网络设备通过PCIe物理传输链路接收所述上位机发送的第二数据包,所述第二网络设备根据权利要求7所述的方法进行网络传输配置。
15.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述程序被处理器执行时实现权利要求1至6任一所述的方法,或者实现权利要求7所述的方法,或者实现权利要求8至9任一所述的方法,或者实现权利要求10所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110476803.4A CN113132168B (zh) | 2021-04-29 | 2021-04-29 | 一种基于PCIe的网络传输配置方法和装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110476803.4A CN113132168B (zh) | 2021-04-29 | 2021-04-29 | 一种基于PCIe的网络传输配置方法和装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113132168A CN113132168A (zh) | 2021-07-16 |
CN113132168B true CN113132168B (zh) | 2023-02-24 |
Family
ID=76780615
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110476803.4A Active CN113132168B (zh) | 2021-04-29 | 2021-04-29 | 一种基于PCIe的网络传输配置方法和装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113132168B (zh) |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN202058149U (zh) * | 2011-05-31 | 2011-11-30 | 江汉大学 | 基于pci总线的双通道数据采集仪 |
CN104991882A (zh) * | 2015-06-11 | 2015-10-21 | 哈尔滨工程大学 | 一种基于多处理器协作的用于软件无线电的基带板卡 |
CN106713094A (zh) * | 2016-12-26 | 2017-05-24 | 北京旋极信息技术股份有限公司 | 一种1394数据采集模块 |
WO2018018978A1 (zh) * | 2016-07-25 | 2018-02-01 | 深圳市中兴微电子技术有限公司 | 一种通用串行总线控制器验证方法、系统及设备 |
CN109144932A (zh) * | 2018-08-03 | 2019-01-04 | 中国航空工业集团公司雷华电子技术研究所 | 一种基于dsp的快速动态配置fpga的装置及方法 |
CN210867765U (zh) * | 2019-12-26 | 2020-06-26 | 深圳市丰润达科技有限公司 | 远程控制网络交换机 |
CN112131174A (zh) * | 2019-06-25 | 2020-12-25 | 北京百度网讯科技有限公司 | 支持在多个芯片之间通信的方法、装置、电子设备和计算机存储介质 |
CN112714082A (zh) * | 2021-03-26 | 2021-04-27 | 北京智芯微电子科技有限公司 | 面向sv和goose通信的以太网芯片 |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
TWI469569B (zh) * | 2012-12-20 | 2015-01-11 | Hon Hai Prec Ind Co Ltd | 網路交換機 |
MY187344A (en) * | 2014-03-20 | 2021-09-22 | Intel Corp | Method, apparatus and system for configuring a protocol stack of an integrated circuit chip |
US10678732B1 (en) * | 2019-02-27 | 2020-06-09 | Liqid Inc. | Expanded host domains in PCIe fabrics |
-
2021
- 2021-04-29 CN CN202110476803.4A patent/CN113132168B/zh active Active
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN202058149U (zh) * | 2011-05-31 | 2011-11-30 | 江汉大学 | 基于pci总线的双通道数据采集仪 |
CN104991882A (zh) * | 2015-06-11 | 2015-10-21 | 哈尔滨工程大学 | 一种基于多处理器协作的用于软件无线电的基带板卡 |
WO2018018978A1 (zh) * | 2016-07-25 | 2018-02-01 | 深圳市中兴微电子技术有限公司 | 一种通用串行总线控制器验证方法、系统及设备 |
CN106713094A (zh) * | 2016-12-26 | 2017-05-24 | 北京旋极信息技术股份有限公司 | 一种1394数据采集模块 |
CN109144932A (zh) * | 2018-08-03 | 2019-01-04 | 中国航空工业集团公司雷华电子技术研究所 | 一种基于dsp的快速动态配置fpga的装置及方法 |
CN112131174A (zh) * | 2019-06-25 | 2020-12-25 | 北京百度网讯科技有限公司 | 支持在多个芯片之间通信的方法、装置、电子设备和计算机存储介质 |
CN210867765U (zh) * | 2019-12-26 | 2020-06-26 | 深圳市丰润达科技有限公司 | 远程控制网络交换机 |
CN112714082A (zh) * | 2021-03-26 | 2021-04-27 | 北京智芯微电子科技有限公司 | 面向sv和goose通信的以太网芯片 |
Non-Patent Citations (3)
Title |
---|
W5100在单片机实现以太网通信中的应用;陆扬等;《黑龙江科技信息》;20110215(第05期);第15页、76页 * |
基于PCIe的高速数据采集卡的FPGA设计与实现;林坤;《中国优秀硕士学位论文全文数据库》;20140115(第01期);全文 * |
集成网络功能的PCI接口物理隔离卡开发;胡志新等;《计算机工程》;20070605(第11期);全文 * |
Also Published As
Publication number | Publication date |
---|---|
CN113132168A (zh) | 2021-07-16 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US7440415B2 (en) | Virtual network addresses | |
CN112416840B (zh) | 一种计算资源的远程映射方法、装置、设备及存储介质 | |
US9742671B2 (en) | Switching method | |
CN101207604B (zh) | 一种虚拟机系统及其通信处理方法 | |
CN102523302B (zh) | 虚拟机集群的负载均衡方法、服务器及系统 | |
CN105491123A (zh) | 容器间通信方法及装置 | |
CN101409670A (zh) | 管理组件传输协议互连滤波和路由 | |
CN107547274B (zh) | 多网口聚合方法及装置 | |
US10372633B1 (en) | Interconnection of peripheral devices on different electronic devices | |
CN104780109A (zh) | 虚拟机迁移方法及装置 | |
CN104468368A (zh) | 配置bgp邻居的方法及装置 | |
CN104144096A (zh) | 虚拟网络层构建方法、装置及系统 | |
CN105554176A (zh) | 发送报文的方法、装置和通信系统 | |
US11888812B1 (en) | Host discovery and addition method and apparatus in data center, and device and medium | |
CN113886153B (zh) | 一种基于容器的网卡压力测试方法及装置 | |
US8499101B2 (en) | Method and device for communication by address virtualization for the integration simulation of components | |
CN113132168B (zh) | 一种基于PCIe的网络传输配置方法和装置 | |
CN105827496A (zh) | 管理pe设备的方法及装置 | |
CN115022424B (zh) | 水电lcu控制器网卡虚拟控制方法、系统、设备及其介质 | |
US7536479B2 (en) | Local and remote network based management of an operating system-independent processor | |
CN115801498A (zh) | 一种车载以太网网关系统、运行方法 | |
US6389465B1 (en) | Using a systems network architecture logical unit activation request unit as a dynamic configuration definition in a gateway | |
CN115454896A (zh) | 基于smbus的ssd mctp控制消息验证方法、装置、计算机设备及存储介质 | |
US6173319B1 (en) | Using a systems network architecture logical unit activation request unit as a dynamic configuration definition in a gateway | |
CN114430392A (zh) | 一种Intel网卡连接Switch拓展网口的方法与终端 |
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 |