Abstract:
Some embodiments provide a program for managing several switching elements. The program receives, at a network information base (NIB) data structure that stores data for managing the several switching elements, a request to notify a first application that uses the NIB when a set of data stored in the NIB is changed. The program changes, in response to an instruction from a second application, the set of data in the NIB. The program sends a notification to the first application of the change to the set of data in the NIB.
Abstract:
Some embodiments provide a managed network for implementing a logical switching element. The managed network includes several managed edge switching elements that are each for (1) receiving packets for forwarding through the logical switching element and (2) forwarding packets that are known to the managed edge switching element to other managed edge switching elements in the several managed edge switching elements. The managed network includes a set of managed non-edge switching elements for (1) receiving packets from the several managed edge switching elements that are unknown to a particular managed edge switching element in the several managed edge switching elements and (2) forwarding packets to the several managed edge switching elements that are unknown to the several managed edge switching elements.
Abstract:
Some embodiments provide a method that processes network data through a network. The method receives a packet destined for a network host associated with a logical datapath set implemented by a set of managed edge switching elements and a set of managed non-edge switching elements in the network. The method determines whether the packet is a known packet. When the packet is a known packet, the method forwards the packet to a managed switching element in the set of managed edge switching elements for forwarding to the network host. When the packet is not a known packet, the method forwards the packet to a managed switching element in the set of managed non-edge switching elements for further processing.
Abstract:
A control system including several controllers for managing several switching elements. A first controller registers a second controller for receiving a notification when a data tuple changes in a network information base (NIB) storage of the first controller that stores data for managing a set of switching elements. The first controller changes the data tuple in the NIB. The first controller sends the notification to the second controller of the change to the data tuple in the NIB. The first and second controllers operate on two different computing devices. Each controller receives logical control plane data for specifying logical datapath sets and converts the logical control plane data to physical control plane data for enabling the switching elements to implement the logical datapath sets.
Abstract:
A network control system that includes several controllers for managing several switching elements. Each controller includes a network information base (NIB) storage that stores data regarding the switching elements and a secondary storage for facilitating replication of at least a portion of data across the NIB storages of the different controllers. In some embodiments, the primary purpose for one or more of the secondary storage structures is to back up the data in the NIB. In these or other embodiments, one or more of the secondary storage structures serve a purpose other than backing up the data in the NIB. In some embodiments, the NIB is stored in system memory while the system operates for fast access of the NIB records. In some embodiments, one or more of the secondary storage structures are stored on disks which can be slower to access.
Abstract:
A control system that includes several controllers for managing several switching elements. A first controller receives a request to modify a data tuple stored in a network information base (NIB) storage of the first controller that stores data for managing a set of switching elements. The first controller determines whether the received request to modify should be processed by the first controller. When the received request should be modified by the first controller, the first controller modifies the set of data in the NIB storage. The first controller updates a request list that is propagated between the controllers to disseminate requests to modify different data tuples that are stored in the NIB storages of the different controllers.
Abstract:
Some embodiments provide a control system for managing a network that includes several switching elements managed by the control system. The system includes several controller instances for managing the switching elements. Each particular controller instance includes a coordination manager for communicating with the coordination managers of the other controllers in order to partition control of the plurality of switching elements by electing a master controller for different sets of switching elements. The particular controller instance also includes a storage for storing control data for controlling the set of managed switching elements managed by the controller instance, and a switch interface for passing the control data to the set of managed switching elements.
Abstract:
A network control system that includes several controllers for managing several switching elements and a distributed hash table (DHT) formed across the controllers for storing data regarding the switching elements that is accessible by the controllers. Each hash table serves as a DHT instance. In some embodiments, the DHT instances of all controller instances collectively store one set of records that is indexed based on hashed indices for quick access. These records are distributed across the different controller instances to minimize the size of the records within each instance and to allow for the size of the DHT to be increased by adding other DHT instances. According to this scheme, each DHT record is not stored in each controller instance. In fact, in some embodiments, each DHT record is stored in at most one controller instance.
Abstract:
Some embodiments provide a network architecture that includes several lower level managed switching elements for forwarding network data to several of network hosts. The network architecture includes a set of higher level managed switching elements. The several lower level managed switching elements and the set of higher level managed switching elements implement several logical datapath sets. Communication channels are established among the several lower level managed switching elements and the set of higher level managed switching elements based on a mesh topology.
Abstract:
A network control system for managing a plurality of managed switching elements that implement a plurality of logical datapath sets. The network control system includes a first controller instance that manages the logical datapath sets by generating, based on logical forwarding plane data, physical control plane data. The network control system also includes a second controller instance that manages the managed switching elements by receiving physical control plane data and sending the physical control plane data to the switching elements.