C help for network animator
Hey been trying to get a piece of code working for network animator
Code:
#Create a simulator object
set ns [new Simulator]
$ns rtproto DV
Node set multiPath_ 1
#Open the nam trace file
set nf [open out.nam w]
$ns namtrace-all $nf
#Define a 'finish' procedure
proc finish {} {
global ns nf
$ns flush-trace
#Close the trace file
close $nf
#Execute nam on the trace file
exec nam out.nam &
exit 0
}
#Create six nodes
for {set i 0} {$i < 8} {in exit 0
}
#Create six nodes
for {set i 0} {$i < 8} {incr i} {
set n($i) [$ns node]
}
#set up a link between then
for {set i 0} {$i < 8} {incr i} {
$ns duplex-link $n($i) $n([expr ($i+1)%8]) 1Mb 10ms DropTail
}
#Setting up a flow needs these four steps ---------------
#1. Create a UDP agent and attach it to node n(i)
for {set i 0} {$i < 4} {incr i} {
set udp(i) [new Agent/UDP]
$ns attach-agent $n(i) $udp(i)
}
#2. Create a CBR traffic source and attach it to udp(i)
for {set i 0} {$i < 4} {incr i} {
set cbr(i) [new Application/Traffic/CBR]
$cbr(i) set packetSize_ 1000
$cbr(i) set interval_ 0.05
$cbr(i) attach-agent $udp(i)
#3. Create a Null agent (a traffic sink) and attach it to node(i)
for {set x i+4} {$x < 8} {incr x} {
set null(i) [new Agent/Null]
$ns attach-agent $n(i) $null(x)
set null(i) [new Agent/Null]
$ns attach-agent $n(x) $null(i)
#4. Connect the traffic source with the traffic sink
$ns connect $udp(i) $null(i)
}
}
#-----------------------------------------------------------
#Schedule events for the CBR agent
$ns at 0.5 "$cbr0 start"
$ns at 5.0 "$cbr0 stop"
#Call the finish procedure after 1 second of simulation time
$ns at 1.0 "finish"
#Run the simulation
$ns run
cr i} {
set n($i) [$ns node]
}
#set up a link between then
for {set i 0} {$i < 8} {incr i} {
$ns duplex-link $n($i) $n([expr ($i+1)%8]) 1Mb 10ms DropTail
}
#Setting up a flow needs these four steps ---------------
#1. Create a UDP agent and attach it to node n(i)
for {set i 0} {$i < 4} {incr i} {
set udp(i) [new Agent/UDP]
$ns attach-agent $n(i) $udp(i)
}
#2. Create a CBR traffic source and attach it to udp(i)
for {set i 0} {$i < 4} {incr i} {
set cbr(i) [new Application/Traffic/CBR]
$cbr(i) set packetSize_ 1000
$cbr(i) set interval_ 0.05
$cbr(i) attach-agent $udp(i)
#3. Create a Null agent (a traffic sink) and attach it to node(i)
for {set x i+4} {$x < 8} {incr x} {
set null(i) [new Agent/Null]
$ns attach-agent $n(i) $null(x)
set null(i) [new Agent/Null]
$ns attach-agent $n(x) $null(i)
#4. Connect the traffic source with the traffic sink
$ns connect $udp(i) $null(i)
}
}
#-----------------------------------------------------------
#Schedule events for the CBR agent
$ns at 0.5 "$cbr0 start"
$ns at 5.0 "$cbr0 stop"
#Call the finish procedure after 1 second of simulation time
$ns at 1.0 "finish"
#Run the simulation
$ns run
------------------------------------------------------
error
can't read "n(i)": no such element in array
while executing
"$ns attach-agent $n(i) $udp(i)"
("for" body line 3)
invoked from within
"for {set i 0} {$i < 4} {incr i} {
set udp(i) [new Agent/UDP]
$ns attach-agent $n(i) $udp(i)
}"
(file "part2q7" line 35)
dont quite understand what is going on, any help is greatly appreciated!!!!
Cheers