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

RE: [ns] error model



I guess that my implementation doesn't include in 2.1b7. 

-jahn

-----Original Message-----
From: [email protected] [mailto:[email protected]]On Behalf Of Laurent
Sent: Wednesday, June 27, 2001 4:02 AM
To: jahn-isi
Cc: [email protected]
Subject: Re: [ns] error model


jahn-isi wrote:
> 
> You can use any error models provided for wired networks also for wireless networks.
> One difference is in how to attach a specified error module. Wired networks attach the
> error model at their outgoing  link while wireless networks embed the error model in their
> protocol stack. To see how to hook the error model, please refer to test-suite-wireless-lan-newnode-err.tcl.
> 

in my script i made the same thing that it write in
test-suite-wireless-lan-newnode-err.tcl.
but i doesn't work!
i use ns version 2.1b7 with the NOAH extension.

i add the following lines in my script:

set opt(chan)           Channel/WirelessChannel    ;# channel type
set opt(prop)           Propagation/TwoRayGround   ;# radio-propagation
model
set opt(netif)          Phy/WirelessPhy            ;# network interface
type
set opt(err)		UniformErrorProc
set opt(FECstrength)	1
set opt(unit)		pkt
set opt(mac)            Mac/802_11                 ;# MAC type
set opt(ifq)            Queue/DropTail/PriQueue    ;# interface queue
type
set opt(ll)             LL                         ;# link layer type
set opt(ant)            Antenna/OmniAntenna        ;# antenna model
set opt(ifqlen)         50                         ;# max packet in ifq
set opt(adhocRouting)   NOAH                       ;# routing protocol


# Initialize the Errormodel
ErrorModule set debug_ false

ErrorModel set enable_ 1
ErrorModel set markecn_ false
ErrorModel set bandwidth_ 2Mb
ErrorModel set rate_ 0.99

ErrorModel/Trace set good_ 123456789
ErrorModel/Trace set loss_ 0
ErrorModel/Periodic set period_ 3.0
ErrorModel/Periodic set offset_ 0.0
ErrorModel/Periodic set burstlen_ 0.0
ErrorModel/MultiState set curperiod_ 0.0
ErrorModel/MultiState set sttype_ pkt
ErrorModel/MultiState set texpired_ 0

proc UniformErrorProc {} {
    global opt
    set	errObj [new ErrorModel]
    $errObj unit bit       ;# l'unit� utilis�e (bit ou packet)
    $errObj FECstrength $opt(FECstrength) 
    $errObj datapktsize 1000
    $errObj cntrlpktsize 80
    $errObj drop-target [new Agent/Null]
    return $errObj
}


and when i configure the mobil nodes i make this:

$ns_ node-config -adhocRouting $opt(adhocRouting) \
                 -llType $opt(ll) \
                 -macType $opt(mac) \
                 -ifqType $opt(ifq) \
                 -ifqLen $opt(ifqlen) \
                 -antType $opt(ant) \
                 -propType $opt(prop) \
                 -phyType $opt(netif) \
                 -channelType $opt(chan) \
		 -topoInstance $topo \
                 -wiredRouting ON \
		 -agentTrace ON \
                 -routerTrace OFF \
                 -macTrace OFF \
                 -errProc $opt(err)

but i doesn't work: the -errProc option has no effect
i read the file "tcl/lib/ns-lib.tcl" and the "errProc" appears anywhere

so i tried with ns-2.1b8 : the "errProc" option appear in the ns-lib.tcl
file
but i can't use ns-2.1b8 because the NOAH protocol is not provide with
it.