-
公开(公告)号:US20140355613A1
公开(公告)日:2014-12-04
申请号:US14291741
申请日:2014-05-30
Applicant: SOLARFLARE COMMUNICATIONS, INC.
Inventor: Steve L. Pope , David J. Riddoch , Martin Porter
IPC: H04L12/931
CPC classification number: H04L49/20 , H04L43/026 , H04L43/0852 , Y02D50/30
Abstract: Roughly described, a network interface device for connection between a host data processing device and a network, comprising: a controller for supporting communication with a host data processing device over a data bus interface; and a packet capture unit between the controller and the network and comprising: a packet inspector configured to parse incoming data packets to identify data packets of a first data flow; a duplication engine to generate a duplicate data flow from the first data flow; and a packet capture engine to process said duplicate data flow into a packet capture data stream having a predefined format. The network interface device is configured to cause: the first data flow to be made available to a consumer process of a host data processing device to which the network interface device is connected; and the processed packet capture data stream to be stored at a packet capture buffer.
Abstract translation: 大致描述了一种用于主机数据处理设备和网络之间的连接的网络接口设备,包括:控制器,用于通过数据总线接口支持与主机数据处理设备的通信; 以及在所述控制器和所述网络之间的分组捕获单元,包括:分组检查器,被配置为解析输入数据分组以识别第一数据流的数据分组; 复制引擎,用于从所述第一数据流生成重复数据流; 以及分组捕获引擎,用于将所述重复数据流处理成具有预定义格式的分组捕获数据流。 所述网络接口设备被配置为使得所述第一数据流被提供给所述网络接口设备连接到的主机数据处理设备的消费者进程; 并且处理的分组捕获数据流被存储在分组捕获缓冲器中。
-
公开(公告)号:US20130297774A1
公开(公告)日:2013-11-07
申请号:US13789221
申请日:2013-03-07
Applicant: SOLARFLARE COMMUNICATIONS, INC.
Inventor: Steve L. Pope , David J. Riddoch , Kieran Mansley
IPC: H04L12/24
CPC classification number: H04L41/083 , H04L47/286 , H04L47/32 , H04L47/564
Abstract: Roughly described, a network interface device receiving data packets from a computing device for transmission onto a network, the data packets having a certain characteristic, transmits the packet only if the sending queue has authority to send packets having that characteristic. The data packet characteristics can include transport protocol number, source and destination port numbers, source and destination IP addresses, for example. Authorizations can be programmed into the NIC by a kernel routine upon establishment of the transmit queue, based on the privilege level of the process for which the queue is being established. In this way, a user process can use an untrusted user-level protocol stack to initiate data transmission onto the network, while the NIC protects the remainder of the system or network from certain kinds of compromise.
Abstract translation: 大体上描述了一种从计算设备接收数据包以便传输到网络上的网络接口设备,具有一定特性的数据分组仅在发送队列具有发送具有该特性的分组的权限时发送分组。 数据包特征可以包括传输协议号,源和目的端口号,源和目的IP地址。 基于建立队列的进程的权限级别,可以通过内核例程在建立传输队列时将授权编程到NIC中。 以这种方式,用户进程可以使用不受信任的用户级协议栈来发起到网络上的数据传输,而NIC保护系统或网络的其余部分免受某些种类的折中。
-
公开(公告)号:US20190303209A1
公开(公告)日:2019-10-03
申请号:US15940837
申请日:2018-03-29
Applicant: SOLARFLARE COMMUNICATIONS, INC.
Inventor: Steven L. Pope , David J. Riddoch , Derek Roberts
Abstract: A data processing system being configured to select between different hardware resources for the running of an application configured for the sending and receiving of data over a network. The selection of hardware resources may be between resources on the network interface device, and hardware resources on the host. The selection of hardware resources may be between first and second hardware resources on the network interface device. An API is provided in the data processing system that responds to requests from the application irrespective of the hardware on which the application is executing.
-
公开(公告)号:US20190190982A1
公开(公告)日:2019-06-20
申请号:US15847778
申请日:2017-12-19
Applicant: SOLARFLARE COMMUNICATIONS, INC.
Inventor: Steven L. Pope , Derek Roberts , David J. Riddoch
IPC: H04L29/08 , H04L12/721 , H04L29/06
Abstract: A network interface device having an FPGA for providing an FPGA application. A first interface between a host computing device and the FPGA application is provided, allowing the FPGA application to make use of data-path operations provided by a transport engine on the network interface device, as well as communicate with the host. The FPGA application sends and receives data with the host via a memory that is memory mapped to a shared memory location in the host computing device, whilst the transport engine sends and receives data packets with the host via a second memory. A second interface is provided to interface the FPGA application and transport engine with the network, wherein the second interface is configured to back-pressure the transport engine.
-
公开(公告)号:US20190102576A1
公开(公告)日:2019-04-04
申请号:US16147164
申请日:2018-09-28
Applicant: SOLARFLARE COMMUNICATIONS, INC.
Inventor: Steven L. Pope , David J. Riddoch , Paul Fox
Abstract: A network interface device comprises an integrated circuit device comprises at least one processor. A network interface device comprises a memory. The integrated device is configured to execute a function with respect to at least a part of stored data in said memory.
-
公开(公告)号:US20190020690A1
公开(公告)日:2019-01-17
申请号:US16134795
申请日:2018-09-18
Applicant: SOLARFLARE COMMUNICATIONS, INC.
Inventor: Steven L. Pope , David J. Riddoch , Derek Roberts
IPC: H04L29/06
CPC classification number: H04L63/20 , H04L63/0227 , H04L63/06 , H04L63/1441
Abstract: A rule engine receives data flows. The data flows are between a network and an application. The rule engine determines data flow information and in dependence on the information performs an action with respect to said flow. A controller provides control information to the rule engine to define one or more actions. The communications between said rule engine and said controller are secure.
-
公开(公告)号:US20190014197A1
公开(公告)日:2019-01-10
申请号:US16133516
申请日:2018-09-17
Applicant: SOLARFLARE COMMUNICATIONS, INC.
Inventor: Steve Pope , Kieran Mansley , Sian James , David J. Riddoch
IPC: H04L29/08 , H04L1/00 , H04L12/931
Abstract: Data is received at a buffer used by a protocol processing stack which protocol processes the received data. The received data is made available to, for example, an application, before the protocol processing of the data is complete. If the protocol processing is successful the data made available to the application is committed.
-
公开(公告)号:US09674318B2
公开(公告)日:2017-06-06
申请号:US14231510
申请日:2014-03-31
Applicant: SOLARFLARE COMMUNICATIONS, INC.
Inventor: Steve L. Pope , David J. Riddoch
CPC classification number: H04L69/16 , G06Q40/04 , H04L12/1804 , H04L69/22 , H04L69/321 , H04L69/326
Abstract: A data processing system is provided. A host processing device supports a host transport engine operable to establish a first transport stream over a network with a remote peer. Device hardware comprises a device transport engine. The device transport engine is configured to monitor the first transport stream to determine a state of the first transport stream and in response to an indication from the host processing device perform transport processing of the first transport stream.
-
公开(公告)号:US09594842B2
公开(公告)日:2017-03-14
申请号:US14611105
申请日:2015-01-30
Applicant: SOLARFLARE COMMUNICATIONS, INC.
Inventor: Steven L. Pope , Derek Roberts , David J. Riddoch , Ching Yu , John Mingyung Chiang , Der-Ren Chu
IPC: G06F17/30 , H04L12/747 , H04L12/741 , H04L12/861 , H04L29/06 , H04L29/08 , H04L12/851 , H04L12/863
CPC classification number: G06F17/30867 , G06F17/30864 , H04L45/742 , H04L45/745 , H04L47/2441 , H04L47/621 , H04L49/90 , H04L67/10 , H04L69/16 , H04L69/161 , H04L69/162 , H04L69/163 , H04L69/164 , H04L69/22 , Y10S707/922
Abstract: Roughly described, a network interface device is assigned a maximum extent-of-search. A hash function is applied to the header information of each incoming packet, to generate a hash code for the packet. The hash code designates a particular subset of the table within which the particular header information should be found, and an iterative search is made within that subset. If the search locates a matching entry before the search limit is exceeded, then the incoming data packet is delivered to the receive queue identified in the matching entry. But if the search reaches the search limit before a matching entry is located, then device delivers the packet to a default queue, such as a kernel queue, in the host computer system. The kernel is then responsible for delivering the packet to the correct endpoint.
Abstract translation: 大致描述了网络接口设备被分配最大的搜索范围。 散列函数被应用于每个输入分组的报头信息,以产生分组的哈希码。 哈希代码指定在其中应当找到特定头部信息的表的特定子集,并且在该子集内进行迭代搜索。 如果搜索在超出搜索限制之前找到匹配的条目,则传入数据包将被传递到匹配条目中标识的接收队列。 但是,如果在找到匹配的条目之前搜索达到搜索限制,则设备会将数据包传递到主机系统中的默认队列(如内核队列)。 然后,内核负责将数据包传递到正确的端点。
-
公开(公告)号:US20160373561A1
公开(公告)日:2016-12-22
申请号:US15253822
申请日:2016-08-31
Applicant: SOLARFLARE COMMUNICATIONS, INC.
Inventor: Steven L. Pope , David J. Riddoch , Kieran Mansley
IPC: H04L29/06
CPC classification number: H04L69/22 , H04L47/2475 , H04L69/161 , H04L69/166 , H04L69/329
Abstract: A method of transmitting data for use at a data processing system and network interface device, the data processing system being coupled to a network by the network interface device, the method comprising: forming a message template in accordance with a predetermined set of network protocols, the message template including at least in part one or more protocol headers; forming an application layer message in one or more parts; updating the message template with the parts of the application layer message; processing the message template in accordance with the predetermined set of network protocols so as to complete the protocol headers; and causing the network interface device to transmit the completed message over the network.
Abstract translation: 一种在数据处理系统和网络接口设备上发送数据的方法,所述数据处理系统由所述网络接口设备耦合到网络,所述方法包括:根据预定的一组网络协议形成消息模板, 消息模板至少包括一个或多个协议头; 在一个或多个部分中形成应用层消息; 使用应用层消息的部分更新消息模板; 根据预定的一组网络协议处理消息模板,以便完成协议报头; 并使网络接口设备通过网络发送完成的消息。
-
-
-
-
-
-
-
-
-