Linux - NewbieThis Linux forum is for members that are new to Linux.
Just starting out and have a question?
If it is not in the man pages or the how-to's this is the place!
Notices
Welcome to LinuxQuestions.org, a friendly and active Linux Community.
You are currently viewing LQ as a guest. By joining our community you will have the ability to post topics, receive our newsletter, use the advanced search, subscribe to threads and access many other special features. Registration is quick, simple and absolutely free. Join our community today!
Note that registered members see fewer ads, and ContentLink is completely disabled once you log in.
If you have any problems with the registration process or your account login, please contact us. If you need to reset your password, click here.
Having a problem logging in? Please visit this page to clear all LQ-related cookies.
Get a virtual cloud desktop with the Linux distro that you want in less than five minutes with Shells! With over 10 pre-installed distros to choose from, the worry-free installation life is here! Whether you are a digital nomad or just looking for flexibility, Shells can put your Linux machine on the device that you want to use.
Exclusive for LQ members, get up to 45% off per month. Click here for more info.
Hi everybody,
I need help!
I wrote a script in which, a mobile node across the umts, the WIMAX and the WIFI coverage to test the vertical handover .
But the out.nam file and the trace one are always empty, the script is correct there is no errors !!!!
please help
Last edited by RSM_smile; 07-17-2012 at 08:01 PM.
Reason: add a script file
I already verify it, my tcl code is complete !!!
this is the code, I couldn't attach the file I have always a Invalid File Error
Code:
#check input parameters
if {$argc != 0} {
puts ""
puts "Wrong Number of Arguments! No arguments in this topology"
puts ""
exit (1)
}
global ns
#set debug output for components
Agent/ND set debug_ 1
Agent/MIH set debug_ 1
Agent/MIHUser/IFMNGMT/MIPV6/Handover/Handover1 set debug_ 1
Agent/MIHUser/IFMNGMT/MIPV6 set debug_ 1
Agent/MIHUser/IFMNGMT set debug_ 1
Mac/802_11 set debug_ 0
Mac/802_16 set debug_ 0
#define DEBUG parameters
set quiet 0
#defines ND attributes to fit the example
Agent/ND set maxRtrAdvInterval_ 1.0
Agent/ND set minRtrAdvInterval_ 0.5
Agent/ND set minDelayBetweenRA_ 0.5
#Handover
Agent/MIHUser/IFMNGMT/MIPV6/Handover/Handover1 set case_ 3
#defines ND: Neihbor discovery attributes to fit the example
Agent/ND set maxRtrAdvInterval_ 1.0
Agent/ND set minRtrAdvInterval_ 0.5
Agent/ND set minDelayBetweenRA_ 0.5
#defines function for flushing and closing files
proc finish {} {
global ns f namtrace
$ns flush-trace
close $f
close $namtrace
puts " Simulation ended."
exit 0
}
# set global variables
set output_dir .
#create the simulator
set ns [new Simulator]
$ns use-newtrace
set opt(x) 2000 ;# X dimension of the topography
set opt(y) 2000 ;# Y dimension of the topography
#create the topography
set topo [new Topography]
$topo load_flatgrid $opt(x) $opt(y)
puts "________Topology created________"
# create God
create-god 20
puts ""
#Simulation process is written to the trace file
set f [open out.tr w]
$ns trace-all $f
set namfile [open outtest.nam w]
#$ns namtrace-all-wireless $namfile $opt(x) $opt(y)
$ns namtrace-all-wireless $namfile 2000 2000
# set up for hierarchical routing (needed for routing over a basestation)
$ns node-config -addressType hierarchical
AddrParams set domain_num_ 7 ;# domain number
AddrParams set cluster_num_ {1 1 1 1 1 1 1} ;# cluster number for each domain
AddrParams set nodes_num_ {6 6 6 6 6 6 6} ;# number of nodes for each cluster
########################################################Configure Wireless parameters#################################################################### #########################################################################################################################################################
# parameter for wireless nodes
set opt(chan) Channel/WirelessChannel ;# channel type for 802.11
set opt(prop) Propagation/TwoRayGround ;# radio-propagation model 802.11
set opt(netif) Phy/WirelessPhy ;# network interface type 802.11
set opt(mac) Mac/802_11 ;# MAC type 802.11
set opt(ifq) Queue/DropTail/PriQueue ;# interface queue type 802.11
set opt(ll) LL ;# link layer type 802.11
set opt(ant) Antenna/OmniAntenna ;# antenna model 802.11
set opt(ifqlen) 50 ;# max packet in ifq 802.11
set opt(adhocRouting) DSDV ;# routing protocol 802.11
set opt(umtsRouting) "" ;# routing for UMTS (to reset node config)
set opt(channel) [new $opt(chan)] ;# channel to be shared by all wireless nodes
#Rate at which the nodes start moving
set moveStart 10
set moveStop 130
#Speed of the mobile nodes (m/sec)
set moveSpeed 1
#origin of the MN
set X_src 40.0
set Y_src 100.0
set X_dst 160.0
set Y_dst 100.0
# creation of the Mobile Node (MutiFaceNodes). It MUST be done before the 802.11
$ns node-config -multiIf ON ;#to create MultiFaceNode
set multiFaceNode [$ns node 4.0.0]
$ns node-config -multiIf OFF ;#reset attribute
$ns at 0.05 "$multiFaceNode label \"MN 5.0.0\""
if {$quiet == 0} {
puts "multiFaceNode(MN) has been created"
puts ""
}
# creation of the Correspondant Node
set host0 [$ns node 1.0.1] ;# node id is 5
$ns at 0.05 "$host0 label \"CN 1.0.1\""
if {$quiet == 0} {
puts "host(CN) has been created"
puts ""
}
########################################################Congigure UMTS################################################################################## ########################################################################################################################################################
$ns set hsdschEnabled_ 1addr
$ns set hsdsch_rlc_set_ 0
$ns set hsdsch_rlc_nif_ 0
# configure RNC node
puts "________RNC Configuration________"
$ns node-config -UmtsNodeType rnc
set rnc [$ns create-Umtsnode 0.0.0] ;
$ns at 0.05 "$rnc label \"RNC 0.0.0\""
if {$quiet == 0} {
puts "RNC: tcl=$rnc; id=[$rnc id]; addr=[$rnc node-addr]"
puts ""
}
# configure UMTS base station
puts "________UMTS Base Station Configuration________"
$ns node-config -UmtsNodeType bs \
-downlinkBW 384kbs \
-downlinkTTI 10ms \
-uplinkBW 384kbs \
-uplinkTTI 10ms \
-hs_downlinkTTI 2ms \
-hs_downlinkBW 384kbs
set bsUMTS [$ns create-Umtsnode 0.0.1]
$ns at 0.05 "$bsUMTS label \"UMTS_BS 0.0.0\""
if {$quiet == 0} {
puts "UMTS_Base_Station: tcl=$bsUMTS; id=[$bsUMTS id]; addr=[$bsUMTS node-addr]"
puts ""
}
puts "----------------------------------------------"
puts ""
# connect RNC and base station
puts "Connecting RNC and Base Station..."
$ns setup-Iub $bsUMTS $rnc 622Mbit 622Mbit 15ms 15ms DummyDropTail 2000 color red
$ns node-config -UmtsNodeType ue \
-baseStation $bsUMTS \
-radioNetworkController $rnc
if {$quiet == 0} {
puts "....Connecting successfully"
puts ""
}
puts "----------------------------------------------"
puts ""
# creation of the wireless interface UMTS
set iface0 [$ns create-Umtsnode 0.0.2]
if {$quiet == 0} {
puts "iface0: tcl=$iface0; id=[$iface0 id]; addr=[$iface0 node-addr]"
puts "________iface0 created"
}
#define UMTS color
$rnc color red
$bsUMTS color red
########################################################Configure WLAN################################################################################### #########################################################################################################################################################
puts "________WLAN Configuration________"
#define coverage area for 802.11 stations: 20m coverage, Freq: 2.4Ghz
Phy/WirelessPhy set Pt_ 0.025
Phy/WirelessPhy set freq_ 2412e+6
Phy/WirelessPhy set RXThresh_ 6.12277e-09
Phy/WirelessPhy set CSThresh_ [expr 0.9*[Phy/WirelessPhy set RXThresh_]]
# configure rate for 802.11
Mac/802_11 set basicRate_ 11Mb
Mac/802_11 set dataRate_ 11Mb
Mac/802_11 set bandwidth_ 11Mb
# configure Access Points
$ns node-config -adhocRouting $opt(adhocRouting) \
-llType $opt(ll) \
-macType $opt(mac) \
-channel $opt(channel) \
-ifqType $opt(ifq) \
-ifqLen $opt(ifqlen) \
-antType $opt(ant) \
-propType $opt(prop) \
-phyType $opt(netif) \
-topoInstance $topo \
-wiredRouting ON \
-agentTrace ON \
-routerTrace OFF \
-macTrace ON \
-movementTrace OFF
# configure Base station 802.11
set bstation802_11 [$ns node 3.0.0] ;
$ns at 0.05 "$bstation802_11 label \"WLAN_BS 3.0.0\""
if {$quiet == 0} {
puts "WLAN Base Station_id =$bstation802_11"
}
$bstation802_11 set X_ 680.0
$bstation802_11 set Y_ 1000.0
$bstation802_11 set Z_ 0.0
# we need to set the BSS for the base station
set bstationMac [$bstation802_11 getMac 0]
set AP_ADDR_0 [$bstationMac id]
if {$quiet == 0} {
puts "Basic Service Set_id for WAN_bstation =$AP_ADDR_0"
}
$bstationMac bss_id $AP_ADDR_0
$bstationMac enable-beacon
$bstationMac set-channel 1
puts "________WLAN Configuration Successfully________"
puts "----------------------------------------------"
puts ""
# creation of the wireless interface 802.11
$ns node-config -wiredRouting OFF \
-macTrace ON
set iface1 [$ns node 3.0.1] ;
$iface1 random-motion 0 ;# disable random motion
$iface1 base-station [AddrParams addr2id [$bstation802_11 node-addr]] ;#attach mn to basestation
$iface1 set X_ 480.0 ;# $iface1 set X_ $X_src
$iface1 set Y_ 1000.0 ;# $iface1 set Y_ $Y_src
$iface1 set Z_ 0.0
[$iface1 getMac 0] set-channel 1
if {$quiet == 0} {
puts "iface1: tcl=$iface1; id=[$iface1 id]; addr=[$iface1 node-addr]"
puts "________iface1 created"
}
#define WLAN color
$bstation802_11 color blue
########################################################Congigure WIMAX################################################################################## #########################################################################################################################################################
puts "________WIMAX Configuration________"
#note: we put 16 on a different channel to avoid dealing with interferences
set opt(mac) Mac/802_16
set opt(netif) Phy/WirelessPhy/OFDM
#define coverage area for 802.16 stations:
Phy/WirelessPhy set Pt_ 0.025
Phy/WirelessPhy set RXThresh_ 2.025e-12
Phy/WirelessPhy set CSThresh_ [expr 0.9*[Phy/WirelessPhy set RXThresh_]]
$ns node-config -adhocRouting $opt(adhocRouting) \
-llType $opt(ll) \
-macType $opt(mac) \
-channel $opt(channel) \
-ifqType $opt(ifq) \
-ifqLen $opt(ifqlen) \
-antType $opt(ant) \
-propType $opt(prop) \
-phyType $opt(netif) \
-topoInstance $topo \
-wiredRouting ON \
-agentTrace ON \
-routerTrace OFF \
-macTrace ON \
-movementTrace OFF
# configure Base station 802.16
set bstation802_16 [$ns node 4.0.0] ;
$ns at 0.05 "$bstation802_16 label \"WIMAX_BS 4.0.0\""
if {$quiet == 0} {
puts "WIMAX Base Station_id =$bstation802_16"
}
$bstation802_16 random-motion 0
$bstation802_16 set X_ 1000
$bstation802_16 set Y_ 1000
$bstation802_16 set Z_ 0.0
puts "bstation802_16: tcl=$bstation802_16; id=[$bstation802_16 id]; addr=[$bstation802_16 node-addr]"
set clas [new SDUClassifier/Dest]
[$bstation802_16 set mac_(0)] add-classifier $clas
set bs_sched [new WimaxScheduler/BS]
[$bstation802_16 set mac_(0)] set-scheduler $bs_sched
[$bstation802_16 set mac_(0)] set-channel 1
puts "________WIMAX Configuration Successfully________"
puts "----------------------------------------------"
puts ""
# creation of the wireless interface 802.16
$ns node-config -wiredRouting OFF \
-macTrace ON
set iface2 [$ns node 4.0.1] ;# node id is 12.
$iface2 random-motion 0 ;# disable random motion
$iface2 base-station [AddrParams addr2id [$bstation802_16 node-addr]] ;#attach mn to basestation
$iface2 set X_ 480.0 ;# $iface1 set X_ $X_src
$iface2 set Y_ 1000.0 ;# $iface1 set Y_ $Y_src
$iface2 set Z_ 0.0
set clas [new SDUClassifier/Dest]
[$iface2 set mac_(0)] add-classifier $clas
set ss_sched [new WimaxScheduler/SS]
[$iface2 set mac_(0)] set-scheduler $ss_sched
[$iface2 set mac_(0)] set-channel 1
if {$quiet == 0} {
puts "iface2: tcl=$iface2; id=[$iface2 id]; addr=[$iface2 node-addr]"
puts "________iface2 created"
}
#define WIMAX color
$bstation802_16 color green
########################################################Configure Multiface Node################################################################################## #########################################################################################################################################################
puts "________Mobile Node Configuration________"
# add interfaces to MultiFaceNode
$multiFaceNode add-interface-node $iface0
$multiFaceNode add-interface-node $iface1
$multiFaceNode add-interface-node $iface2
# define node movement. We start from outside the coverage, cross it and leave.
$ns at 20 "$iface0 setdest 1600.0 1000.0 3.0"
# define node movement. We start from outside the coverage, cross it and leave.
$ns at 20 "$iface1 setdest 1600.0 1000.0 3.0"
# define node movement. We start from outside the coverage, cross it and leave.
$ns at 20 "$iface2 setdest 1600.0 1000.0 3.0"
puts "----------------------------------------------"
puts ""
########################################################Configure Routers################################################################################## #########################################################################################################################################################
puts "________Backbones Configuration________"
#creation of backbones
set router0 [$ns node 1.0.0]
$ns at 0.05 "$router0 label \"router0 1.0.0\""
if {$quiet == 0} {
puts "router0: tcl=$router0; id=[$router0 id]; addr=[$router0 node-addr]"
puts "________router0 created"
}
set router1 [$ns node 2.0.0]
$ns at 0.05 "$router0 label \"router1 2.0.0\""
if {$quiet == 0} {
puts "router0: tcl=$router1; id=[$router1 id]; addr=[$router1 node-addr]"
puts "________router1 created"
puts ""
}
########################################################ADD Links################################################################################## #########################################################################################################################################################
puts "Adding topology Links..."
$ns duplex-link $rnc $router1 622Mbit 0.4ms DropTail 1000 color red
$ns trace-queue $rnc $router1 $f
$ns duplex-link $router1 $router0 100MBit 5ms DropTail 1000
$ns trace-queue $router1 $router0 $f
$ns duplex-link $router0 $host0 100MBit 5ms DropTail 1000
$ns trace-queue $router0 $host0 $f
$rnc add-gateway $router1
# add link WLAN base station to backbone
$ns duplex-link $bstation802_11 $router1 100MBit 15ms DropTail 1000 color blue
$ns trace-queue $router1 $bstation802_11 $f
# add link WIMAX base station to backbone
$ns duplex-link $bstation802_16 $router1 100MBit 15ms DropTail 1000 color green
$ns trace-queue $router1 $bstation802_16 $f
if {$quiet == 0} {
puts "....Connecting successfully"
puts ""
}
########################################################Neighbor Discovery Module################################################################################## #########################################################################################################################################################
puts "Neighbor Discovery Module Configuration"
puts ""
# UMTS (Note: The ND module is on the rnc node NOT in the base station)
set nd_bsUMTS [$rnc install-nd]
$nd_bsUMTS set-router TRUE
$nd_bsUMTS router-lifetime 1800
$nd_bsUMTS enable-broadcast FALSE
$nd_bsUMTS add-ra-target 0.0.2 ; # adding ra-target (Router Advertisement)
# in UMTS there is no notion of broadcast.
# We fake it by sending unicast to a list of nodes
set nd_ue [$iface0 install-nd]
# WLAN
set nd_bs [$bstation802_11 install-nd]
$nd_bs set-router TRUE
$nd_bs router-lifetime 1800
set nd_mn [$iface1 install-nd]
# WIMAX
set nd_bs2 [$bstation802_16 install-nd]
$nd_bs2 set-router TRUE
$nd_bs2 router-lifetime 1800
set nd_mn2 [$iface2 install-nd]
# router1
set nd_router [$router1 install-nd]
$nd_router set-router TRUE
$nd_router router-lifetime 1800
# router0
set nd_router_0 [$router0 install-nd]
$nd_router_0 set-router TRUE
$nd_router_0 router-lifetime 1800
if {$quiet == 0} {
puts "....Configuration successfully"
puts ""
}
########################################################MIH Module####################################################################################### #########################################################################################################################################################
puts "MIH Configuration"
puts ""
# install interface manager into the Mobile Node (multi-interface node)
Agent/MIHUser/IFMNGMT/MIPV6/Handover/Handover1 set case_ 2
set handover [new Agent/MIHUser/IFMNGMT/MIPV6/Handover/Handover1]
$multiFaceNode install-ifmanager $handover
# adding handover module to the UMTS iface0
$nd_ue set-ifmanager $handover
# adding handover module to the WLAN iface1
$nd_mn set-ifmanager $handover
$handover nd_mac $nd_mn [$iface1 set mac_(0)] ;#to know how to send RS messages (Ready to sent)
# adding handover module to the WIMAX iface2
$nd_mn2 set-ifmanager $handover
$handover nd_mac $nd_mn2 [$iface2 set mac_(0)] ;#to know how to send RS messages (Ready to sent)
# install interface manager into the Correspondant Node (host0)
set ifmgmt_cn [$host0 install-default-ifmanager]
# install MIH in multi-interface node
set mih [$multiFaceNode install-mih]
$handover connect-mih $mih ;#create connection between MIH and iface management
# install MIH on AP/BS
set mih_bs [$bstation802_11 install-mih]
set tmp_bs [$bstation802_11 set mac_(0)]
$tmp_bs mih $mih_bs
$mih_bs add-mac $tmp_bs
set mih_bs [$bstation802_16 install-mih]
set tmp_bs [$bstation802_16 set mac_(0)]
$tmp_bs mih $mih_bs
$mih_bs add-mac $tmp_bs
if {$quiet == 0} {
puts "....Configuration successfully"
puts ""
}
########################################################create traffic: TCP application between CN and Multi interface node########################## ##########################################################################################################################################################
puts "Traffic Creation..."
puts ""
#Create a UDP agent
set udp_ [new Agent/UDP]
$udp_ set packetSize_ 1500
if {$quiet == 0} {
puts "...UDP on node : $udp_"
}
# Create a CBR traffic source and attach it to udp
set cbr_ [new Application/Traffic/CBR]
$cbr_ set packetSize_ 500
$cbr_ set interval_ 0.2
$cbr_ attach-agent $udp_
if {$quiet == 0} {
puts "...CBR created : $cbr_"
}
# Create the Null agent to sink traffic
set udp_test_sink [new Agent/Null]
$ns attach-agent $iface0 $udp_test_sink
$ns connect $udp_ $udp_test_sink
if {$quiet == 0} {
puts "...TEST_SINK created : $udp_test_sink"
}
#host0 is transmitter
$ns attach-agent $host0 $udp_
if {$quiet == 0} {
puts ""
puts "...Attachement Successfully"
}
#Multiface node is receiver
$multiFaceNode attach-agent $udp_test_sink $iface0 ;#4
$handover add-flow $udp_test_sink $udp_ $iface0 1
if {$quiet == 0} {
puts "...MN added flow"
}
# do registration in UMTS. This will create the MACs in UE and base stations
$ns node-config -llType UMTS/RLC/AM \
-downlinkBW 384kbs \
-uplinkBW 384kbs \
-downlinkTTI 20ms \
-uplinkTTI 20ms \
-hs_downlinkTTI 2ms \
-hs_downlinkBW 384kbs
if {$quiet == 0} {
puts "Configuration UMTS Node..."
}
set dch0 [$ns create-dch $iface0 $udp_test_sink]
$ns attach-dch $iface0 $handover $dch0
$ns attach-dch $iface0 $nd_ue $dch0
if {$quiet == 0} {
puts "...Attachement Successfully"
}
# Now we can register the MIH module with all the MACs
set tmp2 [$iface0 set mac_(2)] ;#in UMTS and using DCH the MAC to use is 2 (0 and 1 are for RACH and FACH)
$tmp2 mih $mih
$mih add-mac $tmp2 ;#inform the MIH about the local MAC
set tmp2 [$iface1 set mac_(0)] ;#in 802.11 one interface is created
$tmp2 mih $mih
$mih add-mac $tmp2 ;#inform the MIH about the local MAC
set tmp2 [$iface2 set mac_(0)] ;#in 802.16 one interface is created
$tmp2 mih $mih
$mih add-mac $tmp2 ;#inform the MIH about the local MAC
if {$quiet == 0} {
puts "....Configuration finished successfully"
puts ""
}
########################################################Start the Application############################################################################ #########################################################################################################################################################
$ns at 0.1 "$cbr_ start"
$ns at 4.0 "$cbr_ stop"
$ns at 5.0 "finish"
if {$quiet == 0} {
puts " Simulation is running ... please wait ..."
}
Sorry for the late, my NS version is 2.29 with ns2_NIST_mobility.patch
I already add "$ns run" in my piratical simulation
here is the error message
Quote:
Simulation is running ... please wait ...
can't read "Node_(10)": 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 1]"
(procedure "_o3" line 15)
(Simulator compute-hier-routes line 15)
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 "_o474" 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 "simu.tcl" line 549)
bassouma@ubuntu:~/project$
concerning the attach, I already change the extension of my file from .tcl to .txt but the error persists
Last edited by RSM_smile; 07-29-2012 at 05:13 PM.
Reason: adding quote
i download tcl script for wireless manet simulatioin ; it works fine for aodv, dsr and dsdv but whe using for
tora - nam file is created but when i run $xgraph tora1.tr it gives me error
________________
problems with input data
***********
N.venkatadri
Research Scholar, Department of Computer Science
V.S.University
i download tcl script for 3 nodes , i works fine for AODV, DSR and DSDV interms of nam file and trace file .
but when running the same script for TORA , it is simulated but when i run xgraph command at prompt as
$xgraph win.tr {where win.tr is a trace file for tora.tcl}
Distribution: PCLinuxOS2023 Fedora38 + 50+ other Linux OS, for test only.
Posts: 17,511
Rep:
Post # 5 : You are no supposed to change the extension from tcl to txt.
But to add .txt to file.tcl, so it's easy to actually see,
that it is a .tcl file. Like file.tcl.txt .
Post # 6 : Please show a direct download link to the file.
Or upload it to Google Docs / Google Drive.
Post # 7 : As for #6.
I.e. the code must be known for anybody to answer.
Not easy to answer about unknown code.
( We cannot guess what's in those files.)
here i attach a link ( this was sent by u) , this code works fine for DSDV, AODV, and DSR that means it gives both .nam and .tr files but when i use this same script for tora , it creates 1_out.nam and 1_out.tr ; $nam 1_out.nam works fine but $xgraph 1_out.tr cannot give graph ; it displays "problems with input data"
i would like to simulate MANET routing protocols ; i run DSDV, AODV and DSR successfully but not TORA. u sent me a tora.tcl link it gives
successful nam but not trace file. with only trace file we can produce graphs.
please give me a successful tora.tcl file that must give nam file and trace file .
here i attach a tora tcl script , it gives nice simulation , but for this tcl script trace file is empty.
that is my problem...
please check this and provide me a successful tora tcl script that gives trace file for producing graphs
thank u
*******
N.Venkatadri
---------- Post added 10-13-12 at 11:56 PM ----------
hello knudfl
here i attach a tora tcl script , it gives nice simulation , but for this tcl script trace file is empty.
that is my problem...
# TORA Manet routing protocol simulation
#Define options
#=================================
Set val(chan) Channel/WirelessChannel ;#channel type
Set val(prop) Propogation/TwoRayGround;#radio-propogation model
Set val(ant) Antenna/OminiAntenna ;#Antenna type
Set val(ll) LL ;#link layer type
Set val(ifq) Queue/DropTail/PriQueue ;#interface queue type
Set val(ifqlen) 50 ; #max packet in ifq
Set val(netif) Phy/WirelessPhy ;#network interface type
Set val(mac) Mac/802_11 ;#MAC type
Set val(nn) 6 ;#number of nodes
Set val(rp) TORA ;#routing protocol
Set val(x) 800
Set val(y) 800
Set ns [new Simulator]
#ns-random 0
Set f [open 1_out.tr w]
$ns trace-all $f
Set namtrace [open 1_out.nam w]
$ns namtrace-all-wireless $namtrace $val(x) $val(y)
Set f0 [open proj_out0.tr w]
Set f1 [open proj_out1.tr w]
Set f2 [open proj_out2.tr w]
Set f3 [open proj_out3.tr w]
Set topo [new Topography]
$topo load_flatgrid 800 800
Create-god $val(nn)
Set chan_1 [new $val(chan)]
Set chan_2 [new $val(chan)]
Set chan_3 [new $val(chan)]
Set chan_4 [new $val(chan)]
Set chan_5 [new $val(chan)]
Set chan_6 [new $val(chan)]
#Configure and create nodes
$ns node-config -adhocRouting $val(rp) \
-llType $val(ll) \
-macType $val(mac) \
-ifqType $val(ifq) \
-ifqLen $val(ifqlen) \
-antType $val(ant) \
-propType $val(prop) \
-phyType $val(netif) \
#-channelType $val(chan) \
-topoInstance $topo \
-agentTrace OFF \
-routerTrace ON \
-macTrace ON \
-movementTrace OFF \
-channel $chan_1 # \
#-channel $chan_2 \
#-channel $chan_3 \
#-channel $chan_4 \
#-channel $chan_5 \
#-channel $chan_6
proc finish {} {
global ns f f0 f1 f2 f3 namtrace
$ns flush-trace
close $namtrace
close $f0
close $f1
close $f2
close $f3
# exec xgraph proj_out0.tr proj_out1.tr
# proj_out2.tr proj_out3.tr
exec nam -r 5m 1_out.nam &
exit 0
}
proc record {} {
global sink0 sink1 sink2 sink3 sink4 sink5 f0 f1 f2 f3
#Get An Instance Of The Simulator
set ns [Simulator instance]
#Set The Time After Which The Procedure Should Be Called Again
set time 0.05
#How Many Bytes Have Been Received By The Traffic Sinks?
set bw0 [$sink5 set npkts_]
set bw1 [$sink5 set nlost_]
#set bw2 [$sink2 set npkts_]
#set bw3 [$sink3 set npkts_]
#Get The Current Time
set now [$ns now]
#Save Data To The Files
puts $f0 "$now [expr $bw0]"
puts $f1 "$now [expr $bw1]"
#puts $f2 "$now [expr $bw2]"
#puts $f3 "$now [expr $bw3]"
#Re-Schedule The Procedure
$ns at [expr $now+$time] "record"
}
# define color index
$ns color 0 blue
$ns color 1 red
$ns color 2 chocolate
$ns color 3 red
$ns color 4 brown
$ns color 5 tan
$ns color 6 gold
$ns color 7 black
set n(0) [$ns node]
#$ns at 0.0 "$n(0) color red"
$n(0) color "0"
$n(0) shape "circle"
set n(1) [$ns node]
$n(1) color "blue"
$n(1) shape "circle"
set n(2) [$ns node]
$n(2) color "tan"
$n(2) shape "circle"
set n(3) [$ns node]
$n(3) color "red"
$n(3) shape "circle"
set n(4) [$ns node]
$n(4) color "tan"
$n(4) shape "circle"
set n(5) [$ns node]
$n(5) color "red"
$n(5) shape "circle"
for {set i 0} {$i < $val(nn)} {incr i} {
$ns initial_node_pos $n($i) 30+i*100
}
$n(0) set X_ 0.0
$n(0) set Y_ 0.0
$n(0) set Z_ 0.0
$n(1) set X_ 0.0
$n(1) set Y_ 0.0
$n(1) set Z_ 0.0
$n(2) set X_ 0.0
$n(2) set Y_ 0.0
$n(2) set Z_ 0.0
$n(3) set X_ 0.0
$n(3) set Y_ 0.0
$n(3) set Z_ 0.0
$n(4) set X_ 0.0
$n(4) set Y_ 0.0
$n(4) set Z_ 0.0
$n(5) set X_ 0.0
$n(5) set Y_ 0.0
$n(5) set Z_ 0.0
$ns at 0.0 "$n(0) setdest 100.0 100.0 3000.0"
$ns at 0.0 "$n(1) setdest 200.0 200.0 3000.0"
$ns at 0.0 "$n(2) setdest 300.0 200.0 3000.0"
$ns at 0.0 "$n(3) setdest 400.0 300.0 3000.0"
$ns at 0.0 "$n(4) setdest 500.0 300.0 3000.0"
$ns at 0.0 "$n(5) setdest 600.0 400.0 3000.0"
$ns at 2.0 "$n(5) setdest 100.0 400.0 500.0"
#$ns at 1.5 "$n(3) setdest 450.0 150.0 500.0"
# CONFIGURE AND SET UP A FLOW
set sink0 [new Agent/LossMonitor]
set sink1 [new Agent/LossMonitor]
set sink2 [new Agent/LossMonitor]
set sink3 [new Agent/LossMonitor]
set sink4 [new Agent/LossMonitor]
set sink5 [new Agent/LossMonitor]
$ns attach-agent $n(0) $sink0
$ns attach-agent $n(1) $sink1
$ns attach-agent $n(2) $sink2
$ns attach-agent $n(3) $sink3
$ns attach-agent $n(4) $sink4
$ns attach-agent $n(5) $sink5
#$ns attach-agent $sink2 $sink3
set tcp0 [new Agent/TCP]
$ns attach-agent $n(0) $tcp0
set tcp1 [new Agent/TCP]
$ns attach-agent $n(1) $tcp1
set tcp2 [new Agent/TCP]
$ns attach-agent $n(2) $tcp2
set tcp3 [new Agent/TCP]
$ns attach-agent $n(3) $tcp3
set tcp4 [new Agent/TCP]
$ns attach-agent $n(4) $tcp4
set tcp5 [new Agent/TCP]
$ns attach-agent $n(5) $tcp5
proc attach-CBR-traffic { node sink size interval } {
#Get an instance of the simulator
set ns [Simulator instance]
#Create a CBR agent and attach it to the node
set cbr [new Agent/CBR]
$ns attach-agent $node $cbr
$cbr set packetSize_ $size
$cbr set interval_ $interval
#Attach CBR source to sink;
$ns connect $cbr $sink
return $cbr
}
set cbr0 [attach-CBR-traffic $n(0) $sink5 1000 .015]
#set cbr1 [attach-CBR-traffic $n(1) $sink2 1000 .015]
#set cbr2 [attach-CBR-traffic $n(2) $sink3 1000 .015]
#set cbr3 [attach-CBR-traffic $n(3) $sink0 1000 .015]
#set cbr4 [attach-CBR-traffic $n(4) $sink3 1000 .015]
#set cbr5 [attach-CBR-traffic $n(5) $sink0 1000 .015]
$ns at 0.0 "record"
#$ns at 0.5 "$cbr0 start"
#$ns at 0.5 "$cbr2 start"
#$ns at 2.0 "$cbr0 stop"
#$ns at 2.0 "$cbr2 stop"
$ns at 1.0 "$cbr0 start"
#$ns at 4.0 "$cbr3 stop"
$ns at 10.0 "finish"
puts "Start of simulation.."
$ns run
please check this and provide me a successful tora tcl script that gives trace file for producing graphs
Your code in post #11 : Some typos. Edit all 'Set' to set.
Edit : Set val(prop) Propogation/TwoRayGround;#radio-propogation model
To : set val(prop) Propogation/TwoRayGround ;#radio-propogation model
Edit : Create-god $val(nn)
to : create-god $val(nn)
? May be there are more typos ?
Please edit post #11 to use "code tags", like the code in post #3.
thank u so much for responding;
i was made changes to tora.cc , tora.h and also imep.cc after make changes to these ; i recompile my ns-2.34 as
$cd Deskto
$Dessktop\cd ns-allinone-2.34
$$Dessktop\cd ns-allinone-2.34\cd ns-2.34
$$Dessktop\cd ns-allinone-2.34\ns-2.34$make clean ; it is ok
$$$Dessktop\cd ns-allinone-2.34\ns-2.34$make ; after using make the following messages are displayed
make[1]: entering directory '/home/venkat/Desktop/ns-allnone-2.34/ns-2.34/indep-utils/cmu-scen-gen/setdest'
make[1]:nothing to be done for 'all'.
make[1]:leaving directory 'home/venkat/Desktop/ns-allinone-2.34/ns-2.34/indep-utils/cmu-scen-gen/setdest'
.
.
.
make[1]:leaving directory 'home/venkat/Desktop/ns-allinone-2.34/ns-2.34/indep-utils/webtrace-conv/ucb'
[venkat@localhost ns-2.34]$
what is the problem .
after these steps i run tora.tcl, it enter infinite loop;
may be the above statements are problem..
please help me
Distribution: PCLinuxOS2023 Fedora38 + 50+ other Linux OS, for test only.
Posts: 17,511
Rep:
# 13
Quote:
:nothing to be done for 'all'.
Means : Everything is OK.
I.e. all ns-allnone-2.34/ns-2.34/indep-utils/** were created
at the earlier ./install or make.
" indep-utils/" are separate applications, and they are not "cleaned",
when you do 'make clean'.
Please edit post # 11 to use code tags :
Write [/code] at code text end, and [code] at code start.
Or use the # button in the Advanced Editor.
hai knudfl
thank u so much for ur reply..
:'nothing to be done for all' if it is OK means then why tora.tcl enters infinite loop and does not work?
please help me ; tora is my research topic ..
thank u
regarding:
****************
N.Venkatadri
LinuxQuestions.org is looking for people interested in writing
Editorials, Articles, Reviews, and more. If you'd like to contribute
content, let us know.