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

[ns] about WFQ + multicast



Sir.,
   The following script is written by modifying  ns/tcl/ex/mcast.tcl and

wfq-patch.1.1a/example.tcl. When I run it, it reports an error: flow (Id
) not
registered (in italian). How can I correct it next step? Would you
please point out some other errors about the script for me?

thx

Zhai


========  Script=====
#
# Copyright (c) 1996 Regents of the University of California.
# All rights reserved.
#
# Redistribution and use in source and binary forms, with or without
# modification, are permitted provided that the following conditions
# are met:
# 1. Redistributions of source code must retain the above copyright
#    notice, this list of conditions and the following disclaimer.
# 2. Redistributions in binary form must reproduce the above copyright
#    notice, this list of conditions and the following disclaimer in the

#    documentation and/or other materials provided with the
distribution.
# 3. All advertising materials mentioning features or use of this
software
#    must display the following acknowledgement:
#  This product includes software developed by the MASH Research
#  Group at the University of California Berkeley.
# 4. Neither the name of the University nor of the Research Group may be

#    used to endorse or promote products derived from this software
without
#    specific prior written permission.
#
# THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS''
AND
# ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
# IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
PURPOSE
# ARE DISCLAIMED.  IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE
LIABLE
# FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
CONSEQUENTIAL
# DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE
GOODS
# OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
# HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
STRICT
# LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY
WAY
# OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF

# SUCH DAMAGE.
#
# @(#) $Header: /usr/src/mash/repository/vint/ns-2/tcl/ex/mcast.tcl,v
1.12 1999/09/10 22:08:41 haoboy Exp $
# updated to use -multicast on and allocaddr by Lloyd Wood

#
# Simple multicast test.  It's easiest to verify the
# output with the animator.
# We create a four node start; start a CBR traffic generator in the
center
# and then at node 3 and exercise the join/leave code.
#
# See tcl/ex/newmcast/mcast*.tcl for more mcast example scripts

set ns [new Simulator -multicast on]

set f [open out.tr w]
$ns trace-all $f
$ns namtrace-all [open out.nam w]

$ns color 1 blue
$ns color 2 green

# prune/graft packets
$ns color 30 black
$ns color 31 red

set n0 [$ns node]
set n1 [$ns node]
set n2 [$ns node]
set n3 [$ns node]
set n4 [$ns node]
set n5 [$ns node]
set n6 [$ns node]

# Use automatic layout
$ns duplex-link $n0 $n1 1.5Mb 10ms DropTail

$ns duplex-link $n1 $n2 1.5Mb 10ms WFQ

$ns duplex-link $n1 $n3 1.5Mb 10ms DropTail
$ns duplex-link $n2 $n4 1.5Mb 10ms DropTail
$ns duplex-link $n2 $n6 1.5Mb 10ms DropTail
$ns duplex-link $n1 $n5 1.5Mb 10ms DropTail

$ns duplex-link-op $n0 $n1 orient right
$ns duplex-link-op $n1 $n2 orient right-up
$ns duplex-link-op $n1 $n3 orient right-down
$ns duplex-link-op $n2 $n4 orient right-up
$ns duplex-link-op $n2 $n6 orient up
$ns duplex-link-op $n1 $n5 orient up

$ns duplex-link-op $n1 $n2 queuePos 0.5
$ns duplex-link-op $n1 $n3 queuePos 0.5

# Network Topo:
#
#
#            n5         n6
#            |          |
#            |          |
#            |          |
#  n0--------n1---------n2--------n4
#            |
#            |
#            |
#            n3
#
#
# n0:multicast source, CBR+UDP;
# n0---->n1---->n2---->n4: multicast receiver 1
# n0---->n1---->n3: multicast receiver 2
#
# n5:unicast source,CBR+UDP
# n5---->n1---->n2---->n6: unicast recervier
#
# Link n1---->n2: WFQ
# other links use Droptail.
#
#

# create an instance of the classifier suited for flow aggregation
set cl [new WFQAggregClassifier]

# install the classifier on the WFQ server at node $n0 heading at nt $n1

$ns wfqclassifier-install $n1 $n2 $cl

# in this example we have a flow for each queue but
# more than one flow can be assigned to the same WFQ server queue(PGPS
session)
$cl setqueue 0 3; # fid 0 -> WFQ server queue 3
$cl setqueue 1 4; # fid 1 -> WFQ server queue 4

#we set WFQ server queue weights
$cl setweight 3 .8; # WFQ server queue 3 has weight .8
$cl setlength 3 10; # WFQ server queue 3 has length 10 packets
$cl setweight 4 .2; # WFQ server queue 5 has weight .2
$cl setlength 4 20; # WFQ server queue 5 has length 20 packets

set mproto DM
set mrthandle [$ns mrtproto $mproto {}]
set group0 [Node allocaddr]

set udp0 [new Agent/UDP]
$ns attach-agent $n0 $udp0
$udp0 set fid_ 0; # this is the info used by WFQ classifier
$udp0 set dst_addr_ $group0
$udp0 set dst_port_ 0
$udp0 set class_ 1
set cbr0 [new Application/Traffic/CBR]
$cbr0 set packetSize_ 1000
$cbr0 set interval_ 0.0005
$cbr0 attach-agent $udp0

set rcvr1 [new Agent/LossMonitor]
$ns attach-agent $n4 $rcvr1

set rcvr2 [new Agent/LossMonitor]
$ns attach-agent $n3 $rcvr2


$ns at 0.1 "$n4 join-group $rcvr1 $group0"
$ns at 0.15 "$n3 join-group $rcvr2 $group0"


$ns at 0.1 "$cbr0 start"

set udp1 [new Agent/UDP]
$ns attach-agent $n5 $udp1
$udp1 set fid_ 1; # this is the info used by WFQ classifier
$udp1 set class_ 2
set null0 [new Agent/Null]
$ns attach-agent $n6 $null0
$ns connect $udp1 $null0


set cbr1 [new Application/Traffic/CBR]
$cbr1 set packetSize_ 1000
$cbr1 set interval_ 0.0001
$cbr1 attach-agent $udp1
$ns at 0.12 "$cbr1 start"

puts [$cbr0 set packetSize_]
puts [$cbr0 set interval_]

$ns at 3.0 "finish"

proc finish {} {
 global ns
 $ns flush-trace

 puts "running nam..."
 exec nam out.nam &
 exit 0
}

$ns run

--
If you received the Email, Please give me a confirmation
begin:          vcard
fn:             Zhai Mingyu
n:              ;Zhai Mingyu
adr:            Department of Computer Science & engineering(Network Research Group);;Southeast University;Nanjing;Jiangsu;210096;P.R.China
email;internet: [email protected]
tel;work:       (008625)3792360
x-mozilla-cpt:  ;-1
x-mozilla-html: FALSE
version:        2.1
end:            vcard