Re: [nox-dev] how to break loop?
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?
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
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?
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?
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?
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