[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: trace-{topo|tree} functional?
Hi Lloyd,
just a suggestion,
Have you used the same example for multicast without the mcast
monitors... I'm just trying to narrow down the problem... if it works ,
then the problem is with the mcast monitors only... otherwise there could
be some interaction between multicast and the monitors..
I haven't used mcastmonitors before, so can't really help there, aside
from directing you to the doc (which you obviosly already read).
Regs,
-A
> I'm having trouble with the code in sections 16.1 and 16.1.1 on page
> 115 of the ns docs, edition of 31 Aug 1998.
>
> I've had to make some obvious alterations: in 16.1, period_ is set
> to 0.02, but the comment and output file format say it is really
> 0.03; the code creates node0 and node1, but then erroneously refers
> to $n0 and $n1 when setting up the duplex link.
>
> I've tested the code with both ns 2.1b3 and a very recent daily snapshot.
> Using $mcastmonitor trace-tree _almost_ works -
>
> 0.029999999999999999 0 0 0 0 _o46 1073741824
> 0.059999999999999998 0 0 0 0 _o46 1073741824
>
> the _o46 suggests that it's not picking up on the udp source properly,
> but I'm not sure why. (What would I connect the udp source agent to?)
>
> When trace-topo is used instead of trace-tree, I get the following
> more serious error-from-the-same-problem with both versions of ns:
>
> can't read "prune_(_o46:1073741824:1:0)": no such element in array
> while executing
> "incr prune $prune_($source:$group:$from:$to)"
> (procedure "_o48" line 11)
> (McastMonitor print-trace line 11)
> invoked from within
> "$self print-trace $source $group"
> (procedure "_o48" line 8)
> (McastMonitor trace-topo line 8)
> invoked from within
> "$mcastmonitor trace-topo $src $group"
> (file "testmcast.tcl" line 32)
>
>
> Any ideas or obvious pointers? I'm stumped. My version of the code is
> below.
>
>
> Also, if I disable Node expandaddr as probably not needed here
> for a single group:
>
> 0.029999999999999999 0 0 0 0 _o43 0x8000
>
> group output switches to hex? Is Node expandaddr mandatory for
> multicast?
>
> thanks,
>
> L.
>
> <http://www.ee.surrey.ac.uk/Personal/L.Wood/>PGP<[email protected]>
> ------------->8-------------------
>
> set ns [new Simulator]
> Simulator set EnableMcast_ 1 ;# enable multicast routing
> Node expandaddr ;# probably not needed here?
>
> set group [Node allocaddr] ;# allocate a multicast address
> set node0 [$ns node] ;# create multicast-capable nodes
> set node1 [$ns node]
> Simulator set NumberInterfaces_ 1 ;# number of interfaces for all links
> $ns duplex-link $node0 $node1 1.5Mb 10ms DropTail
> ;# create links with interfaces
> set mproto dynamicDM ;# configure multicast protocol
> set mrthandle [$ns mrtproto $mproto {}]
> ;# if an empty list is given, all nodes will contain multicast
> # protocol agents
>
> set udp [new Agent/UDP] ;# create a udp source agent
> set src [new Application/Traffic/CBR]
> $src attach-agent $udp
> $udp set dst_ $group
>
> $ns attach-agent $node0 $udp ;# and attach it to node 0
>
> set rcvr [new Agent/LossMonitor] ;# create a receiver agent at node 1
> $ns attach-agent $node1 $rcvr
> $ns at 0.3 "$node1 join-group $rcvr $group"
> ;# join the group at simulation time 0.3 (sec)
>
> set mcastmonitor [$ns McastMonitor]
> $mcastmonitor set period_ 0.03 ;# default 0.03 (sec)
>
> # trace-tree almost works
> # $mcastmonitor trace-tree $src $group
>
> # but the alternative trace-topo fails entirely!
> $mcastmonitor trace-topo $src $group
>
> $ns run
>
>
>
>
>
>
>
>
>
>
>