#!/usr/bin/tclsh set ctr 10 # set ctr 254 #set increase [lindex $argv 0] #set decrease [lindex $argv 1] #rl=0 -> no rate limiting #rl=1 -> depends on the capacity #rl between 0 and 1 -> this is the actual value foreach rnd { 1 } { #rnd 0 means default - we have the same thing foreach rate1 { 0.5 } { #only on if freq > 0 foreach sowdp { 0.125 } { #up-default: 0.125 foreach rl { 1 } { foreach bytes { 0 } { foreach thr { 15.0 } { # thr is threshold for delay based approach, if thr=0 => ecn based approach #default foreach ecn { 1 } { foreach rate { 10 } { #default foreach queue { RED } { foreach type { 3 } { foreach decrease { 0.5 } { if { ($ecn == 1) && ($queue == "DropTail") } { # skip } else { # 0 1 2 3 4 5 for idsp foreach idsp { 5 10 20 30 } { # 0 1 2 5 for itcp foreach itcp { 0 } { # reverse background traffic 0 or 1 foreach randflows { 0 } { foreach to { 0.30 } { foreach freq { 6.4 } { # 0.05 0.1 0.2 0.4 0.8 1.6 3.2 6.4 12.8 25.6 51.2 if { ($idsp == 0) && ($itcp == 0) } { #skip } elseif { ($idsp == 10) && ($itcp == 10) } { #skip } elseif { ($idsp == 5) && ($itcp == 5) } { #skip } elseif { ($idsp == 5) && ($itcp == 10) } { #skip } elseif { ($idsp == 10) && ($itcp == 5) } { #skip } elseif { ($idsp == 10) && ($itcp == 10) } { #skip } elseif { ($idsp == 20) && ($itcp == 20) } { #skip } elseif { ($idsp == 30) && ($itcp == 30) } { #skip } elseif { ($idsp == 2) && ($itcp == 1) } { #skip } elseif { ($idsp == 2) && ($itcp == 2) } { #skip } elseif { ($idsp == 2) && ($itcp == 5) } { #skip } elseif { ($idsp == 3) && ($itcp == 1) } { #skip } elseif { ($idsp == 3) && ($itcp == 2) } { #skip } elseif { ($idsp == 3) && ($itcp == 5) } { #skip } elseif { ($idsp == 4) && ($itcp == 1) } { #skip } elseif { ($idsp == 4) && ($itcp == 2) } { #skip } elseif { ($idsp == 4) && ($itcp == 5) } { #skip } elseif { ($idsp == 5) && ($itcp == 1) } { #skip } elseif { ($idsp == 5) && ($itcp == 2) } { #skip } elseif { ($idsp == 5) && ($itcp == 5) } { #skip } else { if {$to <= 0.30} { eval "exec ./ns dsp_fig11.tcl $idsp $itcp $queue $type $rate $ecn 0.1 $decrease 1 0 $to $randflows $thr $bytes $rl $sowdp $rate1 $freq $freq $rnd >> ./results-sale/drops-$idsp-$itcp-$queue$type-$rate-b$decrease-to$to-bk$randflows-thr$thr-byt$bytes-rl$rl-sowdp$sowdp-rat1e$rate1-freq$freq" } elseif {$to == 0.31} { eval "exec ./ns1 dsp_fig11.tcl $idsp $itcp $queue $type $rate $ecn 0.1 $decrease 1 0 $to $randflows $thr $bytes $rl $sowdp $rate1 $freq $freq $rnd >> ./results-sale/drops-$idsp-$itcp-$queue$type-$rate-b$decrease-to$to-bk$randflows-thr$thr-byt$bytes-rl$rl-sowdp$sowdp-rat1e$rate1-freq$freq" } elseif {$to == 0.32} { eval "exec ./ns2 dsp_fig11.tcl $idsp $itcp $queue $type $rate $ecn 0.1 $decrease 1 0 $to $randflows $thr $bytes $rl $sowdp $rate1 $freq $freq $rnd >> ./results-sale/drops-$idsp-$itcp-$queue$type-$rate-b$decrease-to$to-bk$randflows-thr$thr-byt$bytes-rl$rl-sowdp$sowdp-rat1e$rate1-freq$freq" } if {$rnd == 1} { set file [open ./results-sale/avg-thr-setting-1000 "a+"] puts $file "a.out 3 ./drops-$idsp-$itcp-$queue$type-$rate-b$decrease-to$to-bk$randflows-thr$thr-byt$bytes-rl$rl-sowdp$sowdp-rat1e$rate1-freq$freq a ./out-thr-setting-1000" close $file } } #else } #freq } #to } #randflows } #itcp } #idsp } #else incr ctr } #beta } #type } #queue } #rate } #ecn } #thr } #bytes } #rate-limit } #sowdp } #rate1 } #rnd