Hybrid Packet Processing

US2017142011A1 · US · A1

Patent metadata
FieldValue
Publication numberUS-2017142011-A1
Application numberUS-201715421662-A
CountryUS
Kind codeA1
Filing dateFeb 1, 2017
Priority dateJul 8, 2013
Publication dateMay 18, 2017
Grant date

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.

Some embodiments provide a method of processing an incoming packet for a managed forwarding element that executes in a host to forward packets in a network. The method performs a lookup into a forwarding table to identify a flow entry matched by the incoming packet. The flow entry specifies a high-level action to perform on the incoming packet. The method provides packet data to a module executing separately from the managed forwarding element in the host. The module performs a set of processes in order to identify a set of low-level actions for the managed forwarding element to perform on the incoming packet without additional lookups into the forwarding table. The method receives data from the separate module specifying the set of low-level actions. The method performs the set of low-level actions on the incoming packet in order to further process the packet.

First claim

Opening claim text (preview).

1 - 20 . (canceled) 21 . A method of processing packets for a managed forwarding element that executes in a host machine to forward packets in a network, the method comprising: performing a lookup operation that searches entries in a forwarding table to identify an entry that matches a packet of a data flow, the identified entry specifying a high-level action to perform on the packet; providing data regarding the packet to a module that executes separately from the managed forwarding element on the same host machine as the managed forwarding element, wherein the module performs a set of processes in order to identify a set of low-level actions for the managed forwarding element to perform on the packet without additional lookups into the forwarding table; receiving data from the separate module that specifies the set of low-level actions; and performing the set of low-level actions on the packet in order to further process the packet. 22 . The method of claim 21 , wherein the packet is a first packet in the data flow. 23 . The method of claim 22 further comprising caching the set of low-level actions for use in processing subsequent packets in the data flow. 24 . The method of claim 21 , wherein the separate module comprises a function executing as object code. 25 . The method of claim 24 , wherein the high-level action specifies a call to the function. 26 . The method of claim 21 , wherein the packet matches the identified entry based on one or more register values stored for the packet by the managed forwarding element. 27 . The method of claim 21 , wherein the module identifies the set of low-level actions based on data previously identified for the packet by the managed forwarding element. 28 . The method of claim 21 , wherein the high-level action is outputting the packet to a logical port, wherein providing the data regarding the packet to the module comprises providing a logical egress port of a logical forwarding element. 29 . The method of claim 28 , wherein the received data from the separate module comprises instructions to encapsulate the packet in a particular tunnel to which the logical egress port corresponds. 30 . The method of claim 28 further comprising, prior to performing the lookup operation, performing logical forwarding to identify the logical egress port. 31 . A non-transitory machine readable medium storing a managed forwarding element which when executed by at least one processing unit of a host machine to forward packets in a network, the managed forwarding element comprising sets of instructions for: performing a lookup operation that searches entries in a forwarding table to identify an entry that matches a packet of a data flow, the identified entry specifying a high-level action to perform on the packet; providing data regarding the packet to a module that executes separately from the managed forwarding element on the same host machine as the managed forwarding element, wherein the module performs a set of processes in order to identify a set of low-level actions for the managed forwarding element to perform on the packet without additional lookups into the forwarding table; receiving data from the separate module that specifies the set of low-level actions; and performing the set of low-level actions on the packet in order to further process the packet. 32 . The non-transitory machine readable medium of claim 31 , wherein the packet is a first packet in the data flow. 33 . The non-transitory machine readable medium of claim 32 further comprising caching the set of low-level actions for use in processing subsequent packets in the data flow without the use of the separate module. 34 . The non-transitory machine readable medium of claim 31 , wherein the separate module comprises a function executing as object code. 35 . The non-transitory machine readable medium of claim 34 , wherein the high-level action specifies a call to the function. 36 . The non-transitory machine readable medium of claim 31 , wherein the packet matches the identified entry based on one or more register values stored for the packet by the managed forwarding element. 37 . The non-transitory machine readable medium of claim 31 , wherein the module identifies the set of low-level actions based on data previously identified for the packet by the managed forwarding element. 38 . The non-transitory machine readable medium of claim 31 , wherein the high-level action is outputting the packet to a logical port, wherein the set of instructions for providing the data regarding the packet to the module comprises a set of instructions for providing a logical egress port of a logical forwarding element. 39 . The non-transitory machine readable medium of claim 38 , wherein the received data from the separate module comprises instructions to encapsulate the packet in a particular tunnel to which the logical egress port corresponds. 40 . The non-transitory machine readable medium of claim 38 , wherein the managed forwarding element further comprises a set of instructions for performing logical forwarding to identify the logical egress port prior to performing the lookup operation.

Assignees

Inventors

Classifications

  • Flow based routing · CPC title

  • using forward notification · CPC title

  • Organization of routing tables · CPC title

  • Route cache; Operation thereof · CPC title

  • H04L45/745Primary

    Address table lookup; Address filtering · 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 US2017142011A1 cover?
Some embodiments provide a method of processing an incoming packet for a managed forwarding element that executes in a host to forward packets in a network. The method performs a lookup into a forwarding table to identify a flow entry matched by the incoming packet. The flow entry specifies a high-level action to perform on the incoming packet. The method provides packet data to a module execut…
Who is the assignee on this patent?
Nicira Inc
What technology area does this patent fall under?
Primary CPC classification H04L45/745. Mapped technology areas include Electricity.
When was this patent published?
Publication date Thu May 18 2017 00:00:00 GMT+0000 (Coordinated Universal Time) (A1). 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).