Batch Processing of Packets

US2016191384A1 · US · A1

Patent metadata
FieldValue
Publication numberUS-2016191384-A1
Application numberUS-201414583065-A
CountryUS
Kind codeA1
Filing dateDec 24, 2014
Priority dateDec 24, 2014
Publication dateJun 30, 2016
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 for a managed forwarding element. The method receives a set of packets for processing by the managed forwarding element. For each of several packets in the set, the method associates the packet with one of several groups of other packets in the set. Each group of packets shares a set of characteristics. For each group of packets the method identifies a set of actions to perform and executes the specified set of actions on all of the packets in the group together.

First claim

Opening claim text (preview).

1 . For a managed forwarding element, a method comprising: receiving a set of packets for processing by the managed forwarding element; for each of a plurality of packets in the set, associating the packet with one of several groups of other packets in the set, wherein each group of packets shares a set of characteristics; for each group of packets, identifying a set of actions to perform; and for each group of packets, executing the specified set of actions on all of the packets in the group together. 2 . The method of claim 1 , wherein the managed forwarding element is a software forwarding element, wherein a size of the set of packets is determined by a packet processing software library utilized by the managed forwarding element. 3 . The method of claim 1 , wherein the set of characteristics is a set of packet headers that effects the actions performed on the packet by the managed forwarding element. 4 . The method of claim 1 , wherein the set of actions for a particular group comprises dropping the packets associated with the particular group. 5 . The method of claim 1 , wherein the set of actions for a particular group comprises modifying one or more packet headers in a particular manner. 6 . The method of claim 1 , wherein the set of actions for a particular group comprises outputting the packet to a particular port. 7 . The method of claim 1 , wherein a particular group of packets comprises packets from several different data flows. 8 . The method of claim 1 , wherein associating a particular packet with one of several groups of other packets comprises: comparing the packet against a plurality of entries in a first cache, each entry in the first cache for a different data flow; when the packet matches a particular entry in the first cache, associating the packet with a group according to the particular entry; and when the packet does not match any entry in the first cache, associating the packet with a group of unmatched packets. 9 . The method of claim 8 , wherein each entry in the first cache comprises (i) a set of packet headers to which received packets are compared and (ii) a reference to a flow entry in a second cache of flow entries. 10 . The method of claim 9 , wherein associating the particular packet with a group comprises adding the packet to a group of packets that match entries in the first cache that comprise references to a same particular flow entry in the second cache as the entry in the first cache matched by the particular packet. 11 . The method of claim 9 , wherein each flow entry in the second cache of flow entries specifies a set of actions to perform on a packet, wherein identifying the of actions to perform on a particular packet comprises identifying the set of actions specified by a referenced flow entry. 12 . The method of claim 8 further comprising performing a lookup in the second cache of flow entries for each packet in the group of unmatched packets. 13 . The method of claim 1 , wherein executing the set of actions on all of the packets in a group together comprises passing an array of packets to a function for a particular action in the set of actions. 14 . A machine readable medium storing a managed forwarding element for execution by at least one processing unit, the managed forwarding element comprising sets of instructions for: receiving a set of packets for processing by the managed forwarding element; for each of a plurality of packets in the set, associating the packet with one of several groups of other packets in the set, wherein each group of packets shares a set of characteristics; for each group of packets, identifying a set of actions to perform; and for each group of packets, executing the specified set of actions on all of the packets in the group together. 15 . The machine readable medium of claim 14 , wherein the set of characteristics is a set of packet headers that effects the actions performed on the packet by the managed forwarding element. 16 . The machine readable medium of claim 14 , wherein the set of actions for a particular group comprises at least one of (i) dropping the packets associated with the particular group, (ii) modifying one or more packet headers in a particular manner, and (iii) outputting the packets to a particular port. 17 . The machine readable medium of claim 14 , wherein the set of instructions for associating a particular packet with one of several groups of other packets comprises sets of instructions for: comparing the packet against a plurality of entries in a first cache, each entry in the first cache for a different data flow; when the packet matches a particular entry in the first cache, associating the packet with a group according to the particular entry; and when the packet does not match any entry in the first cache, associating the packet with a group of unmatched packets. 18 . The machine readable medium of claim 17 , wherein each entry in the first cache comprises (i) a set of packet headers to which received packets are compared and (ii) a reference to a flow entry in a second cache of flow entries. 19 . The machine readable medium of claim 18 , wherein the set of instructions for associating the particular packet with a group comprises a set of instructions for adding the packet to a group of packets that match entries in the first cache that comprise references to a same particular flow entry in the second cache as the entry in the first cache matched by the particular packet. 20 . The machine readable medium of claim 18 , wherein each flow entry in the second cache of flow entries specifies a set of actions to perform on a packet, wherein identifying the of actions to perform on a particular packet comprises identifying the set of actions specified by a referenced flow entry. 21 . The machine readable medium of claim 17 , wherein the program further comprises a set of instructions for performing a lookup in the second cache of flow entries for each packet in the group of unmatched packets. 22 . The machine readable medium of claim 14 , wherein the set of instructions for executing the set of actions on all of the packets in a group together comprises a set of instructions for passing an array of packets to a function for a particular action in the set of actions.

Assignees

Inventors

Classifications

  • H04L69/22Primary

    Parsing or analysis of headers · CPC title

  • H04L45/742Primary

    Route cache; Operation thereof · CPC title

  • 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 US2016191384A1 cover?
Some embodiments provide a method for a managed forwarding element. The method receives a set of packets for processing by the managed forwarding element. For each of several packets in the set, the method associates the packet with one of several groups of other packets in the set. Each group of packets shares a set of characteristics. For each group of packets the method identifies a set of a…
Who is the assignee on this patent?
Nicira Inc
What technology area does this patent fall under?
Primary CPC classification H04L69/22. Mapped technology areas include Electricity.
When was this patent published?
Publication date Thu Jun 30 2016 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).