Method, apparatus, and system for supporting flexible lookup keys in software-defined networks

US9954779B2 · US · B2

Patent metadata
FieldValue
Publication numberUS-9954779-B2
Application numberUS-201615147215-A
CountryUS
Kind codeB2
Filing dateMay 5, 2016
Priority dateDec 18, 2013
Publication dateApr 24, 2018
Grant dateApr 24, 2018

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 is described in a network element for supporting flexible lookup keys in a software-defined network. The method includes receiving a packet to be forwarded and determining a next hop for the packet, which includes parsing the packet to identify a superkey comprising a plurality of header field values of the packet; identifying a superkey mask value and a superkey offset value for a first lookup table of a set of one or more lookup tables; generating a table key for the first lookup table based upon the superkey mask value, the superkey offset value, and the superkey; and performing a lookup in the first lookup table using the table key. The lookup identifies an entry of the first lookup table indicating the next hop for the packet. The packet may then be forwarded to the next hop.

First claim

Opening claim text (preview).

What is claimed is: 1. A method in a forwarding element implemented by a network device in a software-defined network for supporting flexible lookup table keys, the method comprising: receiving, at the forwarding element, a packet to be forwarded; generating, by the forwarding element, a table key for a first lookup table based upon a superkey mask value, a superkey offset value, and a superkey, wherein the superkey comprises a plurality of header field values of the packet, and wherein the superkey mask value and the superkey offset value are associated with the first lookup table; performing, by the forwarding element, a lookup in the first lookup table using the table key, wherein the lookup identifies an entry of the first lookup table indicating a next hop for the packet; and transmitting, by the forwarding element, the packet to the next hop. 2. The method of claim 1 , further comprising: identifying a table entry of a plurality of entries of a structure definition table (SDT) that corresponds to the first lookup table, wherein the SDT table entry comprises the superkey offset value and the superkey mask value. 3. The method of claim 1 , wherein said generating the table key comprises: applying the superkey mask value to a subset of bytes of the superkey identified based upon the superkey offset value. 4. The method of claim 3 , wherein said applying comprises: performing an AND operation with the subset of bytes of the superkey and the superkey mask value. 5. The method of claim 3 , wherein said generating the table key for the first lookup table further comprises applying a second superkey mask value to another subset of bytes of the superkey identified based upon a second superkey offset value. 6. The method of claim 1 , wherein said first lookup table comprises a hash table, and wherein said performing the lookup in the first lookup table using the table key comprises applying a hash function to the table key to generate an index value to be used to search the hash table. 7. The method of claim 1 , further comprising: receiving, at the forwarding element, a second packet; generating, by the forwarding element, a second table key for the first lookup table based upon the superkey mask value, the superkey offset value, and a second superkey generated based upon the second packet; performing, by the forwarding element, a second lookup in the first lookup table using the second table key to determine to perform another lookup in a second lookup table; generating, by the forwarding element, a third table key for the second lookup table based upon a second superkey mask value, a second superkey offset value, and the second superkey, and performing, by the forwarding element, a third lookup in the second lookup table using the third table key to identify an entry of the second lookup table indicating a second next hop; and transmitting, by the forwarding element, the second packet to the second next hop. 8. The method of claim 1 , further comprising: receiving, at the forwarding element, a command from a controller in the software-defined network, wherein the command indicates that the forwarding element is to configure the first lookup table; configuring the first lookup table according to the command; and configuring a table entry of a structure definition table (SDT) that is to correspond to the first lookup table to include the superkey offset value and the superkey mask value. 9. A device to implement a forwarding element to operate in a software-defined network and support flexible lookup table keys, the device comprising: one or more line cards, wherein each of the one or more line cards comprises circuitry adapted to: receive a packet to be forwarded; generate a table key for a first lookup table based upon a superkey mask value, a superkey offset value, and a superkey, wherein the superkey comprises a plurality of header field values of the packet, and wherein the superkey mask value and the superkey offset value are associated with the first lookup table; perform a lookup in the first lookup table using the table key, wherein the lookup identifies an entry of the first lookup table indicating a next hop for the packet; and transmit the packet to the next hop. 10. The device of claim 9 , wherein the circuitry is further adapted to: identify a table entry of a plurality of entries of a structure definition table (SDT) that corresponds to the first lookup table, wherein the SDT table entry comprises the superkey offset value and the superkey mask value. 11. The device of claim 9 , wherein, to generate the table key, the circuitry is adapted to: apply the superkey mask value to a subset of bytes of the superkey identified based upon the superkey offset value. 12. The device of claim 11 , wherein, to apply the superkey mask value, the circuitry is adapted to: perform an AND operation with the subset of bytes of the superkey and the superkey mask value. 13. The device of claim 11 , wherein, to generate the table key for the first lookup table, the circuitry is further adapted to apply a second superkey mask value to another subset of bytes of the superkey identified based upon a second superkey offset value. 14. The device of claim 9 , wherein said first lookup table comprises a hash table, and wherein, to perform the lookup in the first lookup table using the table key, the circuitry is adapted to apply a hash function to the table key to generate an index value to be used to search the hash table. 15. The device of claim 9 , wherein the circuitry is further adapted to: receive a second packet; generate a second table key for the first lookup table based upon the superkey mask value, the superkey offset value, and a second superkey generated based upon the second packet; perform a second lookup in the first lookup table using the second table key to determine to perform another lookup in a second lookup table; generate a third table key for the second lookup table based upon a second superkey mask value, a second superkey offset value, and the second superkey; perform a third lookup in the second lookup table using the third table key to identify an entry of the second lookup table indicating a second next hop; and transmit the second packet to the second next hop. 16. The device of claim 9 , wherein the circuitry is further adapted to: receive a command from a controller in the software-defined network, wherein the command indicates that the forwarding element is to configure the first lookup table; configure the first lookup table according to the command; and configure a table entry of a structure definition table (SDT) that is to correspond to the first lookup table to include the superkey offset value and the superkey mask value. 17. A non-transitory computer readable storage medium having instructions which, when executed by one or more processors of a device, cause the device to implement a forwarding element to act in a software-defined network and support flexible lookup table keys by performing operations comprising: receiving a packet to be forwarded; generating a table key for a first lookup table based upon a superkey mask value, a superkey offset value, and a superkey, wherein the superkey comprises a plurality of header field values of the packet, and wherein the superkey mask value and the superkey offset value are associated with the first lookup table; performing a lookup in the first lookup table using the table key, wherein the lookup identifies an entry of the first lookup table indicating a next

Assignees

Inventors

Classifications

  • using an overlay routing layer · CPC title

  • Address table lookup; Address filtering · CPC title

  • Parsing or analysis of headers · CPC title

  • Centralised routing · CPC title

  • H04L45/38Primary

    Flow based routing · 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 US9954779B2 cover?
A method is described in a network element for supporting flexible lookup keys in a software-defined network. The method includes receiving a packet to be forwarded and determining a next hop for the packet, which includes parsing the packet to identify a superkey comprising a plurality of header field values of the packet; identifying a superkey mask value and a superkey offset value for a fir…
Who is the assignee on this patent?
Ericsson Telefon Ab L M, Ericsson Telefon Ab L M
What technology area does this patent fall under?
Primary CPC classification H04L45/38. Mapped technology areas include Electricity.
When was this patent published?
Publication date Tue Apr 24 2018 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 2 related publications on this page (citations in our corpus or others sharing the same primary CPC).