[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[ns] Reg: Error in running a program



Hi,
  I am getting the foll error for this pgm...there are 2 nodes connected to 
a sink via  cbq links. Can someone let me know how to correct the error as 
the line number is not provided ..

ns: _o17 unknown-flow 0 2 55:
    (_o17 cmd line 1)
    invoked from within
"_o17 cmd unknown-flow 0 2 55"
    invoked from within
"catch "$self cmd $args" ret"
    (procedure "_o17" line 2)
    (SplitObject unknown line 2)
    invoked from within
"_o17 unknown-flow 0 2 55"


The code for the same is below:
Simulator instproc get-link { node1 node2 } {
    $self instvar link_
    set id1 [$node1 id]
    set id2 [$node2 id]
    return $link_($id1:$id2)
}
#Procedure for naming the link as an object (taken from Stoica)


Simulator instproc get-queue {node1 node2 } {
    global ns
    set l [$ns get-link $node1 $node2]
    set q [$l queue]
    return $q
}
#Procedure for naming the queue as an object (taken from Stoica)


set cbqalgorithm 1
#Type of CBQ algorithm
#0 - Ancestor-only
#1 - Top link-sharing
#2 - Formal link-sharing

set cbq_type CBQ/WRR
#set cbq_type CBQ
set stopTime 5
#Duration of the simulation

set Mbps 1500
#set queue_audio 38
#100ms za 1500Kbit/s
#set queue_data 38


set queue_audio 26
#100ms za 1050Kbit/s
set queue_data 12
#100ms za 450Kbit/s

#set queue_audio 30
##100ms za 1200Kbit/s
#set queue_data 8
##100ms za 300Kbit/s


#############################################
set ns [new Simulator]
ns-random 8
#############################################
set f [open sale4.tr w]
$ns trace-all $f
#Trace all in sale1.tr file


proc make_queue { dim classe_cbq } {
set q [new Queue/DropTail]
$q set limit_ $dim
$classe_cbq install-queue $q
}
#Makes FIFO queue for each CBQ class


proc build-cbr { src dest pktSize interval random id startTime } {
    global ns
    set cbr [new Agent/CBR]
    $ns attach-agent $src $cbr

    #connect cbr sink to cbr null
    $ns connect $cbr $dest

    # init. cbr parameters
    if {$pktSize > 0} {
        $cbr set packetSize_ $pktSize
    }
    $cbr set fid_      $id
    $cbr set interval_ $interval
    $cbr set random_   $random
    $ns at $startTime "$cbr start"

    return $cbr
}

proc build-on-off-pareto { src dest pktSize burstTime idleTime rate id
startTime shp} {
    global ns

    set cbr [new Agent/CBR/UDP]
    $ns attach-agent $src $cbr

    $ns connect $cbr $dest

    set exp1 [new Traffic/Pareto]
    $exp1 set packet-size $pktSize
    $exp1 set burst-time  $burstTime
    $exp1 set idle-time   $idleTime
    $exp1 set rate        $rate
    $exp1 set shape       $shp
    $cbr  attach-traffic $exp1

    $ns at $startTime "$cbr start"
    $cbr set fid_      $id
    return $cbr
}

#proc attach-expoo-traffic { node sink pktSize burst idle id start rate }{
proc attach-expoo-traffic { node id } {
    set ns [Simulator instance]
    set source [new Agent/UDP]
    $source set fid_ $id
    $ns attach-agent $node $source

#    set traffic [new Traffic/Expoo]

#    $traffic set packet-size $pktSize
#    $traffic set burst-time $burst
#    $traffic set idle-time $idle
#    $traffic set rate $rate
#    $traffic attach-agent $source
#    $ns connect $source $sink
#    $ns at $start "$traffic start"

    return $source
}

proc attach-traffic-sale {source traffic sink pktSize burst idle start
rate } {
#    set traffic [new Traffic/Expoo]

    set ns [Simulator instance]

    $traffic set packet-size $pktSize
    $traffic set burst-time $burst
    $traffic set idle-time $idle
    $traffic set rate $rate
    $traffic attach-agent $source
    $ns connect $source $sink
    $ns at $start "$traffic start"
}


proc create_graph { stopTime cbqType} {

	global s0 r0 s1 ns Mbps cbqalgorithm

	set s0 [$ns node]
	set s1 [$ns node]
        set r0 [$ns node]
	$ns simplex-link $s0 $r0 4.5Mb 10ms $cbqType
        $ns simplex-link $s1 $r0 4.5Mb 10ms $cbqType

	set cbqLink [$ns get-link $s0 $r0]
        set cbqLink [$ns get-link $s1 $r0]
   #	[$cbqLink classifier] resize 2000
      [$cbqLink queue] algorithm $cbqalgorithm
}

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


	create_graph $stopTime $cbq_type

	set link [$ns get-link $s0 $r0]
        set link [$ns get-link $s1 $r0]

	set topClass [new CBQClass]
	set audioClass [new CBQClass]
	set dataClass [new CBQClass]

	$topClass set maxpkt_ 100
      $audioClass set maxpkt_ 100
      $dataClass set maxpkt_ 100



#set topClass [ns_create_class none    none      1.0   auto     -1.0 8
#1      0]
#		# set $cbqclass  [parent_ okborrow_ allot_ maxidle_
#?   Prior level_ extradelay_]
#      set audioClass [ns_create_class1 $topClass $topClass 1.0 auto -1.0
#1 0 0 $Mbps]
#	set dataClass [ns_create_class1 $topClass $topClass 0.0 auto -1.0
#2 \
#		0 0 $Mbps]
# This is configuration for SP scheduling (audClass = prior1, DataClass =
#prior2)


##SP
##parent, okborrow, allot, maxidle, priority, level, extradelay
#	$topClass setparams none 0 1.0 0 8 2 0
#      $audioClass setparams $topClass 1 1.0 1.0 0 1 0
#      $dataClass setparams $topClass 1 0.0 1.0 1 1 0

#WFQ
#parent, okborrow, allot, maxidle, priority, level, extradelay
	$topClass setparams none 0 1.0 0 8 2 0

      $audioClass setparams $topClass 1 0.7 1.0 2 1 0.0
      $dataClass setparams $topClass 1 0.3 1.0 2 1  0.0

	make_queue $queue_audio $audioClass
	make_queue $queue_data $dataClass

	$link insert $topClass
	$link insert $audioClass
	$link insert $dataClass


set null(0) [new Agent/Null]
$ns attach-agent $r0 $null(0)

set null(1) [new Agent/Null]
$ns attach-agent $r0 $null(1)
#######################################################################
#C1 68
#C2 128 RADI za EDF (0.02; 0.06) i WFQ !!!!!!!!!!
#		    (0.02; 0.05)
#		    (0.02; 0.04)
#		    (0.02; 0.07)
#		    (0.02; 0.08)
#		    (0.02; 0.03) NO_INFO
#		    (0.05; 0.09) SUPER
#######################################################################

#######################################################################
#class1
#32 za 0.7
for {set i 1} {$i < 68} {incr i} {
set source($i) [attach-expoo-traffic $s0 $i]
set exp($i) [new Traffic/Expoo]
#attach-traffic-sale $source($i) $exp($i) $null(0) 500 0.36 0.36 0.0 32k
attach-traffic-sale $source($i) $exp($i) $null(0) 500 0.18 0.54 0.0 64k
}


#class2
#115 za 0.3
for {set i 101} {$i < 124} {incr i} {
set source($i) [attach-expoo-traffic $s0 $i]
set exp($i) [new Traffic/Expoo]
#attach-traffic-sale $source($i) $exp($i) $null(0) 500 0.36 0.36 0.0 32k
attach-traffic-sale $source($i) $exp($i) $null(0) 500 0.18 0.54 0.0 64k
}

for {set i 1} {$i < 68} {incr i} {
set source($i) [attach-expoo-traffic $s1 $i]
set exp($i) [new Traffic/Expoo]
#attach-traffic-sale $source($i) $exp($i) $null(0) 500 0.36 0.36 0.0 32k
attach-traffic-sale $source($i) $exp($i) $null(0) 500 0.18 0.54 0.0 64k
}

#class2
#115 za 0.3
for {set i 101} {$i < 124} {incr i} {
set source($i) [attach-expoo-traffic $s1 $i]
set exp($i) [new Traffic/Expoo]
#attach-traffic-sale $source($i) $exp($i) $null(0) 500 0.36 0.36 0.0 32k
attach-traffic-sale $source($i) $exp($i) $null(0) 500 0.18 0.54 0.0 64k
}
#######################################################################


$link bind $audioClass 1 100
$link bind $dataClass 101 200

$ns at $stopTime "finish"
$ns run

Thanks,
Preethi.





_________________________________________________________________________
Get Your Private, Free E-mail from MSN Hotmail at http://www.hotmail.com.

Share information about yourself, create your own public profile at 
http://profiles.msn.com.