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. >> >