Tolerate passing controller *objects* into Mininet()
This commit is contained in:
+6
-2
@@ -246,7 +246,7 @@ class Mininet( object ):
|
|||||||
if not controller:
|
if not controller:
|
||||||
controller = self.controller
|
controller = self.controller
|
||||||
# Construct new controller if one is not given
|
# Construct new controller if one is not given
|
||||||
if isinstance(name, Controller):
|
if issubclass( name.__class__, Controller ):
|
||||||
controller_new = name
|
controller_new = name
|
||||||
# Pylint thinks controller is a str()
|
# Pylint thinks controller is a str()
|
||||||
# pylint: disable=E1103
|
# pylint: disable=E1103
|
||||||
@@ -357,7 +357,11 @@ class Mininet( object ):
|
|||||||
if type( classes ) is not list:
|
if type( classes ) is not list:
|
||||||
classes = [ classes ]
|
classes = [ classes ]
|
||||||
for i, cls in enumerate( classes ):
|
for i, cls in enumerate( classes ):
|
||||||
self.addController( 'c%d' % i, cls )
|
# Allow Controller objects because nobody understands currying
|
||||||
|
if issubclass( cls.__class__, Controller ):
|
||||||
|
self.addController( cls )
|
||||||
|
else:
|
||||||
|
self.addController( 'c%d' % i, cls )
|
||||||
|
|
||||||
info( '*** Adding hosts:\n' )
|
info( '*** Adding hosts:\n' )
|
||||||
for hostName in topo.hosts():
|
for hostName in topo.hosts():
|
||||||
|
|||||||
Reference in New Issue
Block a user