📄 test-suite-mixmode.tcl
字号:
$udp0 set dst_port_ 0 set cbr0 [new Application/Traffic/CBR] $cbr0 attach-agent $udp0 $ns_ create-session $node_(n2) $udp0 set rcvr0 [new Agent/LossMonitor] $ns_ attach-agent $node_(n0) $rcvr0 set rcvr1 [new Agent/LossMonitor] $ns_ attach-agent $node_(n1) $rcvr1 set rcvr2 [new Agent/LossMonitor] $ns_ attach-agent $node_(n2) $rcvr2 set rcvr3 [new Agent/LossMonitor] $ns_ attach-agent $node_(n3) $rcvr3 $ns_ at 0.3 "$cbr0 start" $ns_ at 0.3 "$node_(n1) join-group $rcvr1 $grp0" $ns_ at 0.3 "$node_(n0) join-group $rcvr0 $grp0" $ns_ at 0.3 "$node_(n3) join-group $rcvr3 $grp0" $ns_ at 0.3 "$node_(n2) join-group $rcvr2 $grp0" $ns_ at 1.1 "$self finish [list $rcvr0 $rcvr1 $rcvr2 $rcvr3]" $ns_ run}Class Test/Mixmode4 -superclass TestSuiteTest/Mixmode4 instproc init net { $self instvar defNet_ test_ net_ set defNet_ net4 set test_ Mixmode4 set net_ $net $self next}Test/Mixmode4 instproc run {} { $self instvar ns_ node_ testName_ $ns_ detailed-duplex-link $node_(n0) $node_(n1) $ns_ detailed-duplex-link $node_(n1) $node_(n2) set grp0 [Node allocaddr] set mproto CtrMcast set mrthandle [$ns_ mrtproto $mproto {}] if {$mrthandle != ""} { $ns_ at 0.01 "$mrthandle switch-treetype $grp0" } set udp0 [new Agent/UDP] $ns_ attach-agent $node_(n2) $udp0 $udp0 set dst_addr_ $grp0 $udp0 set dst_port_ 0 set cbr0 [new Application/Traffic/CBR] $cbr0 attach-agent $udp0 $ns_ create-session $node_(n2) $udp0 set rcvr0 [new Agent/LossMonitor] $ns_ attach-agent $node_(n0) $rcvr0 set rcvr1 [new Agent/LossMonitor] $ns_ attach-agent $node_(n1) $rcvr1 set rcvr2 [new Agent/LossMonitor] $ns_ attach-agent $node_(n2) $rcvr2 set rcvr3 [new Agent/LossMonitor] $ns_ attach-agent $node_(n3) $rcvr3 $ns_ at 0.3 "$cbr0 start" $ns_ at 0.3 "$node_(n1) join-group $rcvr1 $grp0" $ns_ at 0.3 "$node_(n0) join-group $rcvr0 $grp0" $ns_ at 0.3 "$node_(n3) join-group $rcvr3 $grp0" $ns_ at 0.3 "$node_(n2) join-group $rcvr2 $grp0" $ns_ at 1.1 "$self finish [list $rcvr0 $rcvr1 $rcvr2 $rcvr3]" $ns_ run}Class Test/Mixmode5 -superclass TestSuiteTest/Mixmode5 instproc init net { $self instvar defNet_ test_ net_ set defNet_ net4 set test_ Mixmode5 set net_ $net $self next}Test/Mixmode5 instproc run {} { $self instvar ns_ node_ testName_ $ns_ detailed-duplex-link $node_(n0) $node_(n1) $ns_ detailed-duplex-link $node_(n1) $node_(n3) set grp0 [Node allocaddr] set mproto CtrMcast set mrthandle [$ns_ mrtproto $mproto {}] if {$mrthandle != ""} { $ns_ at 0.01 "$mrthandle switch-treetype $grp0" } set udp0 [new Agent/UDP] $ns_ attach-agent $node_(n2) $udp0 $udp0 set dst_addr_ $grp0 $udp0 set dst_port_ 0 set cbr0 [new Application/Traffic/CBR] $cbr0 attach-agent $udp0 $ns_ create-session $node_(n2) $udp0 set rcvr0 [new Agent/LossMonitor] $ns_ attach-agent $node_(n0) $rcvr0 set rcvr1 [new Agent/LossMonitor] $ns_ attach-agent $node_(n1) $rcvr1 set rcvr2 [new Agent/LossMonitor] $ns_ attach-agent $node_(n2) $rcvr2 set rcvr3 [new Agent/LossMonitor] $ns_ attach-agent $node_(n3) $rcvr3 $ns_ at 0.3 "$cbr0 start" $ns_ at 0.3 "$node_(n1) join-group $rcvr1 $grp0" $ns_ at 0.3 "$node_(n0) join-group $rcvr0 $grp0" $ns_ at 0.3 "$node_(n3) join-group $rcvr3 $grp0" $ns_ at 0.3 "$node_(n2) join-group $rcvr2 $grp0" $ns_ at 1.1 "$self finish [list $rcvr0 $rcvr1 $rcvr2 $rcvr3]" $ns_ run}Class Test/Mixmode6 -superclass TestSuiteTest/Mixmode6 instproc init net { $self instvar defNet_ test_ net_ set defNet_ net4 set test_ Mixmode6 set net_ $net $self next}Test/Mixmode6 instproc run {} { $self instvar ns_ node_ testName_ $ns_ detailed-duplex-link $node_(n1) $node_(n2) $ns_ detailed-duplex-link $node_(n1) $node_(n3) set grp0 [Node allocaddr] set mproto CtrMcast set mrthandle [$ns_ mrtproto $mproto {}] if {$mrthandle != ""} { $ns_ at 0.01 "$mrthandle switch-treetype $grp0" } set udp0 [new Agent/UDP] $ns_ attach-agent $node_(n2) $udp0 $udp0 set dst_addr_ $grp0 $udp0 set dst_port_ 0 set cbr0 [new Application/Traffic/CBR] $cbr0 attach-agent $udp0 $ns_ create-session $node_(n2) $udp0 set rcvr0 [new Agent/LossMonitor] $ns_ attach-agent $node_(n0) $rcvr0 set rcvr1 [new Agent/LossMonitor] $ns_ attach-agent $node_(n1) $rcvr1 set rcvr2 [new Agent/LossMonitor] $ns_ attach-agent $node_(n2) $rcvr2 set rcvr3 [new Agent/LossMonitor] $ns_ attach-agent $node_(n3) $rcvr3 $ns_ at 0.3 "$cbr0 start" $ns_ at 0.3 "$node_(n1) join-group $rcvr1 $grp0" $ns_ at 0.3 "$node_(n0) join-group $rcvr0 $grp0" $ns_ at 0.3 "$node_(n3) join-group $rcvr3 $grp0" $ns_ at 0.3 "$node_(n2) join-group $rcvr2 $grp0" $ns_ at 1.1 "$self finish [list $rcvr0 $rcvr1 $rcvr2 $rcvr3]" $ns_ run}Class Test/Mixmode7 -superclass TestSuiteTest/Mixmode7 instproc init net { $self instvar defNet_ test_ net_ set defNet_ net4 set test_ Mixmode7 set net_ $net $self next}Test/Mixmode7 instproc run {} { $self instvar ns_ node_ testName_ $ns_ detailed-duplex-link $node_(n0) $node_(n1) $ns_ detailed-duplex-link $node_(n1) $node_(n2) $ns_ detailed-duplex-link $node_(n1) $node_(n3) set grp0 [Node allocaddr] set mproto CtrMcast set mrthandle [$ns_ mrtproto $mproto {}] if {$mrthandle != ""} { $ns_ at 0.01 "$mrthandle switch-treetype $grp0" } set udp0 [new Agent/UDP] $ns_ attach-agent $node_(n2) $udp0 $udp0 set dst_addr_ $grp0 $udp0 set dst_port_ 0 set cbr0 [new Application/Traffic/CBR] $cbr0 attach-agent $udp0 $ns_ create-session $node_(n2) $udp0 set rcvr0 [new Agent/LossMonitor] $ns_ attach-agent $node_(n0) $rcvr0 set rcvr1 [new Agent/LossMonitor] $ns_ attach-agent $node_(n1) $rcvr1 set rcvr2 [new Agent/LossMonitor] $ns_ attach-agent $node_(n2) $rcvr2 set rcvr3 [new Agent/LossMonitor] $ns_ attach-agent $node_(n3) $rcvr3 $ns_ at 0.3 "$cbr0 start" $ns_ at 0.3 "$node_(n1) join-group $rcvr1 $grp0" $ns_ at 0.3 "$node_(n0) join-group $rcvr0 $grp0" $ns_ at 0.3 "$node_(n3) join-group $rcvr3 $grp0" $ns_ at 0.3 "$node_(n2) join-group $rcvr2 $grp0" $ns_ at 1.1 "$self finish [list $rcvr0 $rcvr1 $rcvr2 $rcvr3]" $ns_ run}# Testing group join for mix-mode sim in a 6-node topologyClass Test/Mixmode8 -superclass TestSuiteTest/Mixmode8 instproc init net { $self instvar net_ defNet_ test_ set defNet_ net6 set test_ Mixmode8 set net_ $net $self next}Test/Mixmode8 instproc run {} { $self instvar ns_ node_ testName_ $ns_ detailed-duplex-link $node_(n0) $node_(n2) $ns_ detailed-duplex-link $node_(n1) $node_(n3) $ns_ detailed-duplex-link $node_(n2) $node_(n4) set grp0 [Node allocaddr] set mproto CtrMcast set mrthandle [$ns_ mrtproto $mproto {}] if {$mrthandle != ""} { $ns_ at 0.01 "$mrthandle switch-treetype $grp0" } set udp0 [new Agent/UDP] $ns_ attach-agent $node_(n0) $udp0 set cbr0 [new Application/Traffic/CBR] $cbr0 attach-agent $udp0 $udp0 set dst_addr_ $grp0 $udp0 set dst_port_ 0 $ns_ create-session $node_(n0) $udp0 set rcvr0 [new Agent/LossMonitor] set rcvr1 [new Agent/LossMonitor] set rcvr2 [new Agent/LossMonitor] set rcvr3 [new Agent/LossMonitor] set rcvr4 [new Agent/LossMonitor] set rcvr5 [new Agent/LossMonitor] $ns_ attach-agent $node_(n0) $rcvr0 $ns_ attach-agent $node_(n1) $rcvr1 $ns_ attach-agent $node_(n2) $rcvr2 $ns_ attach-agent $node_(n3) $rcvr3 $ns_ attach-agent $node_(n4) $rcvr4 $ns_ attach-agent $node_(n5) $rcvr5 $ns_ at 0.2 "$node_(n0) join-group $rcvr0 $grp0" $ns_ at 0.2 "$node_(n1) join-group $rcvr1 $grp0" $ns_ at 0.2 "$node_(n2) join-group $rcvr2 $grp0" $ns_ at 0.2 "$node_(n3) join-group $rcvr3 $grp0" $ns_ at 0.2 "$node_(n4) join-group $rcvr4 $grp0" $ns_ at 0.2 "$node_(n5) join-group $rcvr5 $grp0" $ns_ at 0.1 "$cbr0 start" $ns_ at 1.6 "$self finish [list $rcvr0 $rcvr1 $rcvr2 $rcvr3 \$rcvr4 $rcvr5]" $ns_ run}# Testing loss dependency for mix-mode sim in a 6-node topologyClass Test/Mixmode9 -superclass TestSuiteTest/Mixmode9 instproc init net { $self instvar net_ defNet_ test_ set defNet_ net6 set test_ Mixmode9 set net_ $net $self next}Test/Mixmode9 instproc run {} { $self instvar ns_ node_ testName_ $ns_ detailed-duplex-link $node_(n1) $node_(n3) $ns_ detailed-duplex-link $node_(n2) $node_(n5) set grp0 [Node allocaddr] set mproto CtrMcast set mrthandle [$ns_ mrtproto $mproto {}] if {$mrthandle != ""} { $ns_ at 0.01 "$mrthandle switch-treetype $grp0" } set udp0 [new Agent/UDP] $udp0 set ttl_ 3 $ns_ attach-agent $node_(n0) $udp0 $udp0 set dst_addr_ $grp0 $udp0 set dst_port_ 0 set cbr0 [new Application/Traffic/CBR] $cbr0 attach-agent $udp0 $ns_ create-session $node_(n0) $udp0 set rcvr0 [new Agent/LossMonitor] set rcvr1 [new Agent/LossMonitor] set rcvr2 [new Agent/LossMonitor] set rcvr3 [new Agent/LossMonitor] set rcvr4 [new Agent/LossMonitor] set rcvr5 [new Agent/LossMonitor] $ns_ attach-agent $node_(n0) $rcvr0 $ns_ attach-agent $node_(n1) $rcvr1 $ns_ attach-agent $node_(n2) $rcvr2 $ns_ attach-agent $node_(n3) $rcvr3 $ns_ attach-agent $node_(n4) $rcvr4 $ns_ attach-agent $node_(n5) $rcvr5 $ns_ at 0.2 "$node_(n0) join-group $rcvr0 $grp0" $ns_ at 0.2 "$node_(n1) join-group $rcvr1 $grp0" $ns_ at 0.2 "$node_(n2) join-group $rcvr2 $grp0" $ns_ at 0.2 "$node_(n3) join-group $rcvr3 $grp0" $ns_ at 0.2 "$node_(n4) join-group $rcvr4 $grp0" $ns_ at 0.2 "$node_(n5) join-group $rcvr5 $grp0" set loss_module1 [new SelectErrorModel] $loss_module1 drop-packet 2 20 1 $loss_module1 drop-target [$ns_ set nullAgent_] set loss_module2 [new SelectErrorModel] $loss_module2 drop-packet 2 10 1 $loss_module2 drop-target [$ns_ set nullAgent_] set loss_module3 [new SelectErrorModel] $loss_module3 drop-packet 2 10 1 $loss_module3 drop-target [$ns_ set nullAgent_] $ns_ insert-loss $loss_module1 $node_(n0) $node_(n1) $ns_ insert-loss $loss_module2 $node_(n1) $node_(n3) $ns_ insert-loss $loss_module3 $node_(n0) $node_(n2) $ns_ at 0.3 "$cbr0 start" $ns_ at 1.6 "$self finish [list $rcvr0 $rcvr1 $rcvr2 $rcvr3 \$rcvr4 $rcvr5]" $ns_ run}# Testing for detailed-session-detailed mix-mode sim in a 10-node topologyClass Test/Mixmode10 -superclass TestSuiteTest/Mixmode10 instproc init net { $self instvar net_ defNet_ test_ set defNet_ net10 set test_ Mixmode10 set net_ $net $self next}Test/Mixmode10 instproc run {} { $self instvar ns_ node_ testName_ $ns_ detailed-duplex-link $node_(n0) $node_(n1) $ns_ detailed-duplex-link $node_(n3) $node_(n6) set grp0 [Node allocaddr] set mproto CtrMcast set mrthandle [$ns_ mrtproto $mproto {}] if {$mrthandle != ""} { $ns_ at 0.01 "$mrthandle switch-treetype $grp0" } set udp0 [new Agent/UDP] $ns_ attach-agent $node_(n0) $udp0 $udp0 set dst_addr_ $grp0 $udp0 set dst_port_ 0 set cbr0 [new Application/Traffic/CBR] $cbr0 attach-agent $udp0 set sessionhelper [$ns_ create-session $node_(n0) $udp0] set rcvr0 [new Agent/LossMonitor] set rcvr1 [new Agent/LossMonitor] set rcvr2 [new Agent/LossMonitor] set rcvr3 [new Agent/LossMonitor] set rcvr4 [new Agent/LossMonitor] set rcvr5 [new Agent/LossMonitor] set rcvr6 [new Agent/LossMonitor] set rcvr7 [new Agent/LossMonitor] set rcvr8 [new Agent/LossMonitor] set rcvr9 [new Agent/LossMonitor] $ns_ attach-agent $node_(n0) $rcvr0 $ns_ attach-agent $node_(n1) $rcvr1 $ns_ attach-agent $node_(n2) $rcvr2 $ns_ attach-agent $node_(n3) $rcvr3 $ns_ attach-agent $node_(n4) $rcvr4 $ns_ attach-agent $node_(n5) $rcvr5 $ns_ attach-agent $node_(n6) $rcvr6 $ns_ attach-agent $node_(n7) $rcvr7 $ns_ attach-agent $node_(n8) $rcvr8 $ns_ attach-agent $node_(n9) $rcvr9 $ns_ at 0.2 "$node_(n0) join-group $rcvr0 $grp0" $ns_ at 0.2 "$node_(n1) join-group $rcvr1 $grp0" $ns_ at 0.2 "$node_(n2) join-group $rcvr2 $grp0" $ns_ at 0.2 "$node_(n3) join-group $rcvr3 $grp0" $ns_ at 0.2 "$node_(n4) join-group $rcvr4 $grp0" $ns_ at 0.2 "$node_(n5) join-group $rcvr5 $grp0" $ns_ at 0.2 "$node_(n6) join-group $rcvr6 $grp0" $ns_ at 0.2 "$node_(n7) join-group $rcvr7 $grp0" $ns_ at 0.2 "$node_(n8) join-group $rcvr8 $grp0" $ns_ at 0.2 "$node_(n9) join-group $rcvr9 $grp0" $ns_ at 0.1 "$cbr0 start" $ns_ at 1.6 "$self finish [list $rcvr0 $rcvr1 $rcvr2 $rcvr3 \$rcvr4 $rcvr5 $rcvr6 $rcvr7 $rcvr8 $rcvr9]" $ns_ run}TestSuite runTest
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -