Pull-based state dissemination between managed forwarding elements
First Claim
1. For a controller that manages managed forwarding elements that forward data in a network, a method for configuring the managed forwarding elements, the method comprising:
- computing forwarding state and sending the computed forwarding state to the managed forwarding elements, the forwarding state defining forwarding behaviors of the managed forwarding elements; and
configuring the managed forwarding elements to exchange forwarding state with each other, the configuring comprising;
configuring a first managed forwarding element to send a forwarding state information request to a second managed forwarding element;
configuring the second managed forwarding element (i) to respond to the forwarding state information request by performing a lookup in a forwarding state information repository and (ii) to update the forwarding state information repository with forwarding state information received from a third managed forwarding element; and
configuring the third managed forwarding element to send a removal request to the second managed forwarding element to remove certain forwarding state information from the forwarding state information repository when the third managed forwarding element determines that the certain forwarding state information is no longer valid.
1 Assignment
0 Petitions
Accused Products
Abstract
For a controller that manages managed forwarding elements that forward data in a network, a method for configuring the managed forwarding elements is described. The method computes forwarding state and pushes the computed forwarding state to the managed switching elements. The forwarding state defines forwarding behaviors of the managed switching elements. The method configures the managed switching elements to exchange forwarding state with each other. The method configures the managed switching elements by configuring a first managed forwarding element to send a forwarding state information request to a second managed forwarding element and by configuring the second managed forwarding element to (1) respond to the forwarding state information request by looking up a forwarding state information repository and (2) update the forwarding state information repository with forwarding states information received from a third managed forwarding element.
193 Citations
20 Claims
-
1. For a controller that manages managed forwarding elements that forward data in a network, a method for configuring the managed forwarding elements, the method comprising:
-
computing forwarding state and sending the computed forwarding state to the managed forwarding elements, the forwarding state defining forwarding behaviors of the managed forwarding elements; and configuring the managed forwarding elements to exchange forwarding state with each other, the configuring comprising; configuring a first managed forwarding element to send a forwarding state information request to a second managed forwarding element; configuring the second managed forwarding element (i) to respond to the forwarding state information request by performing a lookup in a forwarding state information repository and (ii) to update the forwarding state information repository with forwarding state information received from a third managed forwarding element; and configuring the third managed forwarding element to send a removal request to the second managed forwarding element to remove certain forwarding state information from the forwarding state information repository when the third managed forwarding element determines that the certain forwarding state information is no longer valid. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9)
-
-
10. A computer configured as a host for managing network traffic to forward, the computer comprising:
-
a set of processing units; a software forwarding element that operates on at least one processing unit in the set of processing units, the software forwarding element for processing a packet to forward the packet; an information repository comprising forwarding state information stored as a plurality of key and value pairs, wherein each key and value pair is associated with a time indicator that indicates an amount of time during which the key and value pair is valid; and a lookup module that operates on at least one processing unit in the set of processing units, said lookup module for (i) providing information from the information repository to the software forwarding element that the software forwarding element needs in order to process the packet and (ii) sending an information request to another software forwarding element running in another host to obtain the information from the other software forwarding element when the information repository does not have the information. - View Dependent Claims (11, 12, 13, 14)
-
-
15. A non-transitory machine readable medium storing a program which when executed by at least one processing unit manages a set of managed forwarding elements that forward data in a network, the set of managed forwarding elements comprising edge managed forwarding elements that directly interface with sources and destinations of packets and second-level managed forwarding elements that facilitate communications between sets of edge managed forwarding elements and do not directly interface with the sources and destinations of packets, the program comprising sets of instructions for:
-
computing forwarding state and sending the computed forwarding state to the managed forwarding elements, the forwarding state defining forwarding behaviors of the managed forwarding elements; and configuring the managed forwarding elements to exchange forwarding state with each other, the set of instructions for configuring comprising sets of instructions for; configuring a first edge managed forwarding element to send a forwarding state information request to a second-level managed forwarding element; and configuring the second-level managed forwarding element (i) to respond to the forwarding state information request by looking up a forwarding state information repository and (ii) to update the forwarding state information repository with forwarding state information received from a second edge managed forwarding element. - View Dependent Claims (16, 17, 18, 19, 20)
-
Specification