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

Re: [ns] [Q] CBQ/WRR Error



> Hi, when I compile the following simple example about CBQ/WRR, I have
> the error message below the program. Can you explain the reason?
> Thank you.

This error comes from the classifier not from the scheduler.
How is your complete script ?
Are you using rtproto DV ?
You are using a simplex-link for CBQ, but maybe there are packets flowing
in the opposite direction (ex.: routing packtes).

Carlos

> 
> W.H. Cho
> 
> ----------------------------- EX Program --------------------------
> set ns [new Simulator]
> 
> set n3 [$ns node]
> set n4 [$ns node]
> set n5 [$ns node]
> 
> $ns simplex-link $n3 $n4 10Mb 10ms CBQ/WRR
> $ns simplex-link $n4 $n5 10Mb 10ms CBQ/WRR
> #------------------------------------
> set cbqlinkA [$ns link $n3 $n4]
> set topclassA [new CBQClass]
> $topclassA setparams none 0 1 auto 8 2 0
> 
> set class1A [new CBQClass]
> set queue1A [new Queue/DropTail]
> $class1A install-queue $queue1A
> $class1A setparams $topclassA true 0.5 auto 1 1 0
> 
> set class2A [new CBQClass]
> set queue2A [new Queue/DropTail]
> $class2A install-queue $queue2A
> $class2A setparams $topclassA true 0.5 auto 2 1 0
> 
> $cbqlinkA insert $topclassA
> $cbqlinkA insert $class1A
> $cbqlinkA insert $class2A
> 
> $cbqlinkA bind $class1A 1;
> $cbqlinkA bind $class2A 2;
> #----------------------------------
> set cbqlinkB [$ns link $n4 $n5] 
> set topclassB [new CBQClass] 
> $topclassB setparams none 0 1 auto 8 2 0 
>  
> set class1B [new CBQClass] 
> set queue1B [new Queue/DropTail] 
> $class1B install-queue $queue1B 
> $class1B setparams $topclassB true 0.5 auto 1 1 0 
> 
> set class2B [new CBQClass] 
> set queue2B [new Queue/DropTail] 
> $class2B install-queue $queue2B 
> $class2B setparams $topclassB true 0.5 auto 2 1 0 
> 
> $cbqlinkB insert $topclassB 
> $cbqlinkB insert $class1B
> $cbqlinkB insert $class2B 
>  
> $cbqlinkB bind $class1B 1;
> $cbqlinkB bind $class2B 2;
> #---------------------------------------------
> set udp1 [new Agent/UDP]
> $ns attach-agent $n3 $udp1
> set sink1 [new Agent/LossMonitor]
> $ns attach-agent $n5 $sink1
> $ns connect $udp1 $sink1
> $udp1 set fid_ 1
> 
> set cbr1 [new Application/Traffic/CBR]
> $cbr1 attach-agent $udp1
> $cbr1 set packet_size_ 500
> $cbr1 set rate_ 500Kb
> 
> set udp2 [new Agent/UDP]
> $ns attach-agent $n3 $udp2
> set sink2 [new Agent/LossMonitor]
> $ns attach-agent $n5 $sink2
> $ns connect $udp2 $sink2
> $udp2 set fid_ 2
> 
> set cbr2 [new Application/Traffic/CBR]
> $cbr2 attach-agent $udp2
> $cbr2 set packet_size_ 500
> $cbr2 set rate_ 500Kb
> 
> $ns at 5.0 "$cbr1 start"
> $ns at 5.0 "$cbr2 start"
> 
> $ns at 55.0 "$cbr1 stop"
> $ns at 55.0 "$cbr2 stop"
> 
> $ns run
> 
> ------------------- ERROR Message-----------------------------------
> > ns cc.tcl
> --- Classfier::no-slot{} default handler (tcl/lib/ns-lib.tcl) ---
>         _o27: no target for slot 3
>         _o27 type: Classifier/Hash/Fid
> content dump:
> classifier _o27
>         0 offset
>         0 shift
>         2147483647 mask
>         2 slots
>                 slot 0: _o48 (CBQClass)
>                 slot 1: _o50 (CBQClass)
>         -1 default
> ---------- Finished standard no-slot{} default handler ----------
> 
>