diff --git a/mininet/node.py b/mininet/node.py index edb46de04cb952206f203e11a77f52fd77c7e3ea..0b67a008c5fda9a9770f8c0161739e3c8f2f73a9 100644 --- a/mininet/node.py +++ b/mininet/node.py @@ -1055,6 +1055,8 @@ def start( self, controllers ): args.extend( ['-i', intf.name] ) for c in controllers: args.extend( ['-c', '%s:%d' % (c.IP(), c.port)] ) + if self.listenPort: + args.extend( ['--listen', '127.0.0.1:%i' % self.listenPort] ) with open( '/tmp/ivs.%s.log' % self.name, 'w' ) as logfile: with open( '/dev/null', 'w' ) as nullfile: @@ -1080,7 +1082,10 @@ def detach( self, intf ): def dpctl( self, *args ): "Run dpctl command" - return "dpctl not supported\n" or args or self # satisfy pylint + if not self.listenPort: + return "can't run dpctl without passive listening port" + return self.cmd( 'dpctl ' + ' '.join( args ) + + ' tcp:127.0.0.1:%i' % self.listenPort ) class Controller( Node ):