Implementing an interface between tuple and message-driven control entities
First Claim
1. A non-transitory machine readable medium storing a local first controller executing on a set of processing units of a host computer in a network managed by a central second controller, the local first controller comprising an input first set of tables, an output second set of tables, and sets of instructions for:
- determining that a first set of data tuples stored in the input first set of tables has been modified;
based on the modified first set of data tuples, generating a second set of data tuples stored in the output second set of tables, the generated second set of data tuples comprising data for performing forwarding operations by a managed forwarding element executing on the host computer and managed by the local first controller to forward data messages to other managed forwarding elements in the network;
based on the generated second set of data tuples, generating a set of control messages; and
sending the generated set of control messages to the central second controller, which based on the set of control messages, generates at least one control message to distribute to at least one other local third controller to use in managing another managed forwarding element on another host computer.
1 Assignment
0 Petitions
Accused Products
Abstract
Some embodiments of the invention provide a novel method for interfacing between a first tuple-based controller and a second controller using a message-based protocol. The method of some embodiments identifies a set of changed tuples stored in a set of output tables, generates a set of messages based on the changed tuples, and sends the generated set of messages to a second controller. In some embodiments, the first and second controllers are parts of a network control system that manages forwarding elements to implement a logical network.
-
Citations
20 Claims
-
1. A non-transitory machine readable medium storing a local first controller executing on a set of processing units of a host computer in a network managed by a central second controller, the local first controller comprising an input first set of tables, an output second set of tables, and sets of instructions for:
-
determining that a first set of data tuples stored in the input first set of tables has been modified; based on the modified first set of data tuples, generating a second set of data tuples stored in the output second set of tables, the generated second set of data tuples comprising data for performing forwarding operations by a managed forwarding element executing on the host computer and managed by the local first controller to forward data messages to other managed forwarding elements in the network; based on the generated second set of data tuples, generating a set of control messages; and sending the generated set of control messages to the central second controller, which based on the set of control messages, generates at least one control message to distribute to at least one other local third controller to use in managing another managed forwarding element on another host computer. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20)
-
Specification