Hybrid packet processing
First Claim
1. A method of processing packets for a managed forwarding element that executes in a single computing device to forward packets in a network, the method comprising:
- at the single computing device, 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 that comprises outputting the packet to a logical egress port of a logical forwarding element;
providing the logical egress port to a module that executes separately from the managed forwarding element on the same single computing device 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, the data comprising instructions to encapsulate the packet in a particular tunnel to which the logical egress port corresponds; and
performing the set of low-level actions on the packet in order to further process the packet at the single computing device.
0 Assignments
0 Petitions
Accused Products
Abstract
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.
-
Citations
20 Claims
-
1. A method of processing packets for a managed forwarding element that executes in a single computing device to forward packets in a network, the method comprising:
-
at the single computing device, 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 that comprises outputting the packet to a logical egress port of a logical forwarding element; providing the logical egress port to a module that executes separately from the managed forwarding element on the same single computing device 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, the data comprising instructions to encapsulate the packet in a particular tunnel to which the logical egress port corresponds; and performing the set of low-level actions on the packet in order to further process the packet at the single computing device. - View Dependent Claims (2, 3, 4, 5, 6, 7)
-
-
8. A method of processing packets for a managed forwarding element that executes in a single computing device to forward packets in a network, the method comprising:
-
at the single computing device, performing (i) a logical forwarding operation to identify a logical egress port of a logical forwarding element and (ii) a subsequent 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 that comprises outputting the packet to the logical egress port; providing the logical egress port to a module that executes separately from the managed forwarding element on the same single computing device 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 at the single computing device. - View Dependent Claims (9, 10)
-
-
11. A non-transitory machine readable medium storing a managed forwarding element which when executed by at least one processing unit of a host machine forwards 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 that comprises outputting the packet to a logical egress port of a logical forwarding element; providing the logical egress port 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, the data comprising instructions to encapsulate the packet in a particular tunnel to which the logical egress port corresponds; and performing the set of low-level actions on the packet in order to further process the packet. - View Dependent Claims (12, 13, 14, 15, 16, 17)
-
-
18. A non-transitory machine readable medium storing a managed forwarding element which when executed by at least one processing unit of a host machine forwards packets in a network, the managed forwarding element sets of instructions for:
-
performing (i) a logical forwarding to identify a logical egress port of a logical forwarding element and (ii) a subsequent 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 that comprises outputting the packet to the logical egress port; providing the logical egress port 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. - View Dependent Claims (19, 20)
-
Specification