1
votes

I constructed a simple mininet topology with two hosts connected to switch controlled by a remote controller pox running the forwarding.L2_learning component. this works fine ping all is good.

Now i change the topology with two hosts and two switches each host connected to a switch, both switches are connected to the remote pox controller running the same component (forwarding.L2_learning ).

but this time the pingall is not working !! i'm new to mininet and pox.

The python script used to create the mininet topology is below

#!/usr/bin/python

from mininet.net import Mininet
from mininet.node import Controller, RemoteController, OVSController
from mininet.node import CPULimitedHost, Host, Node
from mininet.node import OVSKernelSwitch, UserSwitch
from mininet.node import IVSSwitch
from mininet.cli import CLI
from mininet.log import setLogLevel, info
from mininet.link import TCLink, Intf
from subprocess import call
from time import sleep


def myNetwork():
    net = Mininet(topo=None,
                  build=False,
                  ipBase='10.0.0.0/8')

    info('*** Adding controller\n')
    c0 = net.addController(name='c0',
                           controller=RemoteController,
                           ip='0.0.0.0',
                           protocol='tcp',
                           port=6633)

    info('*** Add switches\n')
    s1 = net.addSwitch('s1', cls=OVSKernelSwitch)
    s2 = net.addSwitch('s2', cls=OVSKernelSwitch)

    info('*** Add hosts\n')
    h1 = net.addHost('h1', cls=Host, ip='10.0.0.1', defaultRoute=None)
    h2 = net.addHost('h2', cls=Host, ip='10.0.0.2', defaultRoute=None)

    info('*** Add links\n')
    net.addLink(h1, s1)
    net.addLink(h2, s2)
    net.addLink(h1, s2)

    info('*** Starting network\n')
    net.build()

    info('*** Starting controllers\n')
    for controller in net.controllers:
        controller.start()

    info('*** Starting switches\n')
    net.get('s1').start([c0])
    net.get('s2').start([c0])

    info('*** Post configure switches and hosts\n')
    net.pingAll()
    net.stop()


if __name__ == '__main__':
    setLogLevel('info')
    myNetwork()
1
How did you create the new topology?SotirisTsartsaris
@SotirisTsartsaris i used the mininet python API.Oussama Kotegaeshi

1 Answers

1
votes

The controller I assume is running on localhost though you should replace the

ip='0.0.0.0'

with

c0=net.addController(name='c0',
                      controller=RemoteController,
                      ip='127.0.0.1',
                      protocol='tcp',
                      port=6633)

and replace

net.addLink(h1, s2)

with

net.addLink(s1, s2)

to connect the 2 switches