-
公开(公告)号:US09762502B1
公开(公告)日:2017-09-12
申请号:US14632449
申请日:2015-02-26
Applicant: Google Inc.
Inventor: Jeffrey Clifford Mogul , Jakov Seizovic , Yuhong Mao , Benjamin Charles Serebrin
IPC: G06F15/16 , H04L12/863 , H04L12/825
CPC classification number: H04L47/2441 , H04L45/745 , H04L47/32
Abstract: The present application describes a system and method for a virtual machine to classify a packet. Once the virtual machine (VM) classifies the packet, it bypasses a hypervisor to enqueue the packet directly on a hardware transmission queue. The NIC will then verify that the VM classified and enqueued the packet correctly. If the packet was classified properly, it is transmitted over the wire to its destination. In this regard, the system and method provides a technique for verifying that the VM is enqueuing packets properly, while improving performance by allowing high-rate flows to bypass the hypervisor.
-
公开(公告)号:US09729446B1
公开(公告)日:2017-08-08
申请号:US15374128
申请日:2016-12-09
Applicant: Google Inc.
Inventor: Richard Lee Sites , Yuhong Mao
IPC: H04L12/743
CPC classification number: H04L45/7453 , H04L45/7457 , H04L69/22
Abstract: In one aspect, one or more processors may be coupled to a content-addressable memory, a first memory and a second memory. The one or more processors may be configured to receive a data packet, read a predetermined number of bytes from the data packet, and match the read bytes to patterns corresponding to rows of the content-addressable memory. Further, the one or more processors may determine a number associated with the matched row, and based on the number, determine an initial routing instruction. The one or more processors may then determine which bits of the read bytes to hash using hash information stored in the first memory, hash the bits to generate a hash value, determine whether the value corresponds to routing information in the second memory, and route the data packet based on the routing information.
-
公开(公告)号:US09652419B1
公开(公告)日:2017-05-16
申请号:US14511622
申请日:2014-10-10
Applicant: Google Inc.
Inventor: Jeffrey Clifford Mogul , Yuhong Mao
CPC classification number: G06F13/28 , G06F13/1673
Abstract: A system, method, and non-transitory computer-readable medium for filtering flow table entries is described. A trusted device may send a table read request to a network interface controller (NIC) that includes predicate logic. The NIC will use the received predicate logic to filter flow table entries. The entries that satisfy the criteria specified by the trusted software are moved to a Direct Memory Access (DMA) buffer on the NIC to create a subset of entries. Once some or all of the flow table has been scanned, the subset of entries may be transferred from the DMA buffer on the NIC to a memory of the trusted host via a DMA transfer to be further processed by the trusted host.
-
公开(公告)号:US09553808B1
公开(公告)日:2017-01-24
申请号:US14450593
申请日:2014-08-04
Applicant: Google Inc.
Inventor: Richard Lee Sites , Yuhong Mao
IPC: H04L12/743 , H04L29/06
CPC classification number: H04L45/7453 , H04L45/7457 , H04L69/22
Abstract: In one aspect, one or more processors may be coupled to a content-addressable memory, a first memory and a second memory. The one or more processors may be configured to receive a data packet, read a predetermined number of bytes from the data packet, and match the read bytes to patterns corresponding to rows of the content-addressable memory. Further, the one or more processors may determine a number associated with the matched row, and based on the number, determine an initial routing instruction. The one or more processors may then determine which bits of the read bytes to hash using hash information stored in the first memory, hash the bits to generate a hash value, determine whether the value corresponds to routing information in the second memory, and route the data packet based on the routing information.
Abstract translation: 在一个方面,一个或多个处理器可以耦合到内容可寻址存储器,第一存储器和第二存储器。 一个或多个处理器可以被配置为接收数据分组,从数据分组读取预定数量的字节,并且将读取的字节与对应于内容可寻址存储器的行的模式相匹配。 此外,一个或多个处理器可以确定与匹配行相关联的数字,并且基于该数量,确定初始路由指令。 一个或多个处理器然后可以使用存储在第一存储器中的散列信息来确定所读取的字节的哪些比特进行散列,对该比特进行散列以产生哈希值,确定该值是否对应于第二存储器中的路由信息,并将 数据包基于路由信息。
-
5.
公开(公告)号:US20150326696A1
公开(公告)日:2015-11-12
申请号:US14273953
申请日:2014-05-09
Applicant: Google Inc.
Inventor: Yuhong Mao
IPC: H04L29/06 , H04L12/723
Abstract: A system and method are provided for updating network protocols. A new ASIC is designed to adapt to future network protocols, the ASIC including at least one packet editing program. The ASIC is configured to classify a received packet to determine new protocols to which the packet is to be updated, delete selected existing headers of the packet, insert new headers in the packet based on the classification, and modify selected headers based on the classification.
Abstract translation: 提供了一种用于更新网络协议的系统和方法。 新的ASIC被设计为适应未来的网络协议,该ASIC包括至少一个分组编辑程序。 ASIC被配置为对接收到的分组进行分类以确定要更新分组的新协议,删除分组的选定的现有头部,基于分类在分组中插入新的头部,并且基于分类修改所选择的头部。
-
公开(公告)号:US09755972B1
公开(公告)日:2017-09-05
申请号:US14734629
申请日:2015-06-09
Applicant: Google Inc.
Inventor: Yuhong Mao , Richard Lee Sites
IPC: H04L12/861 , H04L12/935 , H04L12/743
CPC classification number: H04L45/7453 , H04L45/7457 , H04L49/90
Abstract: A system and method for protocol independent receive side scaling (RSS) includes storing a plurality of RSS hash M-tuple definitions, each definition corresponding to one of a set of possible protocol header combinations for routing an incoming packet, the set of possible protocol header combinations being modifiable to include later-developed protocols. Based on initial bytes of the incoming packet, a pattern of protocol headers is detected, and used to select one of the plurality of RSS hash M-tuple definitions. The selected RSS hash M-tuple definition is applied as a protocol-independent arbitrary set of bits to the headers of the incoming packet to form a RSS hash M-tuple vector, which is used to compute a RSS hash. Based on the RSS hash, a particular queue is selected from a set of destination queues identified for the packet, and the packet is delivered to the selected particular queue.
-
7.
公开(公告)号:US09503552B2
公开(公告)日:2016-11-22
申请号:US14273953
申请日:2014-05-09
Applicant: Google Inc.
Inventor: Yuhong Mao
IPC: H04L29/06 , H04L12/723
Abstract: A system and method are provided for updating network protocols. A new ASIC is designed to adapt to future network protocols, the ASIC including at least one packet editing program. The ASIC is configured to classify a received packet to determine new protocols to which the packet is to be updated, delete selected existing headers of the packet, insert new headers in the packet based on the classification, and modify selected headers based on the classification.
Abstract translation: 提供了一种用于更新网络协议的系统和方法。 新的ASIC被设计为适应未来的网络协议,该ASIC包括至少一个分组编辑程序。 ASIC被配置为对接收到的分组进行分类以确定要更新分组的新协议,删除分组的选定的现有头部,基于分类在分组中插入新的头部,并且基于分类修改所选择的头部。
-
-
-
-
-
-