Re: [nox-dev] how to break loop?

2010-12-23 Thread 谢峰
Thanks. It's very useful.

xiefeng

2010/12/24 Srini Seetharaman 

> Hi Xiefeng
> I believe the routing module will find the unique shortest path when
> there is a loop. However, it will cause a broadcast storm when the
> packet needs a FLOOD action. Please try using the spanning tree module
> to resolve the loop:
> http://www.openflowswitch.org/wk/index.php/Basic_Spanning_Tree
>
> On Thu, Dec 23, 2010 at 1:36 AM, 谢峰  wrote:
> > Hi, all
> > If the network topology with a loop, the routing module can't calculate
> the
> > shortest path exactly. So it will cause problem, how to solve it?
> >
> > xiefeng
> >
> >
> > ___
> > nox-dev mailing list
> > nox-dev@noxrepo.org
> > http://noxrepo.org/mailman/listinfo/nox-dev_noxrepo.org
> >
> >
>



-- 
Feng Xie
Ph.D. Candidate
Network Security Lab, Research Institute of Information Technology
Tsinghua National Laboratory for Information Science and Technology
Dept. of Automation, Tsinghua Univ., Beijing, China, 100084.
Tel.: +86-010-6277-2656
Email: xiefen...@gmail.com
___
nox-dev mailing list
nox-dev@noxrepo.org
http://noxrepo.org/mailman/listinfo/nox-dev_noxrepo.org


Re: [nox-dev] how to break loop?

2010-12-23 Thread Srini Seetharaman
Hi Xiefeng
I believe the routing module will find the unique shortest path when
there is a loop. However, it will cause a broadcast storm when the
packet needs a FLOOD action. Please try using the spanning tree module
to resolve the loop:
http://www.openflowswitch.org/wk/index.php/Basic_Spanning_Tree

On Thu, Dec 23, 2010 at 1:36 AM, 谢峰  wrote:
> Hi, all
> If the network topology with a loop, the routing module can't calculate the
> shortest path exactly. So it will cause problem, how to solve it?
>
> xiefeng
>
>
> ___
> 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


Re: [nox-dev] Using pytopology

2010-12-23 Thread Nikhil Handigol
I'm trying to add some functionality to make pytopology more usable. I'm new
to SWIG and am looking for some help.

For starters, I'm trying to port the get_outlinks(dpsrc) of topology.hh
function to pytopology. In topology.hh, get_outlinks(dpsrc) returns a
hash_map (DatapathLinkMap). Is there a way to convert this data structure
(tr1/unordered_map for g++ >= 4.2) to a python equivalent (say, dictionary)?

Thanks,
Nikhil


On Tue, Dec 14, 2010 at 12:47 PM, Nikhil Handigol
wrote:

> The topology module seems to have all the necessary information. It's just
> that it's not reflected in pytopology. So, pytopology, in it's current
> state, does not seem to be very useful, at least not complete.
>
> I'd like to go ahead and fix this. Are there any guidelines on how to write
> a SWIG interface file in NOX? There is a generic SWIG python tutorial at:
> http://www.swig.org/Doc1.3/Python.html
>
> I want to know if there is anything specific to NOX.
> * Is there anything in the NOX environment that makes it easier to write an
> interface file? E.g. are there any special tools?
> * Are there any constraints imposed by the NOX environment?
>
> Thanks,
> Nikhil
>
>
>
> On Tue, Dec 14, 2010 at 7:47 AM, kk yap  wrote:
>
>> Hi Nikhil,
>>
>> I see your point.  Topology does seem to provide a little more than
>> pytopology though.  Also, datapathmem should give you the list of
>> datapaths to complete the picture.  The functionality does appear
>> scattered, but they are all there.
>>
>> Regards
>> KK
>>
>> On 14 December 2010 02:50, Nikhil Handigol 
>> wrote:
>> > I want to write a nox python module that uses pytopology for topology
>> > discovery. I believe pytopology.i is the file I need to be looking at to
>> > understand the interface provided by pytopology? And pytopology_test.py
>> is a
>> > sample app that uses pytopology?
>> > It seems pytopology provides me with just 2 functions:
>> > 1) get_outlinks(dpsrc, dpdst)
>> > 2) is_internal(dp, port)
>> >
>> > It is not clear to me how exactly I can use these two to get complete
>> > topology information. I'd expect the following information from a
>> topology
>> > module:
>> > 1) list of all dps in the topology
>> > 2) list of all links from a dp (probably in the form of a list of
>> (srcport,
>> > dstdp, dstport))
>> > 3) link between 2 dps (provided by get_outlinks)
>> > 4) is_internal()
>> > Is there a python module that provides all this information?
>> > Thanks,
>> > Nikhil
>> >
>> > ___
>> > 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


Re: [nox-dev] How does the routing module calculate shortest path?

2010-12-23 Thread 谢峰
KK
Thanks very much.
that's answer I'm looking for.

xiefeng

在 2010年12月23日 下午11:54,kk yap 写道:

> Hi Xiefeng,
>
> Comments inline.
>
> Hope I am clear.
>
> Regards
> KK
>
> 2010/12/22 谢峰 
>
>  Hi,
>> I have a topology as this: h1<->s1<->s2<->s3<->s4<->h2, h1 , h2 are hosts,
>> s1, s2,s3,s4 are openflow switches and connect to the same controller; so, I
>> do h1 ping h2, it's ok.
>> but if I add a link s1<->s4, the path of the ping packet will change or
>> not?
>>
>>
> If the ping is ongoing, then no.  Active flows will not be rerouting.
>
>
>> and in other condition, if the topology is : h1<->s1<->s2<->s3<->s4<->h2
>> and s1<->s4. so if I do h1 ping h2, the ping packets will select the path
>> s1<->s4 directly. then, if I delet a link
>> s1<->s4, what will happen?
>>
>
> I am not sure about this one.  If a output port is down, I wonder what
> about an OpenFlow switch do.  I try it can drop the packet, which means the
> flow does not expire on s1 and you will not get a re-route.  But if the
> switch expires the flow entry, the flow will cause another packet-in which
> allow the flow to be rerouted.
>
>>
>> thanks
>> xiefeng
>>
>>
>>
>>  2010/12/23 kk yap 
>>
>>> Hi,
>>>
>>> The routing_module calculates based on hop count, with weight of each hop
>>> being 1.  If you are interested in the algorithm, look at "A New Approach to
>>> Dynamic All Pairs Shortest Paths" by C. Demetrescu.  (This is documented in
>>> the doxygen documentation.)
>>>
>>> Regards
>>> KK
>>>
>>>   On 22 December 2010 18:37, 谢峰  wrote:
>>>

 Hi, all

 Anybody knows how the routing module calculate the shortest path between
 two points? the weight value is the hops (the shortest path with the least
 hops) or other parameters?

 many thanks!

 regards.

 xiefeng

 ___
 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


Re: [nox-dev] How does the routing module calculate shortest path?

2010-12-23 Thread kk yap
Hi Xiefeng,

Comments inline.

Hope I am clear.

Regards
KK

2010/12/22 谢峰 

> Hi,
> I have a topology as this: h1<->s1<->s2<->s3<->s4<->h2, h1 , h2 are hosts,
> s1, s2,s3,s4 are openflow switches and connect to the same controller; so, I
> do h1 ping h2, it's ok.
> but if I add a link s1<->s4, the path of the ping packet will change or
> not?
>
>
If the ping is ongoing, then no.  Active flows will not be rerouting.


> and in other condition, if the topology is : h1<->s1<->s2<->s3<->s4<->h2
> and s1<->s4. so if I do h1 ping h2, the ping packets will select the path
> s1<->s4 directly. then, if I delet a link
> s1<->s4, what will happen?
>

I am not sure about this one.  If a output port is down, I wonder what about
an OpenFlow switch do.  I try it can drop the packet, which means the flow
does not expire on s1 and you will not get a re-route.  But if the switch
expires the flow entry, the flow will cause another packet-in which allow
the flow to be rerouted.

>
> thanks
> xiefeng
>
>
>
> 2010/12/23 kk yap 
>
>> Hi,
>>
>> The routing_module calculates based on hop count, with weight of each hop
>> being 1.  If you are interested in the algorithm, look at "A New Approach to
>> Dynamic All Pairs Shortest Paths" by C. Demetrescu.  (This is documented in
>> the doxygen documentation.)
>>
>> Regards
>> KK
>>
>>   On 22 December 2010 18:37, 谢峰  wrote:
>>
>>>
>>> Hi, all
>>>
>>> Anybody knows how the routing module calculate the shortest path between
>>> two points? the weight value is the hops (the shortest path with the least
>>> hops) or other parameters?
>>>
>>> many thanks!
>>>
>>> regards.
>>>
>>> xiefeng
>>>
>>> ___
>>> nox-dev mailing list
>>> nox-dev@noxrepo.org
>>> http://noxrepo.org/mailman/listinfo/nox-dev_noxrepo.org
>>>
>>>
>>
>
>
> --
> Feng Xie
> Ph.D. Candidate
> Network Security Lab, Research Institute of Information Technology
> Tsinghua National Laboratory for Information Science and Technology
> Dept. of Automation, Tsinghua Univ., Beijing, China, 100084.
> Tel.: +86-010-6277-2656
> Email: xiefen...@gmail.com
>
>
___
nox-dev mailing list
nox-dev@noxrepo.org
http://noxrepo.org/mailman/listinfo/nox-dev_noxrepo.org


[nox-dev] how to break loop?

2010-12-23 Thread 谢峰
Hi, all
If the network topology with a loop, the routing module can't calculate the
shortest path exactly. So it will cause problem, how to solve it?

xiefeng
___
nox-dev mailing list
nox-dev@noxrepo.org
http://noxrepo.org/mailman/listinfo/nox-dev_noxrepo.org