Hi all,

I am using the following code to insert flowtable entires in switch. I want
to fill two table entries but the following code is only putting the last
one, may be overwriting the previously written.
How to resolve this?

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
> from pox.lib.addresses import IPAddr
> 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()
>         msg1 = of.ofp_flow_mod()
>         msg.match = of.ofp_match(nw_src = '10.0.0.2',nw_dst = '10.0.0.3')
>
> msg.actions.append(of.ofp_action_nw_addr.set_dst(IPAddr('30.0.0.2')))
>         msg.actions.append(of.ofp_action_output(port = 3))
>         msg.priority = 100
>         event.connection.send(msg)
>         msg.match = of.ofp_match(nw_dst = '30.0.0.2')
>         msg.actions.append(of.ofp_action_output(port = 1))
>         msg.priority = 100
>         event.connection.send(msg)
>         log.debug(" rules installed on %s", dpidToStr(event.dpid))
> def launch():
>     core.registerNew(Diversion)


Thanks in advance.


Best Regards.

Reply via email to