仍然在onos部署环境中安装mininet
1安装mininet:
root@localhost:~# git clone git://github.com/mininet/mininet
root@localhost:~# ./mininet/util/install.sh
2.自定义拓扑:
#!/usr/bin/env python
# encoding: utf-8
from mininet.topo import Topo
class MyTopo(Topo):
def __init__(self):
# Initialize topolpgy
Topo.__init__(self)
L1=2
L2=L1*2
L3=L2
# core ovs list
c=[]
# the aggregation ovs list
a=[]
# the edge ovs list
e=[]
# add core ovs
for i in range(L1):
sw=self.addSwitch('c{}'.format(i+1))
c.append(sw)
# add aggregation ovs list
for i in range(L2):
sw=self.addSwitch('a{}'.format(L1+i+1))
a.append(sw)
# add edge ovs
for i in range(L3):
sw=self.addSwitch('e{}'.format(L1+L2+i+1))
e.append(sw)
# add links bewteen core and aggregation ovs
for i in range(L1):
sw1=c[i]
for sw2 in a:
self.addLink(sw2,sw1)
# add links bewteen aggeregation anf edge ovs
for i in range(0,L2,2):
for sw1 in a[i:i+2]:
for sw2 in e[i:i+2]:
self.addLink(sw1,sw2)
# add hosts and its links with edge ovs
count=1
for sw1 in e:
for i in range(2):
host=self.addHost('h{}'.format(count))
self.addLink(sw1,host)
count+=1
topos={'mytopo':(lambda:MyTopo())}
3启动
root@localhost:~/mininet/custom# sudo mn --custom test.py --topo mytopo --controller remote
4onos界面显示:
地址:host_ip:8181/onos/ui/index.html#/topo host_ip为onos所在系统ip地址
用户名:karaf 密码:karaf