Packet steering

US9397960B2 · US · B2

Patent metadata
FieldValue
Publication numberUS-9397960-B2
Application numberUS-201113291143-A
CountryUS
Kind codeB2
Filing dateNov 8, 2011
Priority dateNov 8, 2011
Publication dateJul 19, 2016
Grant dateJul 19, 2016

How to read this patent

A practical reading order for non-experts. Skip the full description unless you need deep technical detail.

  1. Title

    What the patent document calls the invention.

  2. Abstract

    A short plain-language summary of the technical disclosure.

  3. Assignees and inventors

    Who owns or filed the patent and who is credited as inventor.

  4. Key dates

    Filing, priority, publication, and grant dates set the timeline.

  5. First independent claim

    The legal scope of protection — read this for what is actually claimed.

  6. CPC / IPC classifications

    Technology tags used to group this patent with similar filings.

  7. Citations and related patents

    Prior art links and similar publications in this corpus.

Abstract

Official abstract text for this publication.

A method for steering packets, including receiving a packet and determining parameters to be used in steering the packet to a specific destination, in one or more initial steering stages, based on one or more packet specific attributes. The method further includes determining an identity of the specific destination of the packet in one or more subsequent steering stages, governed by the parameters determined in the one or more initial stages and one or more packet specific attributes, and forwarding the packet to the determined specific destination.

First claim

Opening claim text (preview).

The invention claimed is: 1. A method of steering a packet, comprising: receiving a plurality of packets by a packet steering unit; and for each of the received packets: performing one or more initial steering lookup stages, each initial stage including a table lookup with a lookup key based on one or more packet specific attributes, the one or more initial steering lookup stages resulting in determining one or more fields of the packet, whose values for the received packet are to be used in a subsequent table lookup stage; extracting, from the packet, specific values of the one or more fields determined in the one or more initial steering lookup stages; generating a lookup key responsive to the extracted specific values; determining a specific destination of the packet in a subsequent steering stage including a table lookup governed by the generated lookup key; and forwarding the packet to the specific destination determined based on the lookup key generated responsive to the values of the one or more fields determined in the one or more initial stages, such that different packets are forwarded to destinations determined based on values of different fields of the packet. 2. The method of claim 1 , wherein the packet steering unit manages a plurality of different lookup tables and wherein performing the one or more initial steering lookup stages comprises determining, based on one or more packet specific attributes, a lookup table used in the subsequent stage, such that in determining the specific destination of the packet, different lookup tables are used for different packets. 3. The method of claim 2 , wherein performing the one or more initial steering lookup stages comprises determining, based on one or more packet specific attributes, a structure of the lookup key to be used in accessing the lookup table in the subsequent steering stage. 4. The method of claim 1 , wherein the one or more initial stages and the subsequent stage include together accessing a plurality of different lookup tables. 5. The method of claim 4 , wherein the one or more initial and the subsequent stage include accessing a plurality of different lookup tables, each corresponding to a respective virtual machine on a computer serviced by the packet steering unit. 6. The method of claim 1 , wherein the plurality of packets includes receiving InfiniBand unicast packets. 7. The method of claim 6 , and comprising receiving a multicast packet and forwarding the multicast packet based on a lookup to one or more steering tables. 8. The method of claim 1 , wherein the packet steering unit handles one or more other packets between at least some pairs of stages of handling a single packet. 9. The method of claim 1 , wherein the subsequent steering stage includes a table lookup governed by the one or more fields determined in the one or more initial stages and packet specific attributes including information from within the packet. 10. The method of claim 1 , wherein the handling of at least one of the packet includes forwarding the packet to at least one additional destination, based on information from one or more of the stages. 11. The method of claim 10 , wherein forwarding the packet to the at least one additional destination comprises forwarding before the one or more subsequent stages. 12. The method of claim 10 , wherein forwarding the packet to the at least one additional destination comprises forwarding to a plurality of destinations determined in a single stage. 13. The method of claim 1 , wherein in each stage only fields from a single protocol-layer header are used in the lookup. 14. The method of claim 1 , wherein determining the one or more fields and the specific destination of the packet include a first specific total number of stages for a first received packet, and a second specific total number of stages different from the first specific total number of stages, for a second received packet. 15. The method of claim 1 , wherein determining the one or more fields and the specific destination of the packet include accessing a first specific total number of fields of the packet, for a first received packet, and a second specific total number of fields of the additional packet, different from the first specific total number of fields, for a second received packet. 16. The method of claim 1 , wherein determining the one or more fields and the specific destination of the packet include accessing a specific set of fields of the packet, for a first received packet, and forwarding a second packet after accessing at least one field not included in the specific set. 17. The method of claim 1 , wherein a destination of a first packet is selected responsively to values of one or more fields from a group including source Internet protocol (IP) address, destination IP address, User Datagram Protocol (UDP) port and transmission control protocol (TCP) port, and a destination of a second packet is selected without reference to the values in the fields of this group.

Assignees

Inventors

Classifications

  • Address table lookup; Address filtering · CPC title

  • Flow control; Congestion control · CPC title

  • Address processing for routing · CPC title

  • H04L49/70Primary

    Virtual switches · CPC title

  • Application aware switches, e.g. for HTTP · CPC title

Patent family

Related publications grouped by family.

External sources

Frequently asked questions

Answers are generated from the same data shown on this page.

What does patent US9397960B2 cover?
A method for steering packets, including receiving a packet and determining parameters to be used in steering the packet to a specific destination, in one or more initial steering stages, based on one or more packet specific attributes. The method further includes determining an identity of the specific destination of the packet in one or more subsequent steering stages, governed by the paramet…
Who is the assignee on this patent?
Arad Nir Haim, Bloch Noam, Shahar Ariel, and 3 more
What technology area does this patent fall under?
Primary CPC classification H04L49/70. Mapped technology areas include Electricity.
When was this patent published?
Publication date Tue Jul 19 2016 00:00:00 GMT+0000 (Coordinated Universal Time) (B2). Legal status and post-grant events are not shown on this page.
What related patents are in patentsdb?
We list 8 related publications on this page (citations in our corpus or others sharing the same primary CPC).