[Ns-developers] Does hierarchical routing support link failures (egdynamic routing)?

Pedro Estrela pedro.estrela at inesc.pt
Fri Sep 9 10:47:21 PDT 2005


Using DDD and my otcl debugger facilities
(http://inesc-0.tagus.ist.utl.pt/~pmsrve/ns2/) I've managed to fix the
problem; 
it was simply a missing "return (TCL_OK)" in route.cc

Someone, please checkin the patch below when possible.

Regards
Pedro Vale Estrela



Index: route.cc
===================================================================
RCS file: /home/pmsrve/.cvsroot/ns_cims/routing/route.cc,v
retrieving revision 1.1.1.1
diff -C3 -r1.1.1.1 route.cc
*** route.cc	9 Oct 2003 18:59:11 -0000	1.1.1.1
--- route.cc	9 Sep 2005 17:39:26 -0000
***************
*** 174,179 ****
--- 174,180 ----
  					return (TCL_ERROR);
  				}
  			hier_reset(src_addr, dst_addr);
+ 			return (TCL_OK); 		// pmsrve
09-september-05 
  		} else if (strcmp(argv[1], "hier-lookup") == 0) {
  			int nh;
  			int res = lookup_hier((char*)argv[2],
(char*)argv[3],



> -----Original Message-----
> From: ns-developers-bounces at ISI.EDU [mailto:ns-developers-bounces at ISI.EDU]
> On Behalf Of Pedro Estrela
> Sent: sexta-feira, 9 de Setembro de 2005 18:17
> To: 'ns-developers'; haldar at ISI.EDU
> Subject: [Ns-developers] Does hierarchical routing support link failures
> (egdynamic routing)?
> 
> Greetings,
> 
> 
> 
> It seems to me that the combination hierarchical + dynamic routing does
> not
> work in NS2-28
> 
> 
> 
> For testing this, I've simply tried /tcl/test/test-suite-hier-routing.tcl
> and added to it dynamic routing (Session or DV), and a single link that
> goes
> down.
> 
> 
> 
> Eg:
> 
> $ns_ rtproto Session
> 
> $ns_ duplex-link $n_(5) $n_(7) 5Mb 2ms DropTail
> 
> $ns_ rtmodel-at 2 down $n_(5) $n_(7)
> 
> 
> 
> this caused the following run time error at simulation time 2, concerning
> the missing "hier-reset" procedure. (see below)
> 
> Does anybody have any input on this subject?
> 
> 
> 
> Best regards
> 
> Pedro Vale Estrela
> 
> http://inesc-0.tagus.ist.utl.pt/~pmsrve/ns2/  (ns2, otcl, debugging help
> page)
> 
> 
> 
> -------
> 
> 
> 
> ns: _o310 runq 2:
> 
>     (_o11 cmd line 1)
> 
>     invoked from within
> 
> "_o11 cmd hier-reset 1.1.0 1.0.0"
> 
>     invoked from within
> 
> "if [catch "$self cmd $args" ret] {
> 
> set cls [$self info class]
> 
> global errorInfo
> 
> set savedInfo $errorInfo
> 
> error "error when calling class $cls: $args" $..."
> 
>     (procedure "_o11" line 2)
> 
>     (SplitObject unknown line 2)
> 
>     invoked from within
> 
> "$r hier-reset $srcID $dstID"
> 
>     invoked from within
> 
> "if { [$link_($ln) up?] == "up" } {
> 
> $r hier-insert $srcID $dstID [$link_($ln) cost?]
> 
> } else {
> 
> $r hier-reset $srcID $dstID
> 
> }"
> 
>     ("foreach" body line 5)
> 
>     invoked from within
> 
> "foreach ln [array names link_] {
> 
> set L [split $ln :]
> 
> set srcID [[$self get-node-by-id [lindex $L 0]] node-addr]
> 
> set dstID [[$self get-node-by-id [lind..."
> 
>     (procedure "_o4" line 12)
> 
>     (Simulator compute-hier-routes line 12)
> 
>     invoked from within
> 
> "$self compute-hier-routes "
> 
>     invoked from within
> 
> "if [Simulator hier-addr?] {
> 
> $self compute-hier-routes
> 
> } else {
> 
> $self compute-flat-routes
> 
> }"
> 
>     (procedure "_o4" line 2)
> 
>     (Simulator compute-routes line 2)
> 
>     invoked from within
> 
> "[Simulator instance] compute-routes"
> 
>     (procedure "Agent/rtProto/Session" line 2)
> 
>     (Agent/rtProto/Session compute-all line 2)
> 
>     invoked from within
> 
> "Agent/rtProto/$i compute-all"
> 
>     ("foreach" body line 2)
> 
>     invoked from within
> 
> "foreach i [array names rtprotos_] {
> 
> Agent/rtProto/$i compute-all
> 
> }"
> 
>     (procedure "_o11" line 3)
> 
>     (RouteLogic notify line 3)
> 
>     invoked from within
> 
> "[$ns_ get-routelogic] notify"
> 
>     (procedure "_o295" line 6)
> 
>     (Object next line 6)
> 
>     invoked from within
> 
> "$self next"
> 
>     (procedure "_o295" line 2)
> 
>     (rtModel/Manual notify line 2)
> 
>     invoked from within
> 
> "$obj notify"
> 
>     (procedure "_o310" line 16)
> 
>     (rtQueue runq line 16)
> 
>     invoked from within
> 
> "_o310 runq 2"
> 
> 
> 
> 




More information about the Ns-developers mailing list