I think the best option for me would be to do what I believe the reference implementation and NEC's switch do: by default, when you set multiple controllers, the switch connects to the first controller and uses the other controllers in the list as backup controllers, trying them in round-robin order as necessary. If you want to support a custom load-balancing/multi-controller extension in OVS, you could do so via a selectable option (which could be on or off by default) or have it off by default and activated when a particular extension message is received.
Another idea would be to change the set-controller syntax to allow a hybrid of what OVS seems to do right now (connecting to multiple controllers) and the NEC/reference switches do. For example, a syntax of a,b,c;d,e,f;g,h,i could specify that a,b,c are the first controller group; if none of them are reachable then the second controller group is used, and so on. A third option would be to add a 'backup-controllers' option which could be configured. Of the above three options, I prefer #1. -Bob On Mar 4, 2013, at 7:39 PM, Ben Pfaff <b...@nicira.com> wrote: > On Mon, Mar 04, 2013 at 05:26:55PM -0800, Bob Lantz wrote: >> From section 4.3 of the OpenFlow 1.0.0 (wire protocol 0x1) spec: >> >> "4.3 Connection Interruption >> >> In the case that a switch loses contact with the controller, as a result of >> a echo request timeout, TLS session timeout, or other disconnection, it >> should attempt to contact one or more backup controllers. The ordering of >> the controller IP addresses is not specified by the protocol." >> >> Does OVS conform to the spec? If so, what is the correct way of >> specifying a backup controller? > > OVS does not implement backup controllers, but we may implement such a > feature in the next few months. If you have suggestions (or patches) > please pass them along. _______________________________________________ discuss mailing list discuss@openvswitch.org http://openvswitch.org/mailman/listinfo/discuss