sir,
   When  i am running  below  tcl script  it gives  error:"Flow 1
starts at time 0.000000

      Segmentation fault (core dumped)"
   but  in other tcl script  is work better  than  below tcl
script.......................................
   I am not  understand  what error  in below tcl script when nam is
work properly.


-----------------------------------mkc-T2.tcl------------------------------------------------------------------------------------

# create scheduler
set ns [new Simulator]

set f [open out3.tr w]
$ns trace-all $f
set nf [open out3.nam w]
$ns namtrace-all $nf
# create topology

# set number of flows
set N 4

# set the output file
for {set i 1} {$i<=$N} {incr i} {
        set out_($i) [open out$i.txt w]
}

# set the physical source and sink

for {set i 1} {$i <= $N} {incr i} {
        set R_($i) [$ns node]
}

$ns duplex-link $R_(1) $R_(2) 20Mb 10ms MKCQueue
set mkcq_(1) [[$ns link $R_(1) $R_(2)] queue]
$mkcq_(1) set C 20000000
$mkcq_(1) set T 0.1
$mkcq_(1) set rid 1

$ns duplex-link $R_(2) $R_(4) 10Mb 1000ms MKCQueue
set mkcq_(2) [[$ns link $R_(2) $R_(4)] queue]
$mkcq_(2) set C 17000000
$mkcq_(2) set T 0.1
$mkcq_(2) set rid 2

$ns duplex-link $R_(4) $R_(3) 20Mb 10ms MKCQueue
set mkcq_(4) [[$ns link $R_(4) $R_(3)] queue]
$mkcq_(4) set C 20000000
$mkcq_(4) set T 0.1
$mkcq_(4) set rid 3

$ns duplex-link $R_(3) $R_(1) 10Mb 1000ms MKCQueue
set mkcq_(3) [[$ns link $R_(3) $R_(1)] queue]
$mkcq_(3) set C 17000000
$mkcq_(3) set T 0.1
$mkcq_(3) set rid 4


#create and attach BWCSink agents
set Snk_(2) [new Agent/MKCSink]
$Snk_(2) set packetSize_ 40
$ns attach-agent $R_(2) $Snk_(2)

set Snk_(1) [new Agent/MKCSink]
$Snk_(1) set packetSize_ 40
$ns attach-agent $R_(4) $Snk_(1)

set Snk_(4) [new Agent/MKCSink]
$Snk_(4) set packetSize_ 40
$ns attach-agent $R_(3) $Snk_(4)

set Snk_(3) [new Agent/MKCSink]
$Snk_(3) set packetSize_ 40
$ns attach-agent $R_(1) $Snk_(3)


set Src_(2) [new Agent/MKC]
$ns attach-agent $R_(1) $Src_(2)
$Src_(2) set alpha_ 200000
$Src_(2) set beta_ 0.5
$Src_(2) set packetSize_ 200
$Src_(2) set init_rate_ 100000
$Src_(2) set fid_ 2

set Src_(1) [new Agent/MKC]
$ns attach-agent $R_(1) $Src_(1)
$Src_(1) set alpha_ 200000
$Src_(1) set beta_ 0.5
$Src_(1) set packetSize_ 200
$Src_(1) set init_rate_ 100000
$Src_(1) set fid_ 1


set Src_(4) [new Agent/MKC]
$ns attach-agent $R_(4) $Src_(4)
$Src_(4) set alpha_ 200000
$Src_(4) set beta_ 0.5
$Src_(4) set packetSize_ 200
$Src_(4) set init_rate_ 100000
$Src_(4) set fid_ 4


set Src_(3) [new Agent/MKC]
$ns attach-agent $R_(4) $Src_(3)
$Src_(3) set alpha_ 200000
$Src_(3) set beta_ 0.5
$Src_(3) set packetSize_ 200
$Src_(3) set init_rate_ 100000
$Src_(3) set fid_ 3


# connect each pair of sender and receiver
for {set i 1} {$i<=$N} {incr i} {
        $ns connect $Src_($i) $Snk_($i)
}

$ns cost $R_(4) $R_(3) 1
$ns cost $R_(4) $R_(2) 10

$ns compute-routes
set routelogic [$ns get-routelogic]

# schedule the events

set starttime_(1) 0
set starttime_(2) 30
set starttime_(3) 60
set starttime_(4) 90
$ns at 0 "$Src_(1) start"
$ns at 30 "$Src_(2) start"
$ns at 60 "$Src_(3) start"
$ns at 90 "$Src_(4) start"

for {set i 1} {$i<=$N} {incr i} {
        $ns at $starttime_($i) "record $Src_($i) $out_($i)"
}

set tfinish 500

for {set i 1} {$i<=$N} {incr i} {
        $ns at $tfinish "$Src_($i) stop"
}

$ns at $tfinish "finish"

proc record {bwcsrc file} {
        global ns f nf
        set step 0.1
        set now [$ns now]
        set rate_ [$bwcsrc set rate_]
        set pkt_loss_ [$bwcsrc set pkt_loss_]
        puts $file "$now $rate_ $pkt_loss_"
        $ns at [expr $now+$step] "record $bwcsrc $file"
}

proc finish {} {
        global ns f nf
        $ns flush-trace
        close $f
        close $nf

        puts "running nam...."
        exec nam out3.nam &
        exit 0
}
$ns run



plz  anybody   check  above tcl script  and  find  out  where is  the
error.....and  how to solve this error.

thank you

Reply via email to