""" Library for the robot based system test tool of the OpenDaylight project. Authors: Baohua Yang@IBM, Denghui Huang@IBM Updated: 2013-11-18 """ from mininet.net import Mininet class MininetHandler(object): ''' MininetHandler class will provide all operations about Mininet, such as config controller_ip, start or stop net. ''' def __init__(self, controller_ip='127.0.0.1'): self.controller_ip = controller_ip self.net = None def set_controller_ip(self, controller_ip): self.controller_ip = controller_ip def config_net(self): net = Mininet(switch=OVSKernelSwitch, controller=RemoteController) # noqa print '*** Adding controller' net.addController('c0', ip=self.controller_ip) print '*** Adding hosts' h1 = net.addHost('h1', mac='00:00:00:00:00:01') h2 = net.addHost('h2', mac='00:00:00:00:00:02') h3 = net.addHost('h3', mac='00:00:00:00:00:03') h4 = net.addHost('h4', mac='00:00:00:00:00:04') print '*** Adding switch' s1 = net.addSwitch('s1') s2 = net.addSwitch('s2') s3 = net.addSwitch('s3') print '*** Creating links' net.addLink(h1, s2) net.addLink(h2, s2) net.addLink(h3, s3) net.addLink(h4, s3) net.addLink(s1, s2) net.addLink(s1, s3) self.net = net def start_net(self): self.net.start() def stop_net(self): self.net.stop()