deb-ryu/ryu/tests/switch/run_mininet.py
YAMAMOTO Takashi c73d7303a6 Adapt to namespace-less oslo
oslo packages got away from namespaces while ago.
Update ryu to use the new namespace-less import path.
Bump oslo.config requirement version accordingly.

Reference:
https://blueprints.launchpad.net/oslo-incubator/+spec/drop-namespace-packages
Signed-off-by: YAMAMOTO Takashi <yamamoto@valinux.co.jp>
Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2015-05-19 15:39:27 +09:00

58 lines
1.5 KiB
Python
Executable File

#!/usr/bin/env python
import sys
from mininet.cli import CLI
from mininet.link import Link
from mininet.net import Mininet
from mininet.node import RemoteController
from mininet.node import OVSSwitch
from mininet.node import UserSwitch
from mininet.term import makeTerm
from oslo_config import cfg
from ryu import version
if '__main__' == __name__:
opts = [
cfg.StrOpt('switch', default='ovs',
help='test switch (ovs|ovs13|ovs14|cpqd)')
]
conf = cfg.ConfigOpts()
conf.register_cli_opts(opts)
conf(project='ryu', version='run_mininet.py %s' % version)
conf(sys.argv[1:])
switch_type = {'ovs': OVSSwitch, 'ovs13': OVSSwitch,
'ovs14': OVSSwitch, 'cpqd': UserSwitch}
switch = switch_type.get(conf.switch)
if switch is None:
raise ValueError('Invalid switch type. [%s]', conf.switch)
net = Mininet(switch=switch, controller=RemoteController)
c0 = net.addController('c0')
s1 = net.addSwitch('s1')
s2 = net.addSwitch('s2')
Link(s1, s2)
Link(s1, s2)
Link(s1, s2)
net.build()
c0.start()
s1.start([c0])
s2.start([c0])
if conf.switch in ['ovs', 'ovs13']:
s1.cmd('ovs-vsctl set Bridge s1 protocols=OpenFlow13')
s2.cmd('ovs-vsctl set Bridge s2 protocols=OpenFlow13')
elif conf.switch == 'ovs14':
s1.cmd('ovs-vsctl set Bridge s1 protocols=OpenFlow14')
s2.cmd('ovs-vsctl set Bridge s2 protocols=OpenFlow14')
CLI(net)
net.stop()