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 <[email protected]> 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
[email protected]
http://openvswitch.org/mailman/listinfo/discuss