mininet与onos测试实验

仍然在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

mininet与onos测试实验_第1张图片


你可能感兴趣的:(SDN—onos控制器)