On 3/25/2011 1:49 PM, James "Murphy" McCauley wrote:
If you want to disable that behavior, you can edit builtin/nox.cc.
Delete the following three lines from around line 1264:

if ( send_openflow_command(dpid,&ofm->header, false) == EAGAIN) {
   lg.err("Error, unable to clear flow table on startup");
}

.. and that should do it.

Can I ask why the table-clearing behavior is not acceptable to you?

-- Murphy

On Fri, 2011-03-25 at 11:22 +0700, Harry wrote:
On 3/25/2011 2:34 AM, Murphy McCauley wrote:
It's true that pyswitch does install flows with a timeout.  However,
there's another reason as well: NOX deletes all flows on a switch
when the switch connects (in builtin/nox.cc).


If it didn't, it's difficult to reason about what installing a
particular flow would actually do (e.g., possibly nothing).  That
said, I've wondered for a while whether this should actually be an
option, so that a clever application COULD actually inspect the flow
table on switch connect and decide what to do...


-- Murphy

On Mar 24, 2011, at 7:51 AM, Christian Esteve Rothenberg wrote:

Harry,

the problem is that the datapath flows do expire after 5 seconds
of inactivity. You can change this in the pyswitch flow install
timeout options.
You can also check that if you keep sending ping packets between
the hosts, the flow entries do not expire independent from the
controller connectivity (unless you opt to change the default
behaviour of switches after loosing the connection to the
controller).

-Christian



On Thu, Mar 24, 2011 at 11:28, Harry<harry....@gmail.com>  wrote:
         Hi all,
         Anyone could clear me this issue:
         I'm playing with the pyswitch component built on NOX. I
         start a single switch (ovsk switch) network in mininet
         with 3 hosts (h2,h3,h4), then start NOX controller with
         pyswitch.
         I ping from h2 to h3, log messages show that the
         controller successfully installed datapath flow for the
         first 3 packets (ARP&  ICMP) between h2&  h3.
         Then I exit the controller, of course, I still ping from
         h2 to h3 (because datapath flows have been installed on
         the switch).
         But when I restart the controller and do the ping h2->h3
         again, why does the controller reinstall the datapath
         flows on the switch? The datapath flows on the switch seem
         to be cleared when I restart the controller.

         Thank you very much!


         _______________________________________________
         nox-dev mailing list
         nox-dev@noxrepo.org
         http://noxrepo.org/mailman/listinfo/nox-dev




--
Christian
_______________________________________________
nox-dev mailing list
nox-dev@noxrepo.org
http://noxrepo.org/mailman/listinfo/nox-dev

Thanks Christian and Murphy,
  I did control the flow install timeout and saw the different.
However, the main reason is as Murphy said.
@Murphy: I understand what you've wondered. Have you do any
modification to control the behavior of controller to Switch flow
table at the first time they connect?

Thank you Murphy,
I would use dual controllers to enable the availability of the network, both of them function the same. One controller will be used as the backup, in case the other corrupt, the backup one could start intermediately, I afraid that the table-clearing behavior could effect my management.

--Harry
_______________________________________________
nox-dev mailing list
nox-dev@noxrepo.org
http://noxrepo.org/mailman/listinfo/nox-dev

Reply via email to