Exchange of network state information between forwarding elements
First Claim
1. A computer configured as a first host in a network managed by at least one network controller, the computer comprising:
- a set of processing units;
a non-volatile storage storing;
a first managed forwarding element for execution by at least one processing unit in the set of processing units, the first managed forwarding element for forwarding data packets to and from virtual machines operating on the first host based on forwarding state records, wherein at least a plurality of the forwarding state records are provided by a network controller; and
a daemon for execution by at least one processing unit in the set of processing units, the daemon for (i) providing, to the first managed forwarding element, a set of forwarding state records required by the first managed forwarding element in order to forward a particular data packet and (ii) requesting forwarding state from a second managed forwarding element operating in a different second host to obtain the required set of forwarding state records from the second forwarding element to forward the particular data packet when the daemon does not have the set of forwarding state records locally available, the second managed forwarding element for forwarding data packets for a second set of virtual machines that operate on the second host.
1 Assignment
0 Petitions
Accused Products
Abstract
Some embodiments provide a network control system that includes a network controller and a set of hosts on which a set of managed forwarding elements operate. The network controller computes forwarding state information and pushes the computed forwarding state information to a set of managed forwarding elements to define forwarding behaviors of the managed forwarding elements. The managed forwarding elements receive the forwarding state information from the network controller and directly exchange with each other updates to the forwarding state information. The updates are exchanged between the managed forwarding elements without a network controller relaying the updates.
137 Citations
20 Claims
-
1. A computer configured as a first host in a network managed by at least one network controller, the computer comprising:
-
a set of processing units; a non-volatile storage storing; a first managed forwarding element for execution by at least one processing unit in the set of processing units, the first managed forwarding element for forwarding data packets to and from virtual machines operating on the first host based on forwarding state records, wherein at least a plurality of the forwarding state records are provided by a network controller; and a daemon for execution by at least one processing unit in the set of processing units, the daemon for (i) providing, to the first managed forwarding element, a set of forwarding state records required by the first managed forwarding element in order to forward a particular data packet and (ii) requesting forwarding state from a second managed forwarding element operating in a different second host to obtain the required set of forwarding state records from the second forwarding element to forward the particular data packet when the daemon does not have the set of forwarding state records locally available, the second managed forwarding element for forwarding data packets for a second set of virtual machines that operate on the second host. - View Dependent Claims (2, 3, 4, 5, 6)
-
-
7. A non-transitory machine readable medium storing a first managed forwarding element which when executed by at least one processing unit forwards data within a network comprising a plurality of managed forwarding elements, the first managed forwarding element comprising sets of instructions for:
-
from a network controller that manages the network, receiving forwarding state records computed by the network controller; determining whether a set of forwarding state records required for forwarding a particular packet exists in the received forwarding state records; when the required set of forwarding state records do not exist in the received forwarding state records, sending a request to obtain the set of forwarding state records to a second managed forwarding element, wherein the first and second managed forwarding elements receive forwarding state records from the network controller in order to implement a set of logical forwarding elements; receiving the requested forwarding state records from the second managed forwarding element; and forwarding the packet using the forwarding state records received from the second managed forwarding element. - View Dependent Claims (8, 9, 10, 11)
-
-
12. A network control system comprising:
-
a network controller for computing forwarding state information and pushing the computed forwarding state information to a set of managed forwarding elements to define forwarding behaviors of the managed forwarding elements; and a set of hosts on which the set of managed forwarding elements operate to forward data for sets of virtual machines operating on each host, the managed forwarding elements for receiving the forwarding state information from the network controller and directly exchanging with each other updates to the forwarding state information, wherein the updates are exchanged between the managed forwarding elements without the network controller relaying the updates. - View Dependent Claims (13, 14, 15, 16, 17, 18, 19, 20)
-
Specification