My guess (yet to confirm) is that this is actually a flowvisor-related problem. When a controller first connects to a switch, it sends a "delete all flows" message, which the flowvisor translates into "delete all flows in the slice". This is somewhat error prone process, and I suspect the flowvisor is deleting flows that are outside of the controller's slice.
Zdravko: any information you can provide about your flowvisor configuration would make it easier to help you debug your problem. - Rob . On Wed, Aug 11, 2010 at 11:57 AM, Martin Casado <cas...@nicira.com> wrote: > I'm not sure I completely follow what is going on here, but Nox will delete > all flows of newly joined switches (see src/builtin/nox.cc > Handshake_fsm::register_switch() ). Perhaps that is contributing? >> >> Hi KK, >> thanks for the fast reply. Actually I'm trying to run the controllers >> independently of each other on different machines. The only shared component >> is the datapath, which also runs on a separate machine. My aim is to allow >> controllers to join/leave a specific datapath at any time and I want to make >> sure that they do not overwrite each other's entries (the "flowspaces" >> themselves do not overlap) when they are started, which is what currently >> happens. I hope this is somewhat clearer... >> >> Best regards, >> Zdravko >> >> >> On 08/11/2010 04:50 PM, kk yap wrote: >>> >>> Hi Zdravko, >>> >>> From what I understand, what you want is for the first component to >>> get the event and not the second component? If so, the first >>> component has to return STOP and not CONTINUE. Also check nox.xml to >>> make sure about the ordering of the components for each event. >>> >>> Regards >>> KK >>> >>> On 11 August 2010 06:14, Zdravko Bozakov<boza...@gmail.com> wrote: >>>> >>>> Hello, >>>> >>>> I am trying to get two simple NOX (python) components running on >>>> different >>>> VMs to share a NetFPGA datapath using flowvisor. Generally, everything >>>> seems >>>> to be working fine, however I have the following problem: >>>> >>>> * When the first components starts, the datapath registers >>>> (datapath_join >>>> event) and its flows are installed. >>>> * When the second component starts and receives a datapath join event, >>>> all >>>> previously installed flows are removed from the datapath. Afterwards new >>>> flow entries are installed as expected. >>>> >>>> How can I avoid this behaviour, i.e. keep all flows installed? What am I >>>> missing? Thanks a lot in advance! >>>> >>>> Regards, >>>> Zdravko >>>> >>>> PS. I am using the current git source for all software packages >>>> >>>> _______________________________________________ >>>> nox-dev mailing list >>>> nox-dev@noxrepo.org >>>> http://noxrepo.org/mailman/listinfo/nox-dev_noxrepo.org >>>> >> >> >> _______________________________________________ >> nox-dev mailing list >> nox-dev@noxrepo.org >> http://noxrepo.org/mailman/listinfo/nox-dev_noxrepo.org > > > _______________________________________________ > nox-dev mailing list > nox-dev@noxrepo.org > http://noxrepo.org/mailman/listinfo/nox-dev_noxrepo.org > _______________________________________________ nox-dev mailing list nox-dev@noxrepo.org http://noxrepo.org/mailman/listinfo/nox-dev_noxrepo.org