[ns] help building new diffserv module

Gema Torm Bossa gtorm@silver.udg.es
Wed Apr 24 05:19:34 2002


Hello everybody,

I nee help in building a new queue, very similar to RED, with edge and
core also. I have the same structure of files as the diffserv module does,
but only a physical queue.

If I run the tcl code at the bottom I get this error:

	Policer Table:
	Token Bucket policer code point 20 is policed to code point 21.

	    (_o128 cmd line 1)
	    invoked from within
	"_o128 cmd setNumPrec 2"
	    invoked from within
	"catch "$self cmd $args" ret"
	    (procedure "_o128" line 2)
	    (SplitObject unknown line 2)
	    invoked from within
	"$qE2C setNumPrec 2"
	    (file "gema2.tcl" line 85)

So, is able to set everything for first queue qE1C, but not a second time
for qE2C. I,ve seen anything in tcl/lib/ns-...tcl

Any clue of what is missing will be of much help.







the code I use in tcl to call it is:

	$ns duplex-link $s0 $e1 10Mb 5ms DropTail
	$ns duplex-link $s1 $e1 10Mb 5ms DropTail
	$ns simplex-link $e1 $core 10Mb 5ms dsGEMA/edge
	$ns simplex-link $core $e1 10Mb 5ms dsGEMA/core
	$ns simplex-link $core $e2 5Mb 5ms dsGEMA/core
	$ns simplex-link $e2 $core 5Mb 5ms dsGEMA/edge
	$ns duplex-link $core $e2 5Mb 5ms DropTail
	$ns duplex-link $e2 $core 5Mb 5ms DropTail
	$ns duplex-link $e2 $dest 10Mb 5ms DropTail
	...
	set qE1C [[$ns link $e1 $core] queue]
	set qE2C [[$ns link $e2 $core] queue]
	set qC1E [[$ns link $core $e1] queue]
	set qC2E [[$ns link $core $e2] queue]

	$qE1C setNumPrec 2
	$qE1C addPHBEntry 20 0 0
	$qE1C addPHBEntry 21 0 1
	$qE1C addPolicerEntry TokenBucket 20 21
	$qE1C addPolicyEntry [$s0 id] [$dest id] TokenBucket 20 $cir $cbs
	$qE1C addPolicyEntry [$s1 id] [$dest id] TokenBucket 20 $cir $cbs

	$qE1C printPolicerTable

	$qE2C setNumPrec 2
	$qE2C addPHBEntry 20 0 0
	$qE2C addPHBEntry 21 0 1
	$qE2C addPolicerEntry TokenBucket 20 21
	$qE2C addPolicyEntry [$dest id] [$s0 id] TokenBucket 20 $cir $cbs
	$qE2C addPolicyEntry [$dest id] [$s1 id] TokenBucket 20 $cir $cbs

	$qC1E setNumPrec 2
	$qC1E addPHBEntry 20 0 0
	$qC1E addPHBEntry 21 0 1

	$qC2E setNumPrec 2
	$qC2E addPHBEntry 20 0 0
	$qC2E addPHBEntry 21 0 1



Thanks in advance

Gema