-
公开(公告)号:US09600429B2
公开(公告)日:2017-03-21
申请号:US13671434
申请日:2012-11-07
申请人: Steven L. Pope
发明人: Steven L. Pope
IPC分类号: G06F15/16 , G06F13/38 , G06F13/28 , H04L12/861 , G06F13/10
CPC分类号: G06F13/362 , G06F13/102 , G06F13/28 , G06F13/385 , G06F13/4282 , G06F2213/0058 , G06F2213/3808 , G06Q40/04 , H04L49/9068 , H04L2212/00
摘要: A data processing system comprising: a host computer system supporting a software entity and a receive queue for the software entity; a network interface device having a controller unit configured to provide a data port for receiving data packets from a network and a data bus interface for connection to a host computer system, the network interface device being connected to the host computer system by means of the data bus interface; and an accelerator module arranged between the controller unit and a network and having a first medium access controller for connection to the network and a second medium access controller coupled to the data port of the controller unit, the accelerator module being configured to: on behalf of the software entity, process incoming data packets received from the network in one or more streams associated with a first set of one or more network endpoints; encapsulate data resulting from said processing in network data packets directed to the software entity; and deliver the network data packets to the data port of the controller unit so as to cause the network data packets to be written to the receive queue of the software entity.
-
公开(公告)号:US09210140B2
公开(公告)日:2015-12-08
申请号:US12858345
申请日:2010-08-17
申请人: Steven L. Pope , David Riddoch
发明人: Steven L. Pope , David Riddoch
CPC分类号: H04L63/061 , G06F21/572 , G06F21/6218 , G06F2221/2149 , H04L41/0803 , H04L41/28 , H04L63/12
摘要: A network interface device providing a set of functions in hardware and being operable in first and second modes: in a first mode, the network interface device being configured to operate with a selected configuration of the set of functions; and in a second mode, the network interface device being operable to select a particular configuration of the set of functions in accordance with configuration instructions received at the network interface device; the network interface device being configured to, on receiving a network message having one or more predetermined characteristics and comprising an authentication key and one or more configuration instructions defining a particular configuration of the set of functions: verify the authentication key; and if the authentication key is successfully verified, select the particular configuration of the set of functions defined in the configuration instructions of the network message.
摘要翻译: 一种网络接口设备,其提供硬件中的一组功能并且可在第一和第二模式中操作:在第一模式中,所述网络接口设备被配置为以所述一组功能的选定配置进行操作; 并且在第二模式中,所述网络接口设备可操作以根据在所述网络接口设备处接收的配置指令来选择所述一组功能的特定配置; 所述网络接口设备被配置为在接收到具有一个或多个预定特征并且包括认证密钥的网络消息和定义所述一组功能的特定配置的一个或多个配置指令时:验证所述认证密钥; 并且如果验证密钥被成功验证,则选择在网络消息的配置指令中定义的功能集的特定配置。
-
公开(公告)号:US09077751B2
公开(公告)日:2015-07-07
申请号:US12513132
申请日:2007-10-18
申请人: Steven L. Pope , David J. Riddoch
发明人: Steven L. Pope , David J. Riddoch
IPC分类号: H04L29/06
CPC分类号: H04L69/22 , H04L69/16 , H04L69/161 , H04L69/166
摘要: A method for performing segmentation of a first data packet into a plurality of second data packets at a functionality of a device driver for a network interface device supported by a data processing system, each second data packet comprising a header and a segment of data from the first data packet and the network interface device being capable of supporting a communication link over a network with another network interface device, the method comprising: accepting the first data packet, the first data packet carrying data for transmission by the network interface device over the network; forming a set of headers for the plurality of second data packets; writing the set of headers to memory; forming a specification, the specification indicating the headers in memory and the segments of data in the first data packet; requesting by means of the device driver transmission by the network interface device of the headers and the respective segments of data indicated in the specification so as to effect transmission of the second data packets over the network.
摘要翻译: 一种用于在由数据处理系统支持的网络接口设备的设备驱动程序的功能上执行将第一数据分组划分成多个第二数据分组的方法,每个第二数据分组包括报头和来自所述数据分组的数据段 所述第一数据分组和所述网络接口设备能够通过网络与另一网络接口设备一起支持通信链路,所述方法包括:接收所述第一数据分组,所述第一数据分组承载数据以供网络接口设备通过所述网络传输 ; 形成用于所述多个第二数据分组的一组报头; 将集合的头写入内存; 形成规范,指示存储器中的报头的规范和第一数据分组中的数据段; 通过由网络接口设备发送的设备驱动程序发送标题和规范中指示的各个数据段,以便通过网络实现第二数据分组的传输。
-
公开(公告)号:US09008113B2
公开(公告)日:2015-04-14
申请号:US13070924
申请日:2011-03-24
申请人: Steven L. Pope , David Riddoch , Dmitri Kitariev
发明人: Steven L. Pope , David Riddoch , Dmitri Kitariev
CPC分类号: H04L47/6275 , G06F13/128 , H04L49/3018 , H04L49/3045
摘要: A network interface device for connection between a network and a data processing system, the network interface device comprising: an I/O interface for connection to a data processing system; a set of physical data ports for connection to a network; a unified memory comprising a plurality of buffers; a plurality of ingress ports operable to receive data packets for buffering at the unified memory, a first subset of the plurality of ingress ports being configured to receive data packets on a transmit path from said I/O interface, and a second subset of the plurality of ingress ports being configured to receive data packets on a receive path from said set of physical data ports; a memory manager configured to store representations of a plurality of virtual queues held in the unified memory, each virtual queue being a linked logical sequence of buffers of the unified memory; and an ingress interface configured to service the ingress ports in a predetermined order and write data packets received at the ingress ports to buffers of the unified memory selected by the memory manager; wherein the memory manager is arranged to select buffers of the unified memory so as to cause the ingress interface to populate the plurality of virtual queues with data packets, and the ingress interface is arranged to contiguously write data packets into the linked logical sequence of buffers representing each virtual queue.
摘要翻译: 一种用于在网络和数据处理系统之间连接的网络接口设备,所述网络接口设备包括:用于连接到数据处理系统的I / O接口; 一组用于连接到网络的物理数据端口; 包括多个缓冲器的统一存储器; 多个入口端口,可操作以接收用于在统一存储器处进行缓冲的数据分组;多个入口端口的第一子集被配置为从所述I / O接口在发送路径上接收数据分组,并且所述多个入口端口的第二子集 入口端口被配置为在所述物理数据端口集合的接收路径上接收数据分组; 存储器管理器,被配置为存储保持在所述统一存储器中的多个虚拟队列的表示,每个虚拟队列是所述统一存储器的缓冲器的链接逻辑序列; 以及入口接口,被配置为以预定顺序对入口端口进行服务,并将在入口端口接收的数据分组写入由存储器管理器选择的统一存储器的缓冲器; 其中所述存储器管理器被布置为选择所述统一存储器的缓冲器,以便使所述入口接口用数据分组填充所述多个虚拟队列,并且所述入口接口被布置为将数据分组连续写入所述链接的缓冲器的表示 每个虚拟队列。
-
公开(公告)号:US08996644B2
公开(公告)日:2015-03-31
申请号:US12964642
申请日:2010-12-09
申请人: Steven L. Pope
发明人: Steven L. Pope
IPC分类号: G06F15/167 , G06F13/10 , G06F13/38 , G06F13/28 , G06F12/10
CPC分类号: G06F13/4221 , G06F12/1081 , G06F13/102 , G06F13/28 , G06F13/385 , G06F2213/0058 , G06F2213/3808 , G06Q40/04 , H04L49/9068
摘要: A data processing system comprising a host computer system and a network interface device for connection to a network, the host computer system and network interface device being coupled together by means of a data bus, and: the network interface device comprising: a controller unit having a first data port for connection to a network, a second data port, and a data bus interface connected to said data bus, the controller unit being operable to perform, in dependence on the network endpoints to which data packets received at the network interface device are directed, switching of data packets between the first and second data ports and the data bus interface; and an accelerator module having a first medium access controller coupled to said second data port of the controller unit and a processor operable to perform one or more functions in hardware on data packets received at the accelerator module, the said first medium access controller being operable to support one or more first network endpoints; the host computer system supporting: a plurality of guest software domains including a first guest software domain having an application; and a privileged software domain configured to present a virtual operating platform to said plurality of guest domains, the privileged software entity including a first software driver for the controller unit but not including a second software driver for the accelerator module; wherein the application is configured to access the accelerator module by means of one or more first data packets formed in accordance with a predetermined network protocol and directed to one or more of the first network endpoints.
摘要翻译: 一种数据处理系统,包括主计算机系统和用于连接到网络的网络接口设备,所述主计算机系统和网络接口设备借助于数据总线耦合在一起,所述网络接口设备包括:控制器单元,其具有 用于连接到网络的第一数据端口,第二数据端口和连接到所述数据总线的数据总线接口,所述控制器单元可操作以根据在网络接口设备处接收到的数据分组的网络端点执行 在第一和第二数据端口与数据总线接口之间切换数据分组; 以及加速器模块,其具有耦合到所述控制器单元的所述第二数据端口的第一媒体访问控制器和可操作以在所述加速器模块上接收的数据分组上执行硬件中的一个或多个功能的处理器,所述第一媒体访问控制器可操作以 支持一个或多个第一网络端点; 所述主计算机系统支持:多个客体软件域,包括具有应用的第一访客软件域; 以及被配置为向所述多个访客域呈现虚拟操作平台的特权软件域,所述特权软件实体包括用于所述控制器单元但不包括用于所述加速器模块的第二软件驱动程序的第一软件驱动器; 其中所述应用被配置为通过根据预定网络协议形成并针对所述第一网络端点中的一个或多个的一个或多个第一数据分组来访问所述加速器模块。
-
公开(公告)号:US08817784B2
公开(公告)日:2014-08-26
申请号:US13347545
申请日:2012-01-10
摘要: Roughly described, incoming data packets are delivered by the NIC directly to at least two user level endpoints. In an aspect, only filters that cannot be ambiguous are created in the NIC. In another aspect, the NIC maintains a filter table supporting direct delivery of incoming unicast and multicast data packets to one user level endpoint. Additional requests to join the same multicast group cause replacement of the NIC filter with one in the kernel. In another aspect, a NIC has limited capacity to maintain multicast group memberships. In response to a new multicast filter request, the kernel establishes it in the NIC only if the NIC still has sufficient capacity; otherwise it is established in the kernel.
摘要翻译: 粗略描述,传入数据分组由NIC直接传递到至少两个用户级端点。 在一方面,仅在NIC中创建不能模糊的过滤器。 另一方面,NIC维护一个过滤表,该过滤表支持将一个单播和多播数据包直接传送到一个用户级端点。 加入同一组播组的其他请求会导致内核中的NIC过滤器的更换。 另一方面,NIC具有维持多播组成员身份的能力有限。 响应于新的多播过滤器请求,内核仅在NIC仍然具有足够的容量时才在NIC中建立它; 否则它在内核中建立。
-
公开(公告)号:US20130055287A1
公开(公告)日:2013-02-28
申请号:US13283423
申请日:2011-10-27
申请人: STEVEN L. POPE , DAVID J. RIDDOCH , Kieran Mansley
发明人: STEVEN L. POPE , DAVID J. RIDDOCH , Kieran Mansley
CPC分类号: G06F9/541 , G06F9/546 , G06F2209/542
摘要: A data processing system comprising: an operating system providing an application programming interface; an application supported by the operating system and operable to make calls to the application programming interface; an intercept library configured to intercept calls of a predetermined set of call types made by the application to the application programming interface; and a configuration data structure defining at least one action to be performed for each of a plurality of sequences of one or more calls having predefined characteristics, the one or more calls being of the predetermined set of call types; wherein the intercept library is configured to, on intercepting a sequence of one or more calls defined in the configuration data structure, perform the corresponding action(s) defined by the configuration data structure.
摘要翻译: 一种数据处理系统,包括:提供应用编程接口的操作系统; 由操作系统支持并且可操作以对应用程序编程接口进行调用的应用程序; 拦截库被配置为将应用程序所形成的预定呼叫类型的呼叫截取到应用编程接口; 以及配置数据结构,其定义要对具有预定特性的一个或多个呼叫的多个序列中的每个序列执行的至少一个动作,所述一个或多个呼叫是所述预定呼叫类型集合; 其中所述截取库被配置为在截取在所述配置数据结构中定义的一个或多个调用的序列时,执行由所述配置数据结构定义的相应动作。
-
公开(公告)号:US20120254893A1
公开(公告)日:2012-10-04
申请号:US13158176
申请日:2011-06-10
申请人: STEVEN L. POPE , DAVID J. RIDDOCH
发明人: STEVEN L. POPE , DAVID J. RIDDOCH
IPC分类号: G06F9/46
摘要: A method for managing I/O event notifications in a data processing system, the data processing system comprising a plurality of applications and an operating system having a kernel and an I/O event notification mechanism operable to maintain a plurality of I/O event notification objects each handling a set of file descriptors associated with one or more I/O resources, the method comprising: for each of a plurality of application-level configuration calls: intercepting at a user-level interface a configuration call from an application to the I/O event notification mechanism for configuring an I/O event notification object; and storing a set of parameters of the configuration call at a data structure, each set of parameters representing an operation on the set of file descriptors handled by the I/O event notification object; and subsequently, on a predetermined criterion being met: the user-level interface causing the plurality of configuration calls to be effected by means of a first system call to the kernel.
摘要翻译: 一种用于在数据处理系统中管理I / O事件通知的方法,所述数据处理系统包括多个应用程序,以及具有内核和I / O事件通知机制的操作系统,所述操作系统可操作以维持多个I / O事件通知 每个处理与一个或多个I / O资源相关联的一组文件描述符的对象,所述方法包括:对于多个应用级配置调用中的每一个:在用户级接口处截取从应用到I的配置调用 / O事件通知机制,用于配置I / O事件通知对象; 以及在数据结构中存储配置调用的一组参数,每组参数表示由I / O事件通知对象处理的文件描述符集合上的操作; 并且随后,在满足预定标准的情况下:通过对内核的第一系统调用来实现导致多个配置调用的用户级接口。
-
公开(公告)号:US20120151004A1
公开(公告)日:2012-06-14
申请号:US12964642
申请日:2010-12-09
申请人: Steven L. Pope
发明人: Steven L. Pope
CPC分类号: G06F13/4221 , G06F12/1081 , G06F13/102 , G06F13/28 , G06F13/385 , G06F2213/0058 , G06F2213/3808 , G06Q40/04 , H04L49/9068
摘要: A data processing system comprising a host computer system and a network interface device for connection to a network, the host computer system and network interface device being coupled together by means of a data bus, and: the network interface device comprising: a controller unit having a first data port for connection to a network, a second data port, and a data bus interface connected to said data bus, the controller unit being operable to perform, in dependence on the network endpoints to which data packets received at the network interface device are directed, switching of data packets between the first and second data ports and the data bus interface; and an accelerator module having a first medium access controller coupled to said second data port of the controller unit and a processor operable to perform one or more functions in hardware on data packets received at the accelerator module, the said first medium access controller being operable to support one or more first network endpoints; the host computer system supporting: a plurality of guest software domains including a first guest software domain having an application; and a privileged software domain configured to present a virtual operating platform to said plurality of guest domains, the privileged software entity including a first software driver for the controller unit but not including a second software driver for the accelerator module; wherein the application is configured to access the accelerator module by means of one or more first data packets formed in accordance with a predetermined network protocol and directed to one or more of the first network endpoints.
摘要翻译: 一种数据处理系统,包括主计算机系统和用于连接到网络的网络接口设备,所述主计算机系统和网络接口设备借助于数据总线耦合在一起,所述网络接口设备包括:控制器单元,其具有 用于连接到网络的第一数据端口,第二数据端口和连接到所述数据总线的数据总线接口,所述控制器单元可操作以根据在网络接口设备处接收到的数据分组的网络端点执行 在第一和第二数据端口与数据总线接口之间切换数据分组; 以及加速器模块,其具有耦合到所述控制器单元的所述第二数据端口的第一媒体访问控制器和可操作以在所述加速器模块上接收的数据分组上执行硬件中的一个或多个功能的处理器,所述第一媒体访问控制器可操作以 支持一个或多个第一网络端点; 所述主计算机系统支持:多个客体软件域,包括具有应用的第一访客软件域; 以及被配置为向所述多个访客域呈现虚拟操作平台的特权软件域,所述特权软件实体包括用于所述控制器单元但不包括用于所述加速器模块的第二软件驱动程序的第一软件驱动器; 其中所述应用被配置为通过根据预定网络协议形成并针对所述第一网络端点中的一个或多个的一个或多个第一数据分组来访问所述加速器模块。
-
公开(公告)号:US20110087774A1
公开(公告)日:2011-04-14
申请号:US12900217
申请日:2010-10-07
申请人: STEVEN L. POPE , DAVID RIDDOCH
发明人: STEVEN L. POPE , DAVID RIDDOCH
IPC分类号: G06F15/16
CPC分类号: G06F9/4856 , G06F9/45533 , G06F2009/4557 , G06F2009/45595 , H04L45/021 , H04L45/026
摘要: A network interface device for a data processing system comprising: one or more network connection ports for connection to a network; a routing table supported at a memory of the network interface device; a controller operable to modify the routing table; and a control plane interface of the controller arranged to receive routing table update instructions carried in one or more control packets received at the said ports; wherein the control plane interface is configured to, on receiving a routing table update instruction, cause the controller to update the routing table in accordance with the routing table update instruction.
摘要翻译: 一种用于数据处理系统的网络接口设备,包括:用于连接到网络的一个或多个网络连接端口; 在网络接口设备的存储器处支持的路由表; 控制器,用于修改路由表; 以及所述控制器的控制平面接口,被布置为接收在所述端口处接收的一个或多个控制分组中携带的路由表更新指令; 其中所述控制平面接口被配置为在接收到路由表更新指令时使得所述控制器根据所述路由表更新指令来更新所述路由表。
-
-
-
-
-
-
-
-
-