USING TRANSACTIONS TO COMPUTE AND PROPAGATE NETWORK FORWARDING STATE
First Claim
1. For a controller for managing a network comprising a plurality of managed forwarding elements that forward data in the network, a method for configuring a managed forwarding element, the method comprising:
- generating a first set of flow entries for defining forwarding behaviors of the managed forwarding element based on a current network policy for a logical network implemented in the plurality of managed forwarding elements;
sending the first set of flow entries to the managed forwarding element in order for the managed forwarding element to forward data that the managed forwarding element directly receives from an end machine based on the current network policy;
generating a second set of flow entries for modifying forwarding behaviors of the managed forwarding element based on a new network policy for the logical network; and
sending the second set of flow entries to the managed forwarding element in order for the managed forwarding element to forward the data based on the new network policy,wherein the managed forwarding element forwards the data by making a set of logical forwarding decisions for identifying a physical port to which a logical egress port of a logical forwarding element is mapped, wherein the logical forwarding element is implemented in the plurality of managed forwarding elements.
1 Assignment
0 Petitions
Accused Products
Abstract
For a controller for managing a network comprising several managed forwarding elements that forward data in the network, a method for configuring a managed forwarding element is described. The method generates a first set of flow entries for defining forwarding behaviors of the managed forwarding element based on a current network policy for a logical network implemented in the several managed forwarding elements. The method sends the first set of flow entries to the managed forwarding element in order for the managed forwarding element to forward data that the managed forwarding element directly receives from an end machine based on the current network policy. The method generates a second set of flow entries for modifying forwarding behaviors of the managed forwarding element based on a new network policy for the logical network. The method sends the second set of flow entries to the managed forwarding element in order for the managed forwarding element to forward the data based on the new network policy.
-
Citations
27 Claims
-
1. For a controller for managing a network comprising a plurality of managed forwarding elements that forward data in the network, a method for configuring a managed forwarding element, the method comprising:
-
generating a first set of flow entries for defining forwarding behaviors of the managed forwarding element based on a current network policy for a logical network implemented in the plurality of managed forwarding elements; sending the first set of flow entries to the managed forwarding element in order for the managed forwarding element to forward data that the managed forwarding element directly receives from an end machine based on the current network policy; generating a second set of flow entries for modifying forwarding behaviors of the managed forwarding element based on a new network policy for the logical network; and sending the second set of flow entries to the managed forwarding element in order for the managed forwarding element to forward the data based on the new network policy, wherein the managed forwarding element forwards the data by making a set of logical forwarding decisions for identifying a physical port to which a logical egress port of a logical forwarding element is mapped, wherein the logical forwarding element is implemented in the plurality of managed forwarding elements. - View Dependent Claims (2, 3, 4, 5)
-
-
6. For a controller for managing a network comprising a plurality of managed forwarding elements that forward data in the network, a method for configuring the managed forwarding elements, the method comprising:
-
generating a first set of configuration data for configuring a managed forwarding elements as a first-hop forwarding element for (i) receiving a packet directly from an end machine that is a source of the packet and (ii) forwarding the packet towards an end machine that is a destination of the packet; generating a second set of configuration data for configuring a set of managed forwarding elements as non-first-hop forwarding elements for (i) receiving the packet not directly from the source end machine and (ii) forwarding the packet towards the destination end machine; and sending the second set of configuration data to the set of managed forwarding elements prior to sending the first set of configuration data to the managed forwarding element. - View Dependent Claims (7, 8, 9, 10, 11, 12, 13, 14)
-
-
15. For a controller for managing a network comprising managed forwarding elements that forward data in the network, a method for configuring a set of managed forwarding elements, the method comprising:
-
generating (i) a first set of flow entries for configuring the set of managed forwarding elements as first-hop forwarding elements that forward data received directly from a set of end machines and (ii) a second set of flow entries for configuring the set of managed forwarding elements as non-first-hop forwarding elements that forward data not received from the set of end machines; and sending the second set of flow entries to the set of managed forwarding elements prior to sending the first set of flow entries to the set of managed forwarding elements. - View Dependent Claims (16, 17, 18, 19, 20)
-
-
21. For a managed forwarding element for forwarding data in a network, a method for forwarding data comprising:
-
forwarding data based on old forwarding state information that defines forwarding behaviors of the managed forwarding element, the old forwarding state information received through a plurality of communication channels established between the managed forwarding element and a controller that sends forwarding state information to the managed forwarding element; receiving new forwarding state information from the controller through the communication channel established with the controller, the new forwarding state information for modifying the forwarding behaviors of the managed forwarding element, the new forwarding state received as sets of transactional input flow entries through the communication channels, one set of transactional input flow entries received through a particular channel, the other sets of transactional input flow entries received through other channels of the plurality of channels; and using the new forwarding state information to forward data only after completely receiving the set of transactional input flow entries through the particular channel. - View Dependent Claims (22, 23, 24)
-
-
25. For a first network controller that pushes flow entries to a managed forwarding element in order to configure the managed forwarding element to forward data in a network, the method for pushing flow entries comprising:
-
receiving a set of flow entries from a second controller that generates flow entries; processing the received set of flow entries; based on certain criteria, determining whether the set of flow entries should be pushed to the managed forwarding element immediately; when it is determined that the set of flow entries should be pushed to the managed forwarding element immediately, pushing each flow entry of the set of flow entries to the managed forwarding element as soon as the flow entry is processed; and when it is determined that the set of flow entries do not have to be pushed to the managed forwarding element immediately, pushing the set of flow entries to the managed forwarding element only after processing all of the flow entries of the set of flow entries. - View Dependent Claims (26, 27)
-
Specification