I'm using the ns-allinone-2.34 on a Mac OS 10.4.
Can anyone help me with this script? The error is:
*****
ERROR: No Policy Table entry found for Source 0-Destination 3.
Policy Table(0):
The policy object doesn't exist, ERROR!!!
*****
I used a ns2 script generator for this script, and it goes well until I put
the Applications (CBR and FTP). Here's the script.
Thanks
-------------------
#===================================
# Simulation parameters setup
#===================================
set val(stop) 10.0 ;# time of simulation end
#===================================
# Initialization
#===================================
#Create a ns simulator
set ns [new Simulator]
$ns color 0 Blue
$ns color 1 Red
$ns color 2 yellow
$ns color 3 green
$ns color 4 black
$ns color 5 pink
$ns color 6 white
$ns color 7 black
set cir 1000000
set cbs 3000
set pir 3000
set ebs 3000
set pbs 3000
set packetSize 1000
set testTime 10.0;
#Open the NS trace file
set tracefile [open out.tr w]
$ns trace-all $tracefile
#Open the NAM trace file
set namfile [open out.nam w]
$ns namtrace-all $namfile
#Open the NAM trace file
set stats [open stats.tr w]
#===================================
# Nodes Definition
#===================================
#Create 5 nodes
set n0 [$ns node]
set n1 [$ns node]
set n3 [$ns node]
set n4 [$ns node]
set n6 [$ns node]
#===================================
# Routers Definition
#===================================
#Create 2 routers
set re1 [$ns node]
set rc2 [$ns node]
#===================================
# Links Definition
#===================================
#Createlinks between nodes or
#Createlinks between routers or
#Createlinks between routers and nodes
$ns duplex-link $n1 $n3 10.0Mb 1ms DropTail
$ns queue-limit $n1 $n3 50
$ns duplex-link $n0 $n6 10.0Mb 1ms DropTail
$ns queue-limit $n0 $n6 50
$ns duplex-link $re1 $n4 10.0Mb 1ms DropTail
$ns queue-limit $re1 $n4 50
$ns simplex-link $rc2 $re1 2.0Mb 20ms dsRED/core
$ns queue-limit $rc2 $re1 50
$ns simplex-link $re1 $rc2 2.0Mb 20ms dsRED/edge
$ns queue-limit $re1 $rc2 50
$ns simplex-link $n3 $rc2 1.5Mb 10ms dsRED/edge
$ns queue-limit $n3 $rc2 50
$ns simplex-link $n6 $rc2 1.5Mb 10ms dsRED/edge
$ns queue-limit $n6 $rc2 50
$ns simplex-link $rc2 $n3 1.5Mb 10ms dsRED/core
$ns queue-limit $rc2 $n3 50
$ns simplex-link $rc2 $n6 1.5Mb 10ms dsRED/core
$ns queue-limit $rc2 $n6 50
#Give node position (for NAM)
$ns duplex-link-op $n1 $n3 orient right
$ns duplex-link-op $n0 $n6 orient right
$ns duplex-link-op $re1 $n4 orient right
$ns simplex-link-op $rc2 $re1 orient right
$ns simplex-link-op $re1 $rc2 orient left
$ns simplex-link-op $n3 $rc2 orient right-up
$ns simplex-link-op $n6 $rc2 orient right-down
$ns simplex-link-op $rc2 $n3 orient left-down
$ns simplex-link-op $rc2 $n6 orient left-up
#===================================
# Queue Definition
#===================================
set FilaE1C2 [[$ns link $re1 $rc2] queue]
set FilaC2E1 [[$ns link $rc2 $re1] queue]
set FilaN3C2 [[$ns link $n3 $rc2] queue]
set FilaN6C2 [[$ns link $n6 $rc2] queue]
set FilaC2N3 [[$ns link $rc2 $n3] queue]
set FilaC2N6 [[$ns link $rc2 $n6] queue]
#===================================
# PHB´S Definition
#===================================
$FilaC2E1 setSchedularMode WRR
$FilaC2E1 addQueueWeights 0 2
$FilaC2E1 addQueueWeights 1 2
$FilaC2E1 addQueueWeights 2 6
$FilaC2E1 meanPktSize $packetSize
$FilaC2E1 set numQueues_ 3
$FilaC2E1 setNumPrec 3
$FilaC2E1 addPHBEntry 0 0 0
$FilaC2E1 addPHBEntry 40 1 0
$FilaC2E1 addPHBEntry 10 2 0
$FilaC2E1 addPHBEntry 18 2 1
$FilaC2E1 addPHBEntry 26 2 2
$FilaC2E1 configQ 0 0 0 10 1.00
$FilaC2E1 configQ 1 0 5 15 0.5
$FilaC2E1 configQ 2 0 10 40 0.01
$FilaC2E1 configQ 2 1 20 20 0.10
$FilaC2E1 configQ 2 2 5 10 0.20
$FilaC2N3 setSchedularMode WRR
$FilaC2N3 addQueueWeights 0 2
$FilaC2N3 addQueueWeights 1 2
$FilaC2N3 addQueueWeights 2 6
$FilaC2N3 meanPktSize $packetSize
$FilaC2N3 set numQueues_ 3
$FilaC2N3 setNumPrec 3
$FilaC2N3 addPHBEntry 0 0 0
$FilaC2N3 addPHBEntry 40 1 0
$FilaC2N3 addPHBEntry 10 2 0
$FilaC2N3 addPHBEntry 18 2 1
$FilaC2N3 addPHBEntry 26 2 2
$FilaC2N3 configQ 0 0 0 10 1.00
$FilaC2N3 configQ 1 0 5 15 0.5
$FilaC2N3 configQ 2 0 10 40 0.01
$FilaC2N3 configQ 2 1 20 20 0.10
$FilaC2N3 configQ 2 2 5 10 0.20
$FilaC2N6 setSchedularMode WRR
$FilaC2N6 addQueueWeights 0 2
$FilaC2N6 addQueueWeights 1 2
$FilaC2N6 addQueueWeights 2 6
$FilaC2N6 meanPktSize $packetSize
$FilaC2N6 set numQueues_ 3
$FilaC2N6 setNumPrec 3
$FilaC2N6 addPHBEntry 0 0 0
$FilaC2N6 addPHBEntry 40 1 0
$FilaC2N6 addPHBEntry 10 2 0
$FilaC2N6 addPHBEntry 18 2 1
$FilaC2N6 addPHBEntry 26 2 2
$FilaC2N6 configQ 0 0 0 10 1.00
$FilaC2N6 configQ 1 0 5 15 0.5
$FilaC2N6 configQ 2 0 10 40 0.01
$FilaC2N6 configQ 2 1 20 20 0.10
$FilaC2N6 configQ 2 2 5 10 0.20
#===================================
# Agents Definition
#===================================
#Setup a TCP connection
set tcp0 [new Agent/TCP]
$tcp0 set class_ 0
$tcp0 set fid_ 0
$ns attach-agent $n0 $tcp0
set sink1 [new Agent/TCPSink]
$ns attach-agent $n4 $sink1
$ns connect $tcp0 $sink1
$tcp0 set packetSize_ 1000
#Setup a UDP connection
set udp2 [new Agent/UDP]
$udp2 set class_ 2
$udp2 set fid_ 2
$ns attach-agent $n1 $udp2
set null3 [new Agent/LossMonitor]
$ns attach-agent $n4 $null3
$ns connect $udp2 $null3
$udp2 set packetSize_ 1500
#===================================
# Applications Definition
#===================================
#Setup a FTP Application over TCP connection
set ftp0 [new Application/FTP]
$ftp0 attach-agent $tcp0
$ftp0 set packetSize_ 1000
$ftp0 set interval_ 0.003
$ftp0 set codePt_ 0
$ns at 0.1 "$ftp0 start"
$ns at 4.9 "$ftp0 stop"
#Setup a CBR Application over UDP connection
set cbr0 [new Application/Traffic/CBR]
$cbr0 attach-agent $udp2
$cbr0 set packetSize_ 1000
$cbr0 set interval_ 0.005
$cbr0 set codePt_ 0
$cbr0 set rate_ 1.0Mb
$ns at 1.0 "$cbr0 start"
$ns at 4.0 "$cbr0 stop"
$ns at 0.0 "$re1 label RouterEdge"
$ns at 0.0 "$n4 label Receiver"
$ns at 0.0 "$rc2 label RouterCore"
$ns at 0.0 "$re1 label RouterEdge"
$ns at 0.0 "$re1 label RouterEdge"
$ns at 0.0 "$rc2 label RouterCore"
$ns at 0.0 "$n3 label TráfegoBackGround"
$ns at 0.0 "$rc2 label RouterCore"
$ns at 0.0 "$n6 label TráfegoBackGround"
$ns at 0.0 "$rc2 label RouterCore"
$ns at 0.0 "$rc2 label RouterCore"
$ns at 0.0 "$n3 label TráfegoBackGround"
$ns at 0.0 "$rc2 label RouterCore"
$ns at 0.0 "$n6 label TráfegoBackGround"
#===================================
# Termination
#===================================
#Define a 'finish' procedure
proc finish {} {
global ns tracefile namfile
$ns flush-trace
close $tracefile
close $namfile
exec nam -a out.nam &
exit 0
}
$ns at $val(stop) "$ns nam-end-wireless $val(stop)"
$ns at $val(stop) "finish"
$ns at $val(stop) "puts \"done\" ; $ns halt"
$ns run
--
Alessandro