From e183e6999736d481452b2f41cfd4e94831e56a1f Mon Sep 17 00:00:00 2001
From: Bob Lantz <rlantz@cs.stanford.edu>
Date: Wed, 16 Jul 2014 09:57:48 -0700
Subject: [PATCH] Check for Controller type using isinstance()

---
 mininet/net.py | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/mininet/net.py b/mininet/net.py
index b7b89f7e..e4228b91 100755
--- a/mininet/net.py
+++ b/mininet/net.py
@@ -246,7 +246,7 @@ def addController( self, name='c0', controller=None, **params ):
         if not controller:
             controller = self.controller
         # Construct new controller if one is not given
-        if issubclass( name.__class__, Controller ):
+        if isinstance( name, Controller ):
             controller_new = name
             # Pylint thinks controller is a str()
             # pylint: disable=E1103
@@ -358,7 +358,7 @@ def buildFromTopo( self, topo=None ):
                 classes = [ classes ]
             for i, cls in enumerate( classes ):
                 # Allow Controller objects because nobody understands currying
-                if issubclass( cls.__class__, Controller ):
+                if isinstance( cls, Controller ):
                     self.addController( cls )
                 else:
                     self.addController( 'c%d' % i, cls )
-- 
GitLab