A system comprising: a first network controller (102, 104, 200, 302, 304, 306, 402, 404, 406) configured to store data in a data store associated with the first network controller, and to use said data for performing networking functions in a federation of network controllers to: manage a first set of one or more network elements (106, 108, 110, 112, 114, 116) in a first domain (A, B, C), each network element in the first set of network elements configured to provide one or more networking functions; receive a data request from a second network controller (102, 104, 200, 302, 304, 306, 402, 404, 406), the second network controller configured to manage one or more network elements in a second domain (A, B, C); determine, in response to the data request requesting communication of particular data from the first network controller to the second network controller, constraints information specified for the first network controller; determine, based on the constraints information, that communication of the particular data from the first network controller to the second network controller is permitted; and upon determining, based on the constraints information, that communication of the particular data from the first network controller to the second network controller is permitted, communicate the particular data from the first network controller to the second network controller; wherein the constraints information identify a set of constraints on communication of data from the first network controller; and the set of constraints includes constraints based on at least one of a characteristic of the first network controller, a characteristic of the second network controller, a characteristic of the data that is to be communicated, and a characteristic of a communication channel used for communications between the first network controller and the second network controller; wherein the first network controller is configured to: determine, based on the constraints information, that communication of the particular data from the first network controller to the second network controller is not permitted; and upon determining, based on the constraints information, that communication of the particular data from the first network controller to the second network controller is not permitted, prevent communication of the particular data from the first network controller to the second network controller. manage a first set of one or more network elements (106, 108, 110, 112, 114, 116) in a first domain (A, B, C), each network element in the first set of network elements configured to provide one or more networking functions; receive a data request from a second network controller (102, 104, 200, 302, 304, 306, 402, 404, 406), the second network controller configured to manage one or more network elements in a second domain (A, B, C); determine, in response to the data request requesting communication of particular data from the first network controller to the second network controller, constraints information specified for the first network controller; determine, based on the constraints information, that communication of the particular data from the first network controller to the second network controller is permitted; and upon determining, based on the constraints information, that communication of the particular data from the first network controller to the second network controller is permitted, communicate the particular data from the first network controller to the second network controller; wherein the constraints information identify a set of constraints on communication of data from the first network controller; and the set of constraints includes constraints based on at least one of a characteristic of the first network controller, a characteristic of the second network controller, a characteristic of the data that is to be communicated, and a characteristic of a communication channel used for communications between the first network controller and the second network controller; wherein the first network controller is configured to: determine, based on the constraints information, that communication of the particular data from the first network controller to the second network controller is not permitted; and upon determining, based on the constraints information, that communication of the particular data from the first network controller to the second network controller is not permitted, prevent communication of the particular data from the first network controller to the second network controller. determine, based on the constraints information, that communication of the particular data from the first network controller to the second network controller is not permitted; and upon determining, based on the constraints information, that communication of the particular data from the first network controller to the second network controller is not permitted, prevent communication of the particular data from the first network controller to the second network controller.