以前、次のコマンドを使用してミニネット トポロジを作成しました。
sudo mn --topo tree,depth=2,fanout=5 --controller=remote,ip=10.0.0.1,port=6633 --switch ovsk,protocols=OpenFlow13, --link tc,bw=1,delay=10ms
リンクごとにカスタムbw
値を指定する必要があります。
hereに記載されているようdepth
にfanout
値を指定して、一般的な方法でツリーを作成するにはどうすればよいですか? 作成したツリーのリンクを変更するには が必要です。TreeNet
setLink(int value, src, dest)
今まで私はこれを持っています:
#!/usr/bin/python
from functools import partial
from mininet.cli import CLI
from mininet.link import TCLink
from mininet.log import setLogLevel
from mininet.net import Mininet
from mininet.node import OVSKernelSwitch
from mininet.node import RemoteController
from mininet.topo import Topo
from mininet.util import dumpNodeConnections
class MyNet( Topo ):
def __init__( self ):
"Create custom topo."
# Initialize topology
Topo.__init__( self )
# Add hosts
h1 = self.addHost( 'h1' )
h2 = self.addHost( 'h2' )
...
h25 = self.addHost( 'h25' )
# Add switches
s1 = self.addSwitch( 's1' )
...
s6 = self.addSwitch( 's6' )
# Add links
self.addLink( s2, s1 ,bw=10)
self.addLink( s3, s1 ,bw=10)
self.addLink( s4, s1 ,bw=10)
self.addLink( s5, s1 ,bw=10)
self.addLink( s6, s1 ,bw=10)
self.addLink( h1, s2 ,bw=10)
self.addLink( h2, s2 ,bw=10)
self.addLink( h3, s2 ,bw=10)
self.addLink( h4, s2 ,bw=10)
self.addLink( h5, s2 ,bw=10)
self.addLink( h6, s3 ,bw=10)
self.addLink( h7, s3 ,bw=10)
self.addLink( h8, s3 ,bw=10)
self.addLink( h9, s3 ,bw=10)
self.addLink( h10, s3 ,bw=10)
self.addLink( h11, s4 ,bw=10)
...
self.addLink( h25, s6 ,bw=10)
topos = { 'MyNet': ( lambda: MyNet() ) }
私は以下を使用して呼び出しています:
#sudo mn --custom MyNet.py --topo MyNet --controller=remote,ip=10.0.0.1,port=6633 --switch ovsk,protocols=OpenFlow13 --link tc