【发布时间】:2016-05-23 11:49:06
【问题描述】:
我构建了一个简单的 mininet 拓扑,其中两个主机连接到由远程控制器 pox 控制的交换机,该远程控制器 pox 运行 forwarding.L2_learning 组件。这工作正常 ping 都很好。
现在我用两个主机和两个交换机更改拓扑,每个主机连接到一个交换机,两个交换机都连接到运行相同组件的远程 pox 控制器(forwarding.L2_learning)。
但是这次 pingall 不工作了!!我是 mininet 和 pox 的新手。
用于创建mininet拓扑的python脚本如下
#!/usr/bin/python
from mininet.net import Mininet
from mininet.node import Controller, RemoteController, OVSController
from mininet.node import CPULimitedHost, Host, Node
from mininet.node import OVSKernelSwitch, UserSwitch
from mininet.node import IVSSwitch
from mininet.cli import CLI
from mininet.log import setLogLevel, info
from mininet.link import TCLink, Intf
from subprocess import call
from time import sleep
def myNetwork():
net = Mininet(topo=None,
build=False,
ipBase='10.0.0.0/8')
info('*** Adding controller\n')
c0 = net.addController(name='c0',
controller=RemoteController,
ip='0.0.0.0',
protocol='tcp',
port=6633)
info('*** Add switches\n')
s1 = net.addSwitch('s1', cls=OVSKernelSwitch)
s2 = net.addSwitch('s2', cls=OVSKernelSwitch)
info('*** Add hosts\n')
h1 = net.addHost('h1', cls=Host, ip='10.0.0.1', defaultRoute=None)
h2 = net.addHost('h2', cls=Host, ip='10.0.0.2', defaultRoute=None)
info('*** Add links\n')
net.addLink(h1, s1)
net.addLink(h2, s2)
net.addLink(h1, s2)
info('*** Starting network\n')
net.build()
info('*** Starting controllers\n')
for controller in net.controllers:
controller.start()
info('*** Starting switches\n')
net.get('s1').start([c0])
net.get('s2').start([c0])
info('*** Post configure switches and hosts\n')
net.pingAll()
net.stop()
if __name__ == '__main__':
setLogLevel('info')
myNetwork()
【问题讨论】:
-
您是如何创建新拓扑的?
-
@SotirisTsartsaris 我使用了 mininet python API。
标签: python mininet sdn openflow pox