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? _______________________________________________ nox-dev mailing list nox-dev@noxrepo.org http://noxrepo.org/mailman/listinfo/nox-dev