[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