Dear all,

I am simulating a multi-interface mobile node using SCTP using ns-2.33. But
I am getting the error message below. I have read Jung Kee Song's thesis on
http://www.lib.ncsu.edu/theses/available/etd-05162005-094333/ but it has not
helped me. Does anyone know what I am doing wrong? I get the same error
using ns-2.30. The tcl scripts are below the error message.

Your help will be appreciated.

Robert Chirwa

-----------------------------------------------------------------------

num_nodes is set 9
INITIALIZE THE LIST xListHead
Starting Simulation...
can't read "Node_(6)": no such element in array
    while executing
"return $Node_($id)"
    (procedure "_o3" line 3)
    (Simulator get-node-by-id line 3)
    invoked from within
"$self get-node-by-id [lindex $L 0]"
    (procedure "_o3" line 14)
    (Simulator compute-hier-routes line 14)
    invoked from within
"$self compute-hier-routes "
    invoked from within
"if [Simulator hier-addr?] {
$self compute-hier-routes
} else {
$self compute-flat-routes
}"
    (procedure "_o3" line 2)
    (Simulator compute-routes line 2)
    invoked from within
"[Simulator instance] compute-routes"
    (procedure "Agent/rtProto/Static" line 2)
    (Agent/rtProto/Static init-all line 2)
    invoked from within
"Agent/rtProto/Static init-all"
    invoked from within
"if [info exists rtprotos_] {
foreach proto [array names rtprotos_] {
eval Agent/rtProto/$proto init-all $rtprotos_($proto)
}
} else {
Agent/rtProto/St..."
    (procedure "_o282" line 3)
    (RouteLogic configure line 3)
    invoked from within
"[$self get-routelogic] configure"
    (procedure "_o3" line 5)
    (Simulator run line 5)
    invoked from within
"$ns_ run"
    (file "wired-wireless-sctp.tcl" line 128)

-------------------------------------------------------------------------------------

### This simulation is an example of combination of wired and wireless
### topologies.


global opt
set opt(chan)       Channel/WirelessChannel
set opt(prop)       Propagation/TwoRayGround
set opt(netif)      Phy/WirelessPhy
set opt(mac)        Mac/802_11
set opt(ifq)        Queue/DropTail/PriQueue
set opt(ll)         LL
set opt(ant)        Antenna/OmniAntenna
set opt(x)             670
set opt(y)             670
set opt(ifqlen)         50
set opt(tr)          wired-wireless-sctp.tr
set opt(namtr)       wired-wireless-sctp.nam
set opt(nn)             6
set opt(adhocRouting)   DSDV
set opt(stop)           250
set num_wired_nodes     3
set num_bs_nodes        3


set ns_   [new Simulator]
# set up for hierarchical routing
$ns_ node-config -addressType hierarchical
AddrParams set domain_num_ 3
lappend cluster_num 2 1 1
AddrParams set cluster_num_ $cluster_num
lappend eilastlevel 1 1 4 1
AddrParams set nodes_num_ $eilastlevel

set tracefd  [open $opt(tr) w]
$ns_ trace-all $tracefd
set namtracefd [open $opt(namtr) w]
$ns_ namtrace-all $namtracefd


set topo   [new Topography]
$topo load_flatgrid $opt(x) $opt(y)
# god needs to know the number of all wireless interfaces
create-god [expr $opt(nn) + $num_bs_nodes]

#create wired nodes
set temp {0.0.0 0.0.1 0.0.2}
set WN [$ns_ node [lindex $temp 0]]
set WN_if0 [$ns_ node [lindex $temp 1]]
set WN_if1 [$ns_ node [lindex $temp 2]]
$ns_ multihome-add-interface $WN $WN_if0
$ns_ multihome-add-interface $WN $WN_if1

$ns_ node-config -adhocRouting $opt(adhocRouting) \
                 -llType $opt(ll) \
                 -macType $opt(mac) \
                 -ifqType $opt(ifq) \
                 -ifqLen $opt(ifqlen) \
                 -antType $opt(ant) \
                 -propInstance [new $opt(prop)] \
                 -phyType $opt(netif) \
                 -channel [new $opt(chan)] \
                 -topoInstance $topo \
                 -wiredRouting OFF

Mac/802_11 set dataRate_ 2.0Mb
Phy/WirelessPhy set Pt_ 4.5099
Phy/WirelessPhy set freq_ 2.175e+9

set temp {1.0.0 1.0.1 1.0.2 1.0.3 1.0.4 1.0.5}
set BS [$ns_ node [lindex $temp 0]]
$BS random-motion 0

$BS set X_ 1.0
$BS set Y_ 2.0
$BS set Z_ 0.0

set BS_if0 [$ns_ node [lindex $temp 1]]
set BS_if1 [$ns_ node [lindex $temp 2]]

$ns_ multihome-add-interface $BS $BS_if0
$ns_ multihome-add-interface $BS $BS_if1

#configure for mobilenodes
$ns_ node-config -wiredRouting OFF

set MN [ $ns_ node [lindex $temp 3] ]
$MN base-station [AddrParams addr2id [$BS node-addr]]
set MN_if0 [ $ns_ node [lindex $temp 4] ]
$MN_if0 base-station [AddrParams addr2id [$BS_if0 node-addr]]
set MN_if1 [ $ns_ node [lindex $temp 3] ]
$MN_if1 base-station [AddrParams addr2id [$BS_if1 node-addr]]

$ns_ multihome-add-interface $MN $MN_if0
$ns_ multihome-add-interface $MN $MN_if1
#create links between wired node and base-station interfaces
$ns_ duplex-link $WN_if0 $BS_if0 5Mb 2ms DropTail
$ns_ duplex-link $WN_if1 $BS_if1 5Mb 2ms DropTail
$ns_ duplex-link-op $WN_if0 $BS_if0 orient left-down
$ns_ duplex-link-op $WN_if1 $BS_if1 orient right-down

# setup SCTP connections
set sctp1 [new Agent/SCTP]
$sctp1 set mtu_ 1040
$sctp1 set dataChunkSize_ 1008
$ns_ multihome-attach-agent $MN $sctp1
set sctp2 [new Agent/SCTP]
$ns_ multihome-attach-agent $WN $sctp2
$ns_ connect $sctp1 $sctp2

set ftp1 [new Application/FTP]
$ftp1 attach-agent $sctp1

$sctp1 set primary-destination $MN_if0
$ns_ at 160 "$ftp1 start"


$ns_ at 180 "$sctp1 set-primary-destination $MN_if1"

$ns_ initial_node_pos $MN 20

$ns_ at $opt(stop).0000010 "$BS reset";

$ns_ at $opt(stop).1 "puts \"NS EXITING...\" ; $ns_ halt"

puts "Starting Simulation..."
$ns_ run

Reply via email to