⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 test-suite-mip.tcl

📁 跑leach需要的
💻 TCL
字号:
#Agent/TCP set tcpTick_ 0.1# The default for tcpTick_ is being changed to reflect a changing reality.Agent/TCP set rfc2988_ false# The default for rfc2988_ is being changed to true.# FOR UPDATING GLOBAL DEFAULTS:Agent/TCP set useHeaders_ false# The default is being changed to useHeaders_ true.Agent/TCP set windowInit_ 1# The default is being changed to 2.Agent/TCP set singledup_ 0# The default is being changed to 1# Copyright (c) 1998 University of Southern California.# All rights reserved.                                            #                                                                # Redistribution and use in source and binary forms are permitted# provided that the above copyright notice and this paragraph are# duplicated in all such forms and that any documentation, advertising# materials, and other materials related to such distribution and use# acknowledge that the software was developed by the University of# Southern California, Information Sciences Institute.  The name of the# University may not be used to endorse or promote products derived from# this software without specific prior written permission.# # THIS SOFTWARE IS PROVIDED "AS IS" AND WITHOUT ANY EXPRESS OR IMPLIED# WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED WARRANTIES OF# MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.# # This test suite is for validating the Mobile IP simulation support# in ns.## To run all tests:  test-all-mip## To run individual tests:# ns test-suite-mip.tcl mip-adv-one# ns test-suite-mip.tcl mip-adv-zero# ns test-suite-mip.tcl mip-adv-multi# ...## To view a list of available tests to run with this script:# ns test-suite-mip.tcl#Agent/TCP set minrto_ 0# The default is being changed to minrto_ 1Agent/TCP set syn_ falseAgent/TCP set delay_growth_ false# In preparation for changing the default values for syn_ and delay_growth_.Class TestSuite# Mobile IP test - simple caseClass Test/mip-adv-one -superclass TestSuite# Mobile IP test - MH hears no advertisements from either HA or FA and # starts sending solicitations for a period of timeClass Test/mip-adv-zero -superclass TestSuite# Mobile IP test - MH hears multiple advertisements for a period of timeClass Test/mip-adv-multi -superclass TestSuiteproc usage {} {	global argv0	puts stderr "usage: ns $argv0 <tests>"	puts stderr "Valid tests are: mip-adv-one mip-adv-zero mip-adv-multi"	exit 1}TestSuite instproc finish {} {    $self instvar ns_    global quiet        $ns_ flush-trace    if { !$quiet } {	puts "running nam..."	exec ../../../nam-1/nam temp.rands.nam &    }    exit 0}TestSuite instproc init {} {    $self instvar ns_ testName_ lan_ node_ source_ tcp_    set ns_ [new Simulator]    $ns_ instvar link_        $ns_ trace-all [open temp.rands w]    $ns_ namtrace-all [open temp.rands.nam w]        set node_(s) [$ns_ node]    set node_(g) [$ns_ node]    Simulator set node_factory_ Node/MIPBS    set node_(ha) [$ns_ node]    $node_(ha) shape "hexagon"    set node_(fa) [$ns_ node]    $node_(fa) shape "hexagon"    Simulator set node_factory_ Node/MIPMH    set node_(mh) [$ns_ node]    $node_(mh) shape "circle"        $ns_ duplex-link $node_(s) $node_(g) 2Mb 5ms DropTail     $ns_ duplex-link-op $node_(s) $node_(g) orient right        $ns_ duplex-link $node_(g) $node_(ha) 2Mb 5ms DropTail    $ns_ duplex-link-op $node_(g) $node_(ha) orient up    $ns_ duplex-link $node_(g) $node_(fa) 2Mb 5ms DropTail    $ns_ duplex-link-op $node_(g) $node_(fa) orient right-up    $ns_ duplex-link $node_(ha) $node_(mh) 2Mb 5ms DropTail     $ns_ duplex-link-op $node_(ha) $node_(mh) orient right    $ns_ duplex-link $node_(fa) $node_(mh) 4Mb 5ms DropTail     $ns_ duplex-link-op $node_(fa) $node_(mh) orient left    set mhid [$node_(mh) id]    set haid [$node_(ha) id]    set faid [$node_(fa) id]    [$node_(ha) set regagent_] add-ads-bcast-link $link_($haid:$mhid)    [$node_(fa) set regagent_] add-ads-bcast-link $link_($faid:$mhid)    [$node_(mh) set regagent_] set home_agent_ $haid    [$node_(mh) set regagent_] add-sol-bcast-link $link_($mhid:$haid)    [$node_(mh) set regagent_] add-sol-bcast-link $link_($mhid:$faid)        $link_($mhid:$faid) dynamic    $link_($faid:$mhid) dynamic    $link_($mhid:$faid) down    $link_($faid:$mhid) down    $link_($mhid:$haid) dynamic    $link_($haid:$mhid) dynamic            $ns_ at 0.0 "$node_(ha) label HomeAgent"    $ns_ at 0.0 "$node_(fa) label ForeignAgent"    $ns_ at 0.0 "$node_(mh) label MobileHost"    set tcp_ [$ns_ create-connection TCP/Reno \	    $node_(s) TCPSink $node_(mh) 0]    set source_ [$tcp_ attach-source FTP]}TestSuite instproc run {} {    $self instvar ns_ source_    $ns_ at 0.0 "$source_ start"    $ns_ at 20.0 "$self finish"    $ns_ run}Test/mip-adv-one instproc init {} {    $self instvar ns_ testName_ lan_ node_ source_ tcp_    set testName_ mip-adv-one    $self next    $ns_ instvar link_    $ns_ at 0.0 "$node_(ha) color gold"    $ns_ at 0.0 "$node_(mh) color gold"	    $ns_ rtmodel-at 0.1 down $node_(mh) $node_(fa)        set swtm [expr 3.0+(20.0-3.0)/4.0]	$ns_ rtmodel-at $swtm down $node_(mh) $node_(ha)	$ns_ rtmodel-at $swtm up $node_(mh) $node_(fa)	$ns_ at $swtm "$node_(ha) color black"	$ns_ at $swtm "$node_(fa) color gold"	set swtm [expr 3.0+(20.0-3.0)/2.0]	$ns_ rtmodel-at $swtm down $node_(mh) $node_(fa)	$ns_ rtmodel-at $swtm up $node_(mh) $node_(ha)	$ns_ at $swtm "$node_(ha) color gold"	$ns_ at $swtm "$node_(fa) color black"	set swtm [expr 3.0+(20.0-3.0)*3.0/4.0]	$ns_ rtmodel-at $swtm down $node_(mh) $node_(ha)	$ns_ rtmodel-at $swtm up $node_(mh) $node_(fa)	$ns_ at $swtm "$node_(ha) color black"	$ns_ at $swtm "$node_(fa) color gold"}Test/mip-adv-zero instproc init {} {        $self instvar ns_ testName_ lan_ node_ source_ tcp_        set testName_ mip-adv-zero        $self next	$ns_ instvar link_	$ns_ at 0.0 "$node_(ha) color gold"	$ns_ at 0.0 "$node_(mh) color gold"	$ns_ rtmodel-at 0.1 down $node_(mh) $node_(fa)        #MH cannot hear advertisements from either HA or FA	set swtm [expr 3.0+(20.0-3.0)/4.0]         $ns_ rtmodel-at $swtm down $node_(mh) $node_(ha)	$ns_ at $swtm "$node_(ha) color black"	$ns_ at $swtm "$node_(fa) color black"        set swtm [expr 3.0+(20.0-3.0)/4.0+2.0]   	$ns_ rtmodel-at $swtm up $node_(mh) $node_(fa)	$ns_ at $swtm "$node_(ha) color black"	$ns_ at $swtm "$node_(fa) color gold"	set swtm [expr 3.0+(20.0-3.0)/2.0]	$ns_ rtmodel-at $swtm down $node_(mh) $node_(fa)	$ns_ rtmodel-at $swtm up $node_(mh) $node_(ha)	$ns_ at $swtm "$node_(ha) color gold"	$ns_ at $swtm "$node_(fa) color black"	set swtm [expr 3.0+(20.0-3.0)*3.0/4.0]	$ns_ rtmodel-at $swtm down $node_(mh) $node_(ha)	$ns_ rtmodel-at $swtm up $node_(mh) $node_(fa)	$ns_ at $swtm "$node_(ha) color black"	$ns_ at $swtm "$node_(fa) color gold"}Test/mip-adv-multi instproc init {} {        $self instvar ns_ testName_ lan_ node_ source_ tcp_        set testName_ mip-adv-multi        $self next        $ns_ instvar link_	$ns_ at 0.0 "$node_(ha) color gold"	$ns_ at 0.0 "$node_(mh) color gold"	$ns_ rtmodel-at 0.1 down $node_(mh) $node_(fa)        #MH can hear advertisements from both HA and FA        set swtm [expr 3.0+(20.0-3.0)/4.0] 	$ns_ rtmodel-at $swtm up $node_(mh) $node_(fa)	$ns_ at $swtm "$node_(fa) color gold"        #MH can hear advertisements from only FA now        set swtm [expr 3.0+(20.0-3.0)/4.0+3.0]	$ns_ rtmodel-at $swtm down $node_(mh) $node_(ha)	$ns_ at $swtm "$node_(ha) color black"	$ns_ at $swtm "$node_(fa) color gold"        #MH can hear advertisements from HA only now	set swtm [expr 3.0+(20.0-3.0)/2.0+1.0]	$ns_ rtmodel-at $swtm down $node_(mh) $node_(fa)	$ns_ rtmodel-at $swtm up $node_(mh) $node_(ha)	$ns_ at $swtm "$node_(ha) color gold"	$ns_ at $swtm "$node_(fa) color black"        #MH can hear advertisements from only FA now	set swtm [expr 3.0+(20.0-3.0)*3.0/4.0]	$ns_ rtmodel-at $swtm down $node_(mh) $node_(ha)	$ns_ rtmodel-at $swtm up $node_(mh) $node_(fa)	$ns_ at $swtm "$node_(ha) color black"	$ns_ at $swtm "$node_(fa) color gold"}proc runtest {arg} {    global quiet    set quiet 0    set b [llength $arg]    if {$b == 1} {	set test $arg    } elseif {$b == 2} {	set test [lindex $arg 0]	set q [lindex $arg 1]	if { $q == "QUIET" } {	    set quiet 1	} else usage    } else usage        switch $test {	mip-adv-one -	mip-adv-zero -	mip-adv-multi {	    set t [new Test/$test]	}	default {	    puts stderr "Unknown test $test"	    exit 1	}    }    $t run}global argv arg0runtest $argv

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -