1

I am having trouble connecting the switch to the controller in mininet. I use python script. My script is the following. The file name is test.py.

#!/usr/bin/python

from mininet.cli import CLI
from mininet.topo import Topo
from mininet.net import Mininet
from mininet.util import dumpNodeConnections
from mininet.node import Controller, OVSSwitch, RemoteController, OVSBridge
from mininet.log import setLogLevel

class test_Topo(Topo):

    def build(self):

        s1 = self.addSwitch( 's1')
        s2 = self.addSwitch( 's2')

        h1 = self.addHost( 'h1' )
        h2 = self.addHost( 'h2' )

        n1 = self.addHost( 'n1' )

        self.addLink( s1, s2 )
        self.addLink( s1, h1 )
        self.addLink( s1, h2 )
        self.addLink( s2, n1 )


def test():
    
    topo = test_Topo()

    net = Mininet(topo, build=False, waitConnected=True, switch=OVSSwitch, controller=Controller)

    c0 = net.addController( 'c0', port=6633 )
    c1 = net.addController('c1', port=6634)

    net.build()
    
    s1 = net.get('s1')
    s2 = net.get('s2')

    c0.start()
    c1.start()
    s1.start([c0])
    s2.start([c1])

    net.start()

    net.pingAll()

    CLI( net )
    net.stop()

if __name__ == '__main__':
    setLogLevel('info')
    test()

I want to have each switch connected to a different controller.  I ran the script with the following command. sudo python3 test.py

The result is the following.

*** Creating network
*** Adding hosts:
h1 h2 n1 
*** Adding switches:
s1 s2 
*** Adding links:
(s1, h1) (s1, h2) (s1, s2) (s2, n1) 
*** Configuring hosts
h1 h2 n1 
*** Starting controller
c0 c1 
*** Starting 2 switches
s1 s2 ...
*** Waiting for switches to connect

The connection does not end permanently after the message

*** Waiting for switches to connect

is displayed.

I referred to this code. https://github.com/mininet/mininet/blob/master/examples/controllers.py https://github.com/mininet/mininet/blob/master/examples/controllers2.py

I can't understand why switch can't connect the controller in my code. I apologize for my poor English.

eggboy
  • 11
  • 1

0 Answers0