#!/usr/local/bin/tclsh8.1 # To run this: # Set "define SBSIZE 10000" in scoreboard.h set ctr [lindex $argv 0] set increase [lindex $argv 1] set decrease [lindex $argv 2] set simtype [lindex $argv 3] set simToRun [lindex $argv 4] foreach ecn {0 1} { foreach rate {15 60} { foreach queue {DropTail RED} { if {($ctr == $simToRun)} { catch {exec rm out.$queue.12 } catch {exec rm graphs/s$ctr.p} foreach i {1 2 4 8 16 24 32 40 48 56 64} { eval "exec ./ns $simtype.tcl $i $queue $rate $ecn $increase $decrease > drops" eval "exec awk -f awk/plotdrops.awk drops >> graphs/s$ctr.p" catch {eval "exec ./bwcnt4 $rate 0 1 all.12.tr >> out.$queue.12"} } ## eval "exec fgrep tcp out.$queue.12 > tmp" ## This is a hack, but the AIMD flows have pkt size 999, not 1000. eval "exec grep 000$ out.$queue.12 > graphs/s$ctr.tfrm.tmp" eval "exec grep -v 000$ out.$queue.12 > graphs/s$ctr.aimd.tmp" eval "exec sed \"s/tfrm //\" < graphs/s$ctr.tfrm.tmp | sed \"s/tcp //\" > graphs/s$ctr.tfrm" eval "exec sed \"s/tcp //\" < graphs/s$ctr.aimd.tmp | grep -v tfrm > graphs/s$ctr.aimd" eval "exec graphs/getmean.tcl graphs/s$ctr.tfrm > graphs/s$ctr.tfrmmean" eval "exec graphs/getmean.tcl graphs/s$ctr.aimd > graphs/s$ctr.aimdmean" } incr ctr } } }