您的位置:首页 > 编程语言 > Python开发

mininet simulate OVS with ssl session

2014-07-07 11:15 585 查看
##################################################################################

#这个脚本是建立2个swtich和host,并且通过ssl,连接到你的外部controller

#!/usr/bin/python

# this script will add 2 liner swtich with SSH

from mininet.net import Mininet

from mininet.node import Controller,RemoteController

from mininet.cli import CLI

from mininet.log import setLogLevel,info

def emptyNet():

    net = Mininet( controller=RemoteController )

    net.addController( 'c0' )

    h1 = net.addHost( 'h1' )

    h2 = net.addHost( 'h2' )

    s1 = net.addSwitch( 's1' )

    s2 = net.addSwitch( 's2' )

    net.addLink( h1, s1 )

    net.addLink( h2, s2 )

    net.start()

    s1.cmd('ovs-vsctl set-controller s1 ssl:9.111.85.39:6633')

    s2.cmd('ovs-vsctl set-controller s2 ssl:9.111.85.39:6633')

    CLI(net)

    net.stop()

if __name__ == '__main__':

    setLogLevel('info')

    emptyNet()

#######################################################################################################################

#这个脚本是使用mininet模拟很多个OVS通过SSL连接到你的外部controller

#这个脚本主要用于测试controller的performance测试

#!/usr/bin/python

# author:Spark.liu@cn.ibm.com , date:2014/6/10

# this script will add a linear a topolgoy with your set  switch number,

# the switch will connect to remote controller your set by SSL session , so before running it ,pls add your certificaion to local OVS and remote controller  

# for running this script ,your system should installed Mininet and OVS

from mininet.net import Mininet

from mininet.node import Controller,RemoteController

from mininet.cli import CLI

from mininet.log import setLogLevel,info

# change following parameter to simulate swtich number

switch_number = 10

# change following parameter with your remote controller IP

Controller_ip = "9.111.85.36"

def emptyNet():

    net = Mininet( controller=RemoteController )

    count = 1

    s_list = []

    while ( count < switch_number+1 ):

         host_str = 'h%d'   %(count)

         switch_str = 's%d' %(count)

         host = net.addHost( host_str )

         switch = net.addSwitch( switch_str )

     s_list.append(switch)

         net.addLink( host, switch)

         count += 1

 

    for i,s in enumerate(s_list):

        if i <  switch_number-1 :

            net.addLink(s_list[i],s_list[i+1])

    net.start()

    # ssh into controller from each swtich instance

    for i,s in enumerate(s_list):

       # s.cmd("ovs-vsctl set-controller s%s ssl:%s:6633" % (i+1,Controller_ip))

        s.cmd("ovs-vsctl set-controller s%s other-config:datapath_id=11100000000%s  ssl:%s:6633" % (i+1,i+1,Controller_ip))

    CLI(net)

    net.stop()

if __name__ == '__main__':

    setLogLevel('info')

    emptyNet()

##################################################################################################################
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息