Can you suggest some points.
Where should i run my POX controller?
Where you generally run your POX controller when using mininet?

On Mon, Dec 15, 2014 at 12:14 PM, Murphy McCauley <murphy.mccau...@gmail.com
> wrote:
>
> Yup.  I'm sure there's something wrong with it.
>
> But trying to program POX without being able to read the log is like
> trying to do a puzzle in the dark.
>
> Figure out how to read the log.
>
> -- Murphy
>
> On Dec 14, 2014, at 10:36 PM, chaitanya tanwar <chaitanya.tan...@gmail.com>
> wrote:
>
> But there is some problem due to my 2nd code becuase when I ran the pox
> without my 2nd code. All host were able to ping each other.
> Its when i installed a rule to the switch they stop pinging.
>
> On Mon, Dec 15, 2014 at 12:00 PM, Murphy McCauley <
> murphy.mccau...@gmail.com> wrote:
>>
>> I don't know that.  Seems like a Mininet question.
>>
>> I always set up Mininet to use a remote controller and then just run POX
>> myself.  By default, POX displays its log on standard output.
>>
>> -- Murphy
>>
>> On Dec 14, 2014, at 10:27 PM, chaitanya tanwar <
>> chaitanya.tan...@gmail.com> wrote:
>>
>> I am new to SDN. How can i check to POX logs?
>> In mininet its just showing that POX is up and POX controller is
>> connected to all the switches.
>>
>> Thanks.
>>
>> On Mon, Dec 15, 2014 at 11:53 AM, Murphy McCauley <
>> murphy.mccau...@gmail.com> wrote:
>>>
>>> Does your POX log have any warnings or errors in it?  Those can be
>>> really informative.
>>>
>>> -- Murphy
>>>
>>> On Dec 14, 2014, at 9:56 PM, chaitanya tanwar <
>>> chaitanya.tan...@gmail.com> wrote:
>>>
>>> *I have created a network using the following code, and pox as remote
>>> controller with l2.learning module.*
>>>
>>>
>>> #!/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
>>>
>>> def myNetwork():
>>>
>>>     net = Mininet( topo=None,
>>>                    build=False,
>>>                    ipBase='10.0.0.0/8')
>>>
>>>     #info( '*** Adding controller\n' )
>>>     #c0=net.addController(name='c0',
>>>      #                 controller=None)
>>>     info( '*** Add switches\n')
>>>     s1 = net.addSwitch('s1', cls=OVSKernelSwitch)
>>>     s2 = net.addSwitch('s2', cls=OVSKernelSwitch)
>>>     s3 = net.addSwitch('s3', cls=OVSKernelSwitch)
>>>     info( '*** Add hosts\n')
>>>
>>>     h1 = net.addHost('h1', cls=Host, mac='00:00:00:00:00:01', ip='
>>> 10.0.0.2/24', defaultRoute='h1-eth0')
>>>     h2 = net.addHost('h2', cls=Host, mac='00:00:00:00:00:02', ip='
>>> 10.0.0.3/24', defaultRoute='h2-eth0')
>>>     h4 = net.addHost('h4', cls=Host, mac='00:00:00:00:00:04', ip='
>>> 20.0.0.3/24', defaultRoute='h4-eth0')
>>>     h3 = net.addHost('h3', cls=Host, mac='00:00:00:00:00:03', ip='
>>> 30.0.0.2/24', defaultRoute='h3-eth0')
>>>     h5 = net.addHost('h5', cls=Host, mac='00:00:00:00:00:05', ip='
>>> 20.0.0.3/24', defaultRoute='h5-eth0')
>>>
>>>     info( '*** Add links\n')
>>>     linkBW = {'bw':100}
>>>     net.addLink(h1, s1, cls=TCLink , **linkBW)
>>>     net.addLink(h2, s1, cls=TCLink , **linkBW)
>>>     net.addLink(h3, s2, cls=TCLink , **linkBW)
>>>     net.addLink(h4, s3, cls=TCLink , **linkBW)
>>>     net.addLink(h5, s3, cls=TCLink , **linkBW)
>>>     net.addLink(s1, s2, cls=TCLink , **linkBW)
>>>     net.addLink(s3, s2, cls=TCLink , **linkBW)
>>>     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])
>>>     net.get('s3')#.start([c0])
>>>     info( '*** Configuring switches\n')
>>>
>>>     CLI(net)
>>>     net.stop()
>>>
>>> if __name__ == '__main__':
>>>     setLogLevel( 'info' )
>>>     myNetwork()
>>>
>>>
>>> *I am able to ping to each other.*
>>> *But now I want add an entry to all switch. If h2 sends packet to h3
>>> then divert it to h5 on the basis of IP addresses by the following code.*
>>>
>>>
>>> from pox.core import core
>>> import pox.openflow.libopenflow_01 as of
>>> from pox.lib.revent import *
>>> from pox.lib.util import dpidToStr
>>> from pox.lib.addresses import EthAddr
>>> from collections import namedtuple
>>> import os
>>>
>>> log = core.getLogger()
>>>
>>> class Diversion(EventMixin):
>>>     def __init__ (self) :
>>>         self.listenTo(core.openflow)
>>>         log.debug("Enabling Diversion Module")
>>>
>>>     def _handle_ConnectionUp (self, event):
>>>         msg = of.ofp_flow_mod()
>>>         msg.match = of.ofp_match(nw_src = IPAddr("10.0.0.3"),nw_dst =
>>> IPAddr("10.0.0.3"))
>>>
>>> msg.actions.append(ofp_action_nw_addr.set_dst(IPAddr("192.168.1.14")))
>>>         self.connection.send(msg)
>>>         log.debug(" rules installed on %s", dpidToStr(event.dpid))
>>>
>>> def launch():
>>>     core.registerNew(Diversion)
>>>
>>>
>>> *But now i am not able to ping any of the host..*
>>>
>>> *Please direct me to the error.*
>>>
>>>
>>> Thanks and Regards.
>>>
>>>
>>>
>>
>

Reply via email to