Wednesday, February 22, 2012

[ns] policy table error in diff-serv

Please help
i am trying to simulate a diff-serv network that has 16 source and 16 destination nodes
uses TSW3CM marker. i have filled all the policy and policer enteries

when i run the code it gives error: no policy table entry found
but all the entries are allready filled . Plese tell me if there is any lmit of assigning a  number of aggregates to a single code point.

the code is given below plzzzzzzz review it help me

set ns [new Simulator]

set cir 100
set pir
1000
set flows 80

set testTime 10.0
set packetSize 512

# setting up trace files
set tf [open my.tr w]
$ns trace-all $tf
set nf [open my.nam w]
$ns namtrace-all $nf

# Set up the network topology shown at the top of this file:
set s1 [$ns node]
set s2 [$ns node]
set s3 [$ns node]
set s4 [$ns node]
set s5 [$ns node]
set s6 [$ns node]
set s7 [$ns node]
set s8 [$ns node]
set s9 [$ns node]
set s10 [$ns node]
set s11 [$ns node]
set s12 [$ns node]
set s13 [$ns node]
set s14 [$ns node]
set s15 [$ns node]
set s16 [$ns node]
set e1 [$ns node]
set c [$ns node]
set e2 [$ns node]
set d1 [$ns node]
set d2 [$ns node]
set d3 [$ns node]
set d4 [$ns node]
set d5 [$ns node]
set d6 [$ns node]
set d7 [$ns node]
set d8 [$ns node]
set d9 [$ns node]
set d10 [$ns node]
set d11 [$ns node]
set d12 [$ns
node]
set d13 [$ns node]
set d14 [$ns node]
set d15 [$ns node]
set d16 [$ns node]

$ns duplex-link $s1 $e1 10Mb 1ms DropTail
$ns queue-limit $s1 $e1 50
$ns duplex-link $s2 $e1 10Mb 1ms DropTail
$ns queue-limit $s2 $e1 50
$ns duplex-link $s3 $e1 10Mb 1ms DropTail
$ns queue-limit $s3 $e1 50
$ns duplex-link $s4 $e1 10Mb 1ms DropTail
$ns queue-limit $s4 $e1 50
$ns duplex-link $s5 $e1 10Mb 1ms DropTail
$ns queue-limit $s5 $e1 50
$ns duplex-link $s6 $e1 10Mb 1ms DropTail
$ns queue-limit $s6 $e1 50
$ns duplex-link $s7 $e1 10Mb 1ms DropTail
$ns queue-limit $s7 $e1 50
$ns duplex-link $s8 $e1 10Mb 1ms DropTail
$ns queue-limit $s8 $e1 50
$ns duplex-link $s9 $e1 10Mb 1ms DropTail
$ns queue-limit $s9 $e1 50
$ns duplex-link $s10 $e1 10Mb 1ms DropTail
$ns queue-limit $s10 $e1 50
$ns duplex-link $s11 $e1 10Mb 1ms DropTail
$ns queue-limit $s11 $e1 50
$ns
duplex-link $s12 $e1 10Mb 1ms DropTail
$ns queue-limit $s12 $e1 50
$ns duplex-link $s13 $e1 10Mb 1ms DropTail
$ns queue-limit $s13 $e1 50
$ns duplex-link $s14 $e1 10Mb 1ms DropTail
$ns queue-limit $s14 $e1 50
$ns duplex-link $s15 $e1 10Mb 1ms DropTail
$ns queue-limit $s15 $e1 50
$ns duplex-link $s16 $e1 10Mb 1ms DropTail
$ns queue-limit $s16 $e1 50

$ns simplex-link $e1 $c 4.5Mb 5ms dsRED/edge
$ns queue-limit $e1 $c 50
$ns simplex-link $c $e1 4.5Mb 5ms dsRED/core
$ns queue-limit $c $e1 50
$ns simplex-link $c $e2 45Mb 5ms dsRED/core
$ns queue-limit $c $e2 50
$ns simplex-link $e2 $c 45Mb 5ms dsRED/edge
$ns queue-limit $e2 $c 50

$ns duplex-link $e2 $d1 10Mb 1ms DropTail
$ns queue-limit $e2 $d1 50
$ns duplex-link $e2 $d2 10Mb 1ms DropTail
$ns queue-limit $e2 $d2 50
$ns duplex-link $e2 $d3 10Mb 1ms DropTail
$ns queue-limit $e2 $d3 50
$ns duplex-link $e2
$d4 10Mb 1ms DropTail
$ns queue-limit $e2 $d4 50
$ns duplex-link $e2 $d5 10Mb 1ms DropTail
$ns queue-limit $e2 $d5 50
$ns duplex-link $e2 $d6 10Mb 1ms DropTail
$ns queue-limit $e2 $d6 50
$ns duplex-link $e2 $d7 10Mb 1ms DropTail
$ns queue-limit $e2 $d7 50
$ns duplex-link $e2 $d8 10Mb 1ms DropTail
$ns queue-limit $e2 $d8 50
$ns duplex-link $e2 $d9 10Mb 1ms DropTail
$ns queue-limit $e2 $d9 50
$ns duplex-link $e2 $d10 10Mb 1ms DropTail
$ns queue-limit $e2 $d10 50
$ns duplex-link $e2 $d11 10Mb 1ms DropTail
$ns queue-limit $e2 $d11 50
$ns duplex-link $e2 $d12 10Mb 1ms DropTail
$ns queue-limit $e2 $d12 50
$ns duplex-link $e2 $d13 10Mb 1ms DropTail
$ns queue-limit $e2 $d13 50
$ns duplex-link $e2 $d14 10Mb 1ms DropTail
$ns queue-limit $e2 $d14 50
$ns duplex-link $e2 $d15 10Mb 1ms DropTail
$ns queue-limit $e2 $d15 50
$ns duplex-link $e2 $d16 10Mb 1ms DropTail
$ns
queue-limit $e2 $d16 50

set qE1C [[$ns link $e1 $c] queue]
set qE2C [[$ns link $e2 $c] queue]
set qCE1 [[$ns link $c $e1] queue]
set qCE2 [[$ns link $c $e2] queue]

# Set DS RED parameters from Edge1 to Core:
$qE1C meanPktSize $packetSize
$qE1C set numQueues_ 1
$qE1C setNumPrec 3
$qE1C addPolicyEntry [$s1 id] [$d1 id] TSW3CM 10 $cir $pir
$qE1C addPolicyEntry [$s2 id] [$d2 id] TSW3CM 10 $cir $pir
$qE1C addPolicyEntry [$s3 id] [$d3 id] TSW3CM 10 $cir $pir
$qE1C addPolicyEntry [$s4 id] [$d4 id] TSW3CM 10 $cir $pir
$qE1C addPolicyEntry [$s5 id] [$d5 id] TSW3CM 10 $cir $pir
$qE1C addPolicyEntry [$s6 id] [$d6 id] TSW3CM 10 $cir $pir
$qE1C addPolicyEntry [$s7 id] [$d7 id] TSW3CM 10 $cir $pir
$qE1C addPolicyEntry [$s8 id] [$d8 id] TSW3CM 10 $cir $pir
$qE1C addPolicyEntry [$s9 id] [$d9 id] TSW3CM 10 $cir $pir
$qE1C addPolicyEntry [$s10 id] [$d10 id] TSW3CM 10 $cir $pir
$qE1C
addPolicyEntry [$s11 id] [$d11 id] TSW3CM 10 $cir $pir
$qE1C addPolicyEntry [$s12 id] [$d12 id] TSW3CM 10 $cir $pir
$qE1C addPolicyEntry [$s13 id] [$d13 id] TSW3CM 10 $cir $pir
$qE1C addPolicyEntry [$s14 id] [$d14 id] TSW3CM 10 $cir $pir
$qE1C addPolicyEntry [$s15 id] [$d15 id] TSW3CM 10 $cir $pir
$qE1C addPolicyEntry [$s16 id] [$d16 id] TSW3CM 10 $cir $pir
$qE1C addPolicerEntry TSW3CM 10 11 12
$qE1C addPHBEntry 10 0 0
$qE1C addPHBEntry 11 0 1
$qE1C addPHBEntry 12 0 2
$qE1C configQ 0 0 20 40 0.02
$qE1C configQ 0 1 10 20 0.10
$qE1C configQ 0 2 5 10 0.20

# Set DS RED parameters from Edge2 to Core:
$qE2C meanPktSize $packetSize
$qE2C set numQueues_ 1
$qE2C setNumPrec 3
$qE2C addPolicyEntry [$d1 id] [$s1 id] TSW3CM 10 $cir $pir
$qE2C addPolicyEntry [$d2 id] [$s2 id] TSW3CM 10 $cir $pir
$qE2C addPolicyEntry [$d3 id] [$s3 id] TSW3CM 10 $cir $pir
$qE2C addPolicyEntry [$d4 id]
[$s4 id] TSW3CM 10 $cir $pir
$qE2C addPolicyEntry [$d5 id] [$s5 id] TSW3CM 10 $cir $pir
$qE2C addPolicyEntry [$d6 id] [$s6 id] TSW3CM 10 $cir $pir
$qE2C addPolicyEntry [$d7 id] [$s7 id] TSW3CM 10 $cir $pir
$qE2C addPolicyEntry [$d8 id] [$s8 id] TSW3CM 10 $cir $pir
$qE2C addPolicyEntry [$d9 id] [$s9 id] TSW3CM 10 $cir $pir
$qE2C addPolicyEntry [$d10 id] [$s10 id] TSW3CM 10 $cir $pir
$qE2C addPolicyEntry [$d11 id] [$s11 id] TSW3CM 10 $cir $pir
$qE2C addPolicyEntry [$d12 id] [$s12 id] TSW3CM 10 $cir $pir
$qE2C addPolicyEntry [$d13 id] [$s13 id] TSW3CM 10 $cir $pir
$qE2C addPolicyEntry [$d14 id] [$s14 id] TSW3CM 10 $cir $pir
$qE2C addPolicyEntry [$d15 id] [$s15 id] TSW3CM 10 $cir $pir
$qE2C addPolicyEntry [$d16 id] [$s16 id] TSW3CM 10 $cir $pir
$qE2C addPolicerEntry TSW3CM 10 11 12
$qE2C addPHBEntry 10 0 0
$qE2C addPHBEntry 11 0 1
$qE2C addPHBEntry 12 0 2
$qE2C configQ 0 0 20 40 0.02
$qE2C configQ 0 1 10 20 0.10
$qE2C configQ 0 2 5 10 0.20

# Set DS RED parameters from Core to Edge1:
$qCE1 meanPktSize $packetSize
$qCE1 set numQueues_ 1
$qCE1 setNumPrec 3
$qCE1 addPHBEntry 10 0 0
$qCE1 addPHBEntry 11 0 1
$qCE1 addPHBEntry 12 0 2
$qCE1 configQ 0 0 20 40 0.02
$qCE1 configQ 0 1 10 20 0.10
$qCE1 configQ 0 2 5 10 0.20

# Set DS RED parameters from Core to Edge2:
$qCE2 meanPktSize $packetSize
$qCE2 set numQueues_ 1
$qCE2 setNumPrec 3
$qCE2 addPHBEntry 10 0 0
$qCE2 addPHBEntry 11 0 1
$qCE2 addPHBEntry 12 0 2
$qCE2 configQ 0 0 20 40 0.02
$qCE2 configQ 0 1 10 20 0.10
$qCE2 configQ 0 2 5 10 0.20

# Set up one TCP connection between each source and the destination:
for {set j 1} {$j<=$flows} { incr j } {
set tcp1($j) [new Agent/TCP]
$tcp1($j) set t_seqno_ 0
$tcp1($j) set seqno_ 3
$tcp1($j) set packetSize_ $packetSize
$ns attach-agent $s1 $tcp1($j)
set ftp1($j) [new Application/FTP]
$ftp1($j) attach-agent $tcp1($j)
set null1($j) [new Agent/Null]
$ns attach-agent $d1 $null1($j)
$ns connect $tcp1($j) $null1($j)
}
for {set j 1} {$j<=$flows} { incr j } {
set tcp2($j) [new Agent/TCP]
$tcp2($j) set t_seqno_ 0
$tcp2($j) set seqno_ 3
$tcp2($j) set packetSize_ $packetSize
$ns attach-agent $s2 $tcp2($j)
set ftp2($j) [new Application/FTP]
$ftp2($j) attach-agent $tcp2($j)
set null2($j) [new Agent/Null]
$ns attach-agent $d2 $null2($j)
$ns connect $tcp2($j) $null2($j)
}
for {set j 1} {$j<=$flows} { incr j } {
set tcp3($j) [new Agent/TCP]
$tcp3($j) set t_seqno_ 0
$tcp3($j) set seqno_ 3
$tcp3($j) set packetSize_ $packetSize
$ns attach-agent $s3 $tcp3($j)
set ftp3($j) [new Application/FTP]
$ftp3($j) attach-agent $tcp3($j)
set null3($j) [new Agent/Null]
$ns
attach-agent $d3 $null3($j)
$ns connect $tcp3($j) $null3($j)
}
for {set j 1} {$j<=$flows} { incr j } {
set tcp4($j) [new Agent/TCP]
$tcp4($j) set t_seqno_ 0
$tcp4($j) set seqno_ 3
$tcp4($j) set packetSize_ $packetSize
$ns attach-agent $s4 $tcp4($j)
set ftp4($j) [new Application/FTP]
$ftp4($j) attach-agent $tcp4($j)
set null4($j) [new Agent/Null]
$ns attach-agent $d4 $null4($j)
$ns connect $tcp4($j) $null4($j)
}
for {set j 1} {$j<=$flows} { incr j } {
set tcp5($j) [new Agent/TCP]
$tcp5($j) set t_seqno_ 0
$tcp5($j) set seqno_ 3
$tcp5($j) set packetSize_ $packetSize
$ns attach-agent $s5 $tcp5($j)
set ftp5($j) [new Application/FTP]
$ftp5($j) attach-agent $tcp5($j)
set null5($j) [new Agent/Null]
$ns attach-agent $d5 $null5($j)
$ns connect $tcp5($j) $null5($j)
}
for {set j 1} {$j<=$flows} { incr j } {
set tcp6($j) [new Agent/TCP]
$tcp6($j) set t_seqno_ 0
$tcp6($j) set seqno_ 3
$tcp6($j) set packetSize_ $packetSize
$ns attach-agent $s6 $tcp6($j)
set ftp6($j) [new Application/FTP]
$ftp6($j) attach-agent $tcp6($j)
set null6($j) [new Agent/Null]
$ns attach-agent $d6 $null6($j)
$ns connect $tcp6($j) $null6($j)
}
for {set j 1} {$j<=$flows} { incr j } {
set tcp7($j) [new Agent/TCP]
$tcp7($j) set t_seqno_ 0
$tcp7($j) set seqno_ 3
$tcp7($j) set packetSize_ $packetSize
$ns attach-agent $s7 $tcp7($j)
set ftp7($j) [new Application/FTP]
$ftp7($j) attach-agent $tcp7($j)
set null7($j) [new Agent/Null]
$ns attach-agent $d7 $null7($j)
$ns connect $tcp7($j) $null7($j)
}
for {set j 1} {$j<=$flows} { incr j } {
set tcp8($j) [new Agent/TCP]
$tcp8($j) set t_seqno_ 0
$tcp8($j) set seqno_ 3
$tcp8($j) set packetSize_ $packetSize
$ns attach-agent $s8 $tcp8($j)
set ftp8($j) [new
Application/FTP]
$ftp8($j) attach-agent $tcp8($j)
set null8($j) [new Agent/Null]
$ns attach-agent $d8 $null8($j)
$ns connect $tcp8($j) $null8($j)
}
for {set j 1} {$j<=$flows} { incr j } {
set tcp9($j) [new Agent/TCP]
$tcp9($j) set t_seqno_ 0
$tcp9($j) set seqno_ 3
$tcp9($j) set packetSize_ $packetSize
$ns attach-agent $s9 $tcp9($j)
set ftp9($j) [new Application/FTP]
$ftp9($j) attach-agent $tcp9($j)
set null9($j) [new Agent/Null]
$ns attach-agent $d9 $null9($j)
$ns connect $tcp9($j) $null9($j)
}
for {set j 1} {$j<=$flows} { incr j } {
set tcp10($j) [new Agent/TCP]
$tcp10($j) set t_seqno_ 0
$tcp10($j) set seqno_ 3
$tcp10($j) set packetSize_ $packetSize
$ns attach-agent $s10 $tcp10($j)
set ftp10($j) [new Application/FTP]
$ftp10($j) attach-agent $tcp10($j)
set null10($j) [new Agent/Null]
$ns attach-agent $d10 $null10($j)
$ns connect
$tcp10($j) $null10($j)
}
for {set j 1} {$j<=$flows} { incr j } {
set tcp11($j) [new Agent/TCP]
$tcp11($j) set t_seqno_ 0
$tcp11($j) set seqno_ 3
$tcp11($j) set packetSize_ $packetSize
$ns attach-agent $s11 $tcp11($j)
set ftp11($j) [new Application/FTP]
$ftp11($j) attach-agent $tcp11($j)
set null11($j) [new Agent/Null]
$ns attach-agent $d11 $null11($j)
$ns connect $tcp11($j) $null11($j)
}
for {set j 1} {$j<=$flows} { incr j } {
set tcp12($j) [new Agent/TCP]
$tcp12($j) set t_seqno_ 0
$tcp12($j) set seqno_ 3
$tcp12($j) set packetSize_ $packetSize
$ns attach-agent $s12 $tcp12($j)
set ftp12($j) [new Application/FTP]
$ftp12($j) attach-agent $tcp12($j)
set null12($j) [new Agent/Null]
$ns attach-agent $d12 $null12($j)
$ns connect $tcp12($j) $null12($j)
}
for {set j 1} {$j<=$flows} { incr j } {
set tcp13($j) [new Agent/TCP]
$tcp13($j) set
t_seqno_ 0
$tcp13($j) set seqno_ 3
$tcp13($j) set packetSize_ $packetSize
$ns attach-agent $s13 $tcp13($j)
set ftp13($j) [new Application/FTP]
$ftp13($j) attach-agent $tcp13($j)
set null13($j) [new Agent/Null]
$ns attach-agent $d13 $null13($j)
$ns connect $tcp13($j) $null13($j)
}
for {set j 1} {$j<=$flows} { incr j } {
set tcp14($j) [new Agent/TCP]
$tcp14($j) set t_seqno_ 0
$tcp14($j) set seqno_ 3
$tcp14($j) set packetSize_ $packetSize
$ns attach-agent $s14 $tcp14($j)
set ftp14($j) [new Application/FTP]
$ftp14($j) attach-agent $tcp14($j)
set null14($j) [new Agent/Null]
$ns attach-agent $d14 $null14($j)
$ns connect $tcp14($j) $null14($j)
}
for {set j 1} {$j<=$flows} { incr j } {
set tcp15($j) [new Agent/TCP]
$tcp15($j) set t_seqno_ 0
$tcp15($j) set seqno_ 3
$tcp15($j) set packetSize_ $packetSize
$ns attach-agent $s15 $tcp15($j)
set
ftp15($j) [new Application/FTP]
$ftp15($j) attach-agent $tcp15($j)
set null15($j) [new Agent/Null]
$ns attach-agent $d15 $null15($j)
$ns connect $tcp15($j) $null15($j)
}
for {set j 1} {$j<=$flows} { incr j } {
set tcp16($j) [new Agent/TCP]
$tcp16($j) set t_seqno_ 0
$tcp16($j) set seqno_ 3
$tcp16($j) set packetSize_ $packetSize
$ns attach-agent $s12 $tcp16($j)
set ftp16($j) [new Application/FTP]
$ftp16($j) attach-agent $tcp16($j)
set null16($j) [new Agent/Null]
$ns attach-agent $d16 $null16($j)
$ns connect $tcp16($j) $null16($j)
}

proc finish {} {
global ns tf nf
$ns flush-trace
close $tf
close $nf
exec nam my.nam &
exit 0
}

$qE1C printPolicyTable
$qE1C printPolicerTable

for {set j 1} {$j<=$flows} {incr j} {
$ns at 0.0 "$ftp1($j) start"
$ns at 0.0 "$ftp2($j) start"
$ns at 0.0
"$ftp3($j) start"
$ns at 0.0 "$ftp4($j) start"
$ns at 0.0 "$ftp5($j) start"
$ns at 0.0 "$ftp6($j) start"
$ns at 0.0 "$ftp7($j) start"
$ns at 0.0 "$ftp8($j) start"
$ns at 0.0 "$ftp9($j) start"
$ns at 0.0 "$ftp10($j) start"
$ns at 0.0 "$ftp11($j) start"
$ns at 0.0 "$ftp12($j) start"
$ns at 0.0 "$ftp13($j) start"
$ns at 0.0 "$ftp14($j) start"
$ns at 0.0 "$ftp15($j) start"
$ns at 0.0 "$ftp16($j) start"
$ns at 1.0 "$qE1C printStats"
$ns at 9.0 "$qE1C printStats"
$ns at $testTime "$ftp1($j) stop"
$ns at $testTime "$ftp2($j) stop"
$ns at $testTime "$ftp3($j) stop"
$ns at $testTime "$ftp4($j) stop"
$ns at $testTime "$ftp5($j) stop"
$ns at $testTime "$ftp6($j) stop"
$ns at $testTime "$ftp7($j) stop"
$ns at $testTime "$ftp8($j) stop"
$ns at $testTime "$ftp9($j) stop"
$ns at $testTime "$ftp10($j) stop"
$ns at $testTime "$ftp11($j) stop"
$ns at $testTime
"$ftp12($j) stop"
$ns at $testTime "$ftp13($j) stop"
$ns at $testTime "$ftp14($j) stop"
$ns at $testTime "$ftp15($j) stop"
$ns at $testTime "$ftp16($j) stop"
$ns at [expr $testTime + 1.0] "finish"
}

$ns run

No comments:

Post a Comment

Counter

blogger analytics