node: Make OVS switches reconnect quickly
Ordinarily, OVS switches back off when they can't reach their controllers. Under the type of scenarios where Mininet is used, I think this is probably just inconvenient. This patch set controllers to attempt to reconnect every second.
This commit is contained in:
@@ -968,6 +968,19 @@ class OVSSwitch( Switch ):
|
|||||||
if self.listenPort:
|
if self.listenPort:
|
||||||
clist += ' ptcp:%s' % self.listenPort
|
clist += ' ptcp:%s' % self.listenPort
|
||||||
self.cmd( 'ovs-vsctl set-controller', self, clist )
|
self.cmd( 'ovs-vsctl set-controller', self, clist )
|
||||||
|
# Set controllers to reconnect quickly
|
||||||
|
controllers = self.cmd( 'ovs-vsctl --columns=controller find Bridge '
|
||||||
|
'name=' + str(self) ).split(':',2)[-1].strip()
|
||||||
|
|
||||||
|
if controllers.startswith('[') and controllers.endswith(']'):
|
||||||
|
controllers = [c.strip() for c in controllers[1:-1].split(',')]
|
||||||
|
for uuid in controllers:
|
||||||
|
if uuid.count('-') != 4:
|
||||||
|
# Doesn't look like a UUID
|
||||||
|
continue
|
||||||
|
uuid = uuid.strip()
|
||||||
|
self.cmd( 'ovs-vsctl set Controller', uuid,
|
||||||
|
'max_backoff=1000' )
|
||||||
|
|
||||||
def stop( self ):
|
def stop( self ):
|
||||||
"Terminate OVS switch."
|
"Terminate OVS switch."
|
||||||
|
|||||||
Reference in New Issue
Block a user