Add setup() and dpctl() methods for LinuxBridge
Also adds docstrings. Fixes #422
This commit is contained in:
@@ -6,6 +6,8 @@ This contains additional Node types which you may find to be useful.
|
|||||||
|
|
||||||
from mininet.node import Node, Switch
|
from mininet.node import Node, Switch
|
||||||
from mininet.log import setLogLevel, info
|
from mininet.log import setLogLevel, info
|
||||||
|
from mininet.moduledeps import pathCheck
|
||||||
|
|
||||||
|
|
||||||
class LinuxBridge( Switch ):
|
class LinuxBridge( Switch ):
|
||||||
"Linux Bridge (with optional spanning tree)"
|
"Linux Bridge (with optional spanning tree)"
|
||||||
@@ -31,6 +33,7 @@ class LinuxBridge( Switch ):
|
|||||||
return True
|
return True
|
||||||
|
|
||||||
def start( self, controllers ):
|
def start( self, controllers ):
|
||||||
|
"Start Linux bridge"
|
||||||
self.cmd( 'ifconfig', self, 'down' )
|
self.cmd( 'ifconfig', self, 'down' )
|
||||||
self.cmd( 'brctl delbr', self )
|
self.cmd( 'brctl delbr', self )
|
||||||
self.cmd( 'brctl addbr', self )
|
self.cmd( 'brctl addbr', self )
|
||||||
@@ -43,9 +46,20 @@ class LinuxBridge( Switch ):
|
|||||||
self.cmd( 'ifconfig', self, 'up' )
|
self.cmd( 'ifconfig', self, 'up' )
|
||||||
|
|
||||||
def stop( self ):
|
def stop( self ):
|
||||||
|
"Stop Linux bridge"
|
||||||
self.cmd( 'ifconfig', self, 'down' )
|
self.cmd( 'ifconfig', self, 'down' )
|
||||||
self.cmd( 'brctl delbr', self )
|
self.cmd( 'brctl delbr', self )
|
||||||
|
|
||||||
|
def dpctl( self, *args ):
|
||||||
|
"Run brctl command"
|
||||||
|
return self.cmd( 'brctl', *args )
|
||||||
|
|
||||||
|
@classmethod
|
||||||
|
def setup( cls ):
|
||||||
|
"Make sure our class dependencies are available"
|
||||||
|
pathCheck( 'brctl', moduleName='bridge-utils' )
|
||||||
|
|
||||||
|
|
||||||
class NAT( Node ):
|
class NAT( Node ):
|
||||||
"""NAT: Provides connectivity to external network"""
|
"""NAT: Provides connectivity to external network"""
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user