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

Reply via email to