-
公开(公告)号:US09807117B2
公开(公告)日:2017-10-31
申请号:US14660812
申请日:2015-03-17
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.
-
公开(公告)号:US20170272300A1
公开(公告)日:2017-09-21
申请号:US15611554
申请日:2017-06-01
Applicant: SOLARFLARE COMMUNICATIONS, INC.
Inventor: Steven L. Pope , David J. Riddoch
IPC: H04L29/06
CPC classification number: H04L29/06 , H04L69/161
Abstract: A software networking arrangement for operation in a data processing system comprising an OS being operable in: a first mode in which it performs protocol processing of a flow of traffic data and then passes the protocol processed data to a NIC for transmission; and a second mode in which it does not perform protocol processing, the OS being arranged to, on entering the second mode, transmit a message to the NIC indicating that the NIC is to perform protocol processing of the flow of traffic data; the software networking arrangement comprising: a protocol processing entity; and a driver for a NIC configured to receive said message from the OS and in response thereto, configure the protocol processing entity to perform transport-level protocol processing of the flow of traffic data received from an application within the context of that application and then pass the protocol processed data to the NIC.
-
公开(公告)号:US20170187605A1
公开(公告)日:2017-06-29
申请号:US15385644
申请日:2016-12-20
Applicant: SOLARFLARE COMMUNICATIONS, INC.
Inventor: Steven L. Pope , David J. Riddoch , Derek Roberts
IPC: H04L12/26 , G06F15/167 , H04L12/823
CPC classification number: H04L43/16 , G06F13/385 , G06F15/167 , H04L47/32
Abstract: A network interface device, said network interface device has a data transmission path configured to receive data for transmission. The data for transmission is to be sent over a network by the network interface device. A monitor is configured to monitor the data transmission path to determine if an underrun condition is associated with the data transmission path. If so, an indication is included in the transmitted data packet.
-
公开(公告)号:US20170187589A1
公开(公告)日:2017-06-29
申请号:US14983263
申请日:2015-12-29
Applicant: SOLARFLARE COMMUNICATIONS, INC.
Inventor: Steven L. Pope , David J. Riddoch , Derek Roberts
Abstract: A network interface device, said network interface device has a data transmission path configured to receive data for transmission. The data for transmission is to be sent over a network by the network interface device. A monitor is configured to monitor the data transmission path to determine if an underrun condition is associated with the data transmission path. If so, an indication is included in the transmitted data packet.
-
公开(公告)号:US09686117B2
公开(公告)日:2017-06-20
申请号:US13720770
申请日:2012-12-19
Applicant: Solarflare Communications, Inc.
Inventor: Steven L. Pope , David J. Riddoch
CPC classification number: H04L29/06 , H04L69/161
Abstract: A software networking arrangement for operation in a data processing system comprising an OS being operable in: a first mode in which it performs protocol processing of a flow of traffic data and then passes the protocol processed data to a NIC for transmission; and a second mode in which it does not perform protocol processing, the OS being arranged to, on entering the second mode, transmit a message to the NIC indicating that the NIC is to perform protocol processing of the flow of traffic data; the software networking arrangement comprising: a protocol processing entity; and a driver for a NIC configured to receive said message from the OS and in response thereto, configure the protocol processing entity to perform transport-level protocol processing of the flow of traffic data received from an application within the context of that application and then pass the protocol processed data to the NIC.
-
公开(公告)号:US20150169496A1
公开(公告)日:2015-06-18
申请号:US14629319
申请日:2015-02-23
Applicant: SOLARFLARE COMMUNICATIONS, INC.
Inventor: Steven L. Pope
IPC: G06F13/42
CPC classification number: G06F13/4221 , G06F12/1081 , G06F13/102 , G06F13/28 , G06F13/385 , G06F2213/0058 , G06F2213/3808 , G06Q40/04 , H04L49/9068
Abstract: 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.
-
公开(公告)号:US20150142832A1
公开(公告)日:2015-05-21
申请号:US14611105
申请日:2015-01-30
Applicant: SOLARFLARE COMMUNICATIONS, INC.
Inventor: Steven L. Pope , Derek Roberts , David J. Riddoch , Yu Ching , John Mingyung Chiang , Der-Ren Chu
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: 大致描述了网络接口设备被分配最大的搜索范围。 散列函数被应用于每个输入分组的报头信息,以产生分组的哈希码。 哈希代码指定在其中应当找到特定头部信息的表的特定子集,并且在该子集内进行迭代搜索。 如果搜索在超出搜索限制之前找到匹配的条目,则传入数据包将被传递到匹配条目中标识的接收队列。 但是,如果在找到匹配的条目之前搜索达到搜索限制,则设备会将数据包传递到主机系统中的默认队列(如内核队列)。 然后,内核负责将数据包传递到正确的端点。
-
公开(公告)号:US20140355606A1
公开(公告)日:2014-12-04
申请号:US14463499
申请日:2014-08-19
Applicant: SOLARFLARE COMMUNICATIONS, INC.
Inventor: David J. Riddoch , Martin Porter , Steven L. Pope
IPC: H04L12/18 , H04L12/861
Abstract: 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.
Abstract translation: 粗略描述,传入数据分组由NIC直接传递到至少两个用户级端点。 在一方面,仅在NIC中创建不能模糊的过滤器。 另一方面,NIC维护一个过滤表,该过滤表支持将一个单播和多播数据包直接传送到一个用户级端点。 加入同一组播组的其他请求会导致内核中的NIC过滤器的更换。 另一方面,NIC具有维持多播组成员身份的能力有限。 响应于新的多播过滤器请求,内核仅在NIC仍然具有足够的容量时才在NIC中建立它; 否则它在内核中建立。
-
公开(公告)号:US10515037B2
公开(公告)日:2019-12-24
申请号:US15881312
申请日:2018-01-26
Applicant: SOLARFLARE COMMUNICATIONS, INC.
Inventor: Steven L. Pope
IPC: G06F15/16 , G06F13/362 , G06F13/38 , G06F13/42 , G06Q40/04 , G06F13/28 , H04L12/861 , G06F13/10
Abstract: 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.
-
公开(公告)号:US20190199654A1
公开(公告)日:2019-06-27
申请号:US15847742
申请日:2017-12-19
Applicant: SOLARFLARE COMMUNICATIONS, INC.
Inventor: Steven L. Pope , Dmitri Kitariev , Derek Roberts
IPC: H04L12/861 , H04L29/06 , G06N99/00 , H04L12/801 , H04L12/707
CPC classification number: H04L49/9068 , G06F9/5044 , G06F2209/509 , G06N20/00 , H04L45/22 , H04L47/34 , H04L63/1416 , H04L63/1458
Abstract: A network interface device has an interface configured to interface with a network. The interface is configured to at least one of receive data from the network and put data onto the network. The network interface device has an application specific integrated device with a plurality of data processing pipelines to process at least one of data which has been received from the network and data which is to be put onto said network and an FPGA arranged in a path parallel to the data processing pipelines.
-
-
-
-
-
-
-
-
-