如何在 Mininet 自定义拓扑上设置带宽?
How to set bandwidth on Mininet custom topology?
我想在 Mininet 自定义拓扑上设置带宽。
python代码是:
#!/usr/bin/python
from mininet.topo import Topo
from mininet.net import Mininet
from mininet.node import CPULimitedHost
from mininet.link import TCLink
from mininet.util import dumpNodeConnections
from mininet.log import setLogLevel
class MyTopo( Topo ):
"Simple topology example."
def __init__( self, **opts):
"Create custom topo."
# Initialize topology
Topo.__init__( self, **opts )
# Add hosts and switches
h1 = self.addHost('h1')
h2 = self.addHost( 'h2' )
s3 = self.addSwitch( 's3' )
s1 = self.addSwitch( 's1' )
s2 = self.addSwitch( 's2' )
# Add links
self.addLink(h1,s1,bw=10)
self.addLink(h2,s3,bw=20)
self.addLink(s3,s2,bw=10)
self.addLink(s1,s3,bw=10)
topos = { 'mytopo': ( lambda: MyTopo() ) }
但是有错误
------------------------------------------------------------------
Caught exception. Cleaning up...
TypeError: __init__() got an unexpected keyword argument 'bw'
------------------------------------------------------------------
我能做什么?
如何在 Mininet 自定义拓扑上设置带宽?
启动Mininet时,添加一个额外的参数--link=tc
您应该使用 --link
参数。例如:
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
我会尽快更新示例。
在 python 文件中说明带宽和延迟,但在 运行 文件中添加
--link=tc
在命令行中,它将正常工作。
您应该在 self.addLink(h1,s1,bw=10)
上添加 cls=TCLink
所以代码将是 self.addLink(h1,s1,cls=TCLink,bw=10)
添加到另一个 addLink
使其工作
如果您使用 CLI 命令 mn
到 运行 Mininet,请添加 --link=tc
.
如果您在 python 脚本中使用 run()
函数来启动 Mininet,请使用
net = Mininet(topo = MyTopo(), link = TCLink)
net.start()
从带有 TC 链接的 Mininet 开始,以使带宽规范生效。
我想在 Mininet 自定义拓扑上设置带宽。
python代码是:
#!/usr/bin/python
from mininet.topo import Topo
from mininet.net import Mininet
from mininet.node import CPULimitedHost
from mininet.link import TCLink
from mininet.util import dumpNodeConnections
from mininet.log import setLogLevel
class MyTopo( Topo ):
"Simple topology example."
def __init__( self, **opts):
"Create custom topo."
# Initialize topology
Topo.__init__( self, **opts )
# Add hosts and switches
h1 = self.addHost('h1')
h2 = self.addHost( 'h2' )
s3 = self.addSwitch( 's3' )
s1 = self.addSwitch( 's1' )
s2 = self.addSwitch( 's2' )
# Add links
self.addLink(h1,s1,bw=10)
self.addLink(h2,s3,bw=20)
self.addLink(s3,s2,bw=10)
self.addLink(s1,s3,bw=10)
topos = { 'mytopo': ( lambda: MyTopo() ) }
但是有错误
------------------------------------------------------------------
Caught exception. Cleaning up...
TypeError: __init__() got an unexpected keyword argument 'bw'
------------------------------------------------------------------
我能做什么? 如何在 Mininet 自定义拓扑上设置带宽?
启动Mininet时,添加一个额外的参数--link=tc
您应该使用 --link
参数。例如:
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
我会尽快更新示例。
在 python 文件中说明带宽和延迟,但在 运行 文件中添加
--link=tc
在命令行中,它将正常工作。
您应该在 self.addLink(h1,s1,bw=10)
cls=TCLink
所以代码将是 self.addLink(h1,s1,cls=TCLink,bw=10)
添加到另一个 addLink
使其工作
如果您使用 CLI 命令 mn
到 运行 Mininet,请添加 --link=tc
.
如果您在 python 脚本中使用 run()
函数来启动 Mininet,请使用
net = Mininet(topo = MyTopo(), link = TCLink)
net.start()
从带有 TC 链接的 Mininet 开始,以使带宽规范生效。