Linux - Software This forum is for Software issues.
Having a problem installing a new program? Want to know which application is best for the job? Post your question in this forum. |
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.
Are you new to LinuxQuestions.org? Visit the following links:
Site Howto |
Site FAQ |
Sitemap |
Register Now
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.
|
|
10-24-2013, 05:10 AM
|
#1
|
LQ Newbie
Registered: Sep 2013
Posts: 9
Rep:
|
how to add nodes in tcl script to create topology traffic in ns2.31?
my final project is want to evaluate performance using AODV and WCETT routing protocol based on throughput..i have use the ns2.31 simulator in ubuntu 10.04..my problem is i don't know how to add more that 10 nodes in tcl script and the coding that must have for more than 10 nodes in topology traffic.everytime i want to run more than 10 nodes, the segmentation fault will be appear..like the picture that i attach..anyone can solve my problem?
|
|
|
10-25-2013, 01:53 AM
|
#2
|
LQ 5k Club
Registered: Jan 2008
Location: Copenhagen DK
Distribution: PCLinuxOS2023 Fedora38 + 50+ other Linux OS, for test only.
Posts: 17,519
|
Quote:
problem is I don't know how to add more that 10 nodes in tcl script
|
Which tcl script ? ? ?
"wcett" : That could be a CRCN patched ns-2.31 ? ?
The node limit in "test4wcett.tcl" seems to be 13 :
set val(nn) 13
Generally, if you want a question answered :
A lot more information is required ...
http://www.linuxquestions.org/linux/...Ask_a_Question
http://linuxsilo.net/docs/smart-questions_en.html
-
|
|
|
10-25-2013, 10:34 AM
|
#3
|
LQ Newbie
Registered: Sep 2013
Posts: 9
Original Poster
Rep:
|
thanks a lot knudfl..yes,i means test4wcett.tcl script..so by using this script, i cannot to test more the scenario for 20 nodes and above?if i change random.tcl file give the effect to test4wcett,tcl or not?..sory..i'm a newbie in ns2..
|
|
|
10-28-2013, 09:16 AM
|
#4
|
LQ 5k Club
Registered: Jan 2008
Location: Copenhagen DK
Distribution: PCLinuxOS2023 Fedora38 + 50+ other Linux OS, for test only.
Posts: 17,519
|
# 3 .
? Editing test4wcett.tcl or / and random.tcl ?
You will simply have to try what works.
|
|
|
11-07-2013, 10:11 AM
|
#5
|
LQ Newbie
Registered: Sep 2013
Posts: 23
Rep:
|
hi there,
im also using tcl script in ns-allinone-2.31 to do my project, seems that the throughput.awk script that you gave me previously is working....im wonder that the numbers of nodes in tcl script represent Cognitive Radio users or Primary users?
if it represent the CR users only, then, how do i need to do to add the node that represent the primary users?
thank you in advanced
|
|
|
02-20-2014, 01:45 AM
|
#6
|
LQ Newbie
Registered: Feb 2014
Posts: 4
Rep:
|
my final project is want to developing a cooperative protocol using AODV protocol and i have use the ns2.31 simulator in ubuntu 10.04..my problem is i don't know how to simulate node misbehaving of more that 10 nodes in tcl script, I nees ns2 code to simulate node misbehaviour .anyone can solve my problem?
|
|
|
02-20-2014, 04:14 AM
|
#7
|
LQ 5k Club
Registered: Jan 2008
Location: Copenhagen DK
Distribution: PCLinuxOS2023 Fedora38 + 50+ other Linux OS, for test only.
Posts: 17,519
|
|
|
|
02-20-2014, 11:44 PM
|
#8
|
LQ Newbie
Registered: Feb 2014
Posts: 4
Rep:
|
simulation in NS2
Good day can someone help me out, Im running a simulation in NS2 and I have the below erorr how can I fix it,
Code:
this an error I got while runing my code
joseph4blues@ubuntu:~/bin2/edited_tcl$ ns Edit_cooperative.tcl
num_nodes is set 16
INITIALIZE THE LIST xListHead
using backward compatible Agent/CBR; use Application/Traffic/CBR instead
using backward compatible Agent/CBR; use Application/Traffic/CBR instead
using backward compatible Agent/CBR; use Application/Traffic/CBR instead
using backward compatible Agent/CBR; use Application/Traffic/CBR instead
using backward compatible Agent/CBR; use Application/Traffic/CBR instead
using backward compatible Agent/CBR; use Application/Traffic/CBR instead
using backward compatible Agent/CBR; use Application/Traffic/CBR instead
using backward compatible Agent/CBR; use Application/Traffic/CBR instead
using backward compatible Agent/CBR; use Application/Traffic/CBR instead
using backward compatible Agent/CBR; use Application/Traffic/CBR instead
using backward compatible Agent/CBR; use Application/Traffic/CBR instead
using backward compatible Agent/CBR; use Application/Traffic/CBR instead
using backward compatible Agent/CBR; use Application/Traffic/CBR instead
using backward compatible Agent/CBR; use Application/Traffic/CBR instead
using backward compatible Agent/CBR; use Application/Traffic/CBR instead
using backward compatible Agent/CBR; use Application/Traffic/CBR instead
Start of simulation..
ns: _o229 setdest 700.0 700.0 3000.0:
(_o229 cmd line 1)
invoked from within
"_o229 cmd setdest 700.0 700.0 3000.0"
invoked from within
"catch "$self cmd $args" ret"
invoked from within
"if [catch "$self cmd $args" ret] {
set cls [$self info class]
global errorInfo
set savedInfo $errorInfo
error "error when calling class $cls: $args" $..."
(procedure "_o229" line 2)
(SplitObject unknown line 2)
invoked from within
"_o229 setdest 700.0 700.0 3000.0"
Last edited by joseph4life; 02-21-2014 at 02:16 AM.
Reason: to use code tags
|
|
|
02-21-2014, 01:13 AM
|
#9
|
LQ Newbie
Registered: Feb 2014
Posts: 4
Rep:
|
is like i was able to fix the error in post 8, but now I have This, this is my tcl script I used for 16 nodes but Im having this error when I run the script, pls help me check
this my tcl script:
Code:
# co.tcl (802.11g)
# =========================================================
# Define options
# =========================================================
set val(chan) Channel/WirelessChannel ;# channel type
set val(prop) Propagation/TwoRayGround ;# radio-propagation model
set val(ant) Antenna/OmniAntenna ;# 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) 16 ;# number of mobilenodes
set val(rp) AODV ;# routing protocol
set val(x) 650
set val(y) 650
#The Antenna height of transmitter and receiver is 1.5m.
#The propagation model is TwoRayGround model.
# set up the antennas to be centered in the node and 1.5 meters above it
Antenna/OmniAntenna set X_ 0
Antenna/OmniAntenna set Y_ 0
Antenna/OmniAntenna set Z_ 1.5
Antenna/OmniAntenna set Gt_ 1.0 ;# Transmit antenna gain
Antenna/OmniAntenna set Gr_ 1.0 ;# Receive antenna gain
Phy/WirelessPhy set bandwidth_ 54e6 ;#Data Rate
# Initialize the SharedMedia interface with parameters to make
# it work like the 914MHz Lucent WaveLAN DSSS radio interface
#Collision Threshold
Phy/WirelessPhy set CPThresh_ 10.0
#Receive Power Threshold;calculated under TwoRayGround model by tools from NS2
Phy/WirelessPhy set RXThresh_ 3.652e-10
#Transmit Power
Phy/WirelessPhy set Pt_ 0.28183815
# Channel 2.4 GHz
Phy/WirelessPhy set freq_ 2.4e9
#System loss facor
Phy/WirelessPhy set L_ 1.0
#Carrier Sense Power
Phy/WirelessPhy set CSThresh_ 1.559e-11
Phy/WirelessPhy set PowerMonitorThresh_ 6.310e-14 ;#-102dBm power monitor sensitivity
Phy/WirelessPhy set HeaderDuration_ 0.000040 ;#40 us
Phy/WirelessPhy set AdvanceModulationScheme_ 0
Phy/WirelessPhy set PreambleCaptureSwitch_ 1
Phy/WirelessPhy set DataCaptureSwitch_ 0
Phy/WirelessPhy set SINR_PreambleCapture_ 2.5118; ;# 4 dB
Phy/WirelessPhy set SINR_DataCapture_ 100.0; ;# 10 dB
Phy/WirelessPhy set trace_dist_ 1e6 ;# PHY trace until distance of 1 Mio.km("infinty")
Phy/WirelessPhy set PHY_DBG_ 0
Phy/WirelessPhy set noise_floor_ 1.26e-13 ;#-99 dBm for 10MHz bandwidth
#you can set dataRate for DATA here
Mac/802_11 set dataRate_ 54e6 ;# Rate for Data frame
#you can set basicRate for RTS/CTS, and ACK here
Mac/802_11 set basicRate_ 6e6 ;# Rate for Control Frame
#Mac/802_11 set RTSThreshold_ 3000 ;# Disable RTS/CTS
# 802.11g parameters
Mac/802_11 set CWMin_ 15
Mac/802_11 set CWMax_ 1023
Mac/802_11 set SlotTime_ 0.000009 ;# 9us
Mac/802_11 set CCATime_ 0.000003
Mac/802_11 set RxTxTurnaroundTime_ 0.000002
Mac/802_11 set SIFSTime_ 0.000016 ;# 16us
Mac/802_11 set DIFS_ 0.000028 ;# 50us
Mac/802_11 set PreambleLength_ 96 ;# 96 bit
Mac/802_11 set PLCPHeaderLength_ 40 ;# 40 bits
Mac/802_11 set PLCPDataRate_ 6.0e6 ;# 6Mbps
Mac/802_11 set MaxPropagationDelay_ 0.0000005 ;# 0.5us
Mac/802_11 set ShortRetryLimit_ 7
Mac/802_11 set LongRetryLimit_ 4
Mac/802_11 set HeaderDuration_ 0.000040
Mac/802_11 set SymbolDuration_ 0.000008
Mac/802_11 set BasicModulationScheme_ 0
Mac/802_11 set use_802_11a_flag_ true
#Mac/802_11 set RTSThreshold_ 2346
Mac/802_11 set MAC_DBG_ 0
# fix for when RTS/CTS not used
#Mac/802_11 set RTS_ 20.0
#Mac/802_11 set CTS_ 14.0
#To create a simulator object. This can be done with the command:
set ns [new Simulator]
set f [open coop.tr w]
$ns trace-all $f
set namtrace [open coop.nam w]
$ns namtrace-all-wireless $namtrace $val(x) $val(y)
set f0 [open co_packet_received.data w]
set f1 [open co_packet_lost.data w]
set f2 [open co_expected_packet.data w]
set f3 [open byte.data w]
set f4 [open receivingTime.data w]
set f5 [open actual_Time.data w]
set f8 [open co_cbr6np.data w]
set f9 [open co_cbr6nl.data w]
set f10 [open co_cbr6ex.data w]
set f11 [open cbr6by.data w]
set f12 [open cbr6re.data w]
set f13 [open co_sumband.data w]
set f14 [open co_avecbr6.data w]
set f6 [open co_sumband.data w]
set f7 [open co_aveband.data w]
#set f8 [open sequence_number.data w]
set topo [new Topography]
$topo load_flatgrid 650 650
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)]
set chan_7 [new $val(chan)]
set chan_8 [new $val(chan)]
set chan_9 [new $val(chan)]
set chan_10 [new $val(chan)]
set chan_11 [new $val(chan)]
set chan_12 [new $val(chan)]
set chan_13 [new $val(chan)]
set chan_14 [new $val(chan)]
set chan_15 [new $val(chan)]
set chan_16 [new $val(chan)]
# CONFIGURE AND CREATE NODES
proc UniformErr {} {
set err [new ErrorModel]
$err unit packet
$err set rate_ 0.05
$err ranvar [new RandomVariable/Uniform]
$err drop-target [new Agent/Null]
return $err}
# NODE CONFIG PART
$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) \
-topoInstance $topo \
-agentTrace OFF \
-routerTrace ON \
-macTrace ON \
-movementTrace OFF \
-channel $chan_1 \
-IncomingErrProc UniformErr
for {set i 0} {$i < $val(nn) } {incr i} {set node_($i) [$ns node]
$node_($i) random-motion 0 ;# disable random motion
}
proc finish {} {
global ns f f0 f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12 f13 f14 namtrace
$ns flush-trace
close $namtrace
close $f0
close $f1
close $f2
close $f3
close $f4
close $f5
close $f6
close $f7
close $f8
close $f9
close $f10
close $f11
close $f12
close $f13
exec xgraph co_packet_received.data co_packet_lost.data co_expected_packet.data &
exec xgraph receivingTime.data actual_Time.data -geometry 500x300 &
exec xgraph byte.data co_sumband.data -geometry 400x300 &
#exec xgraph co_cbr6np.data co_cbr6nl.data co_cbr6ex.data &
#exec xgraph cbr6re.data -geometry 500x300 &
#exec xgraph byte.data co_sumband.data cbr6by.data co_sumcbr6.data -geometry 400x300 &
exec nam -r 5m coop.nam &
exit 0
}
set co_sumband 0
set co_aveband 0
set co_sumcbr6 0
set co_avecbr6 0
proc record {} {
global sink0 sink1 sink2 sink3 sink4 sink5 sink6 sink7 f0 f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12 f13 f14 co_sumband co_aveband co_sumcbr6 co_avecbr6
#Get An Instance Of The Simulator
set ns [Simulator instance]
#Set The Time After Which The Procedure Should Be Called Again
set time 1.0
#How Many Bytes Have Been Received By The Traffic Sinks?
set bw0 [$sink5 set npkts_]
set bw1 [$sink5 set nlost_]
set bw [$sink5 set expected_]
set byte [$sink5 set bytes_]
set receivingTime [$sink5 set lastPktTime_]
set cbr6np [$sink0 set npkts_]
set cbr6nl [$sink0 set nlost_]
set cbr6ex [$sink0 set expected_]
set cbr6by [$sink0 set bytes_]
set cbr6re [$sink0 set lastPktTime_]
#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 $bw]"
puts $f3 "$now [expr $byte]"
puts $f4 "$now [expr $receivingTime]"
puts $f5 "$now [expr $now]"
puts $f6 "$now [expr $co_sumband]"
puts $f7 "$now [expr $co_aveband]"
puts $f8 "$now [expr $cbr6np]"
puts $f9 "$now [expr $cbr6nl]"
puts $f10 "$now [expr $cbr6ex]"
puts $f11 "$now [expr $cbr6by]"
puts $f12 "$now [expr $cbr6re]"
puts $f13 "$now [expr $co_sumcbr6]"
puts $f14 "$now [expr $co_avecbr6]"
#calculate loss ratio, to avoid divided-by-zero error
if {$bw0==0} {set bw0 1}
set co_sumband [expr $co_sumband + $byte]
#average throughput in bps, 10 sec is session time
set co_aveband [expr double($co_sumband)/10]
puts "T=$now, Band=$bw0, co_sumband= $co_sumband, co_aveband=$co_aveband"
#puts " At time =$now, Loss ratio [expr double($bw1)/double($bw1+$bw0)]"
if {$cbr6np==0} {set cbr6np 1}
set co_sumcbr6 [expr $co_sumcbr6 + $cbr6by]
#average throughput in bps, 10 sec is session time
set co_avecbr6 [expr double($co_sumcbr6)/10]
#Reset the bytes_ values on the traffic sinks
#$sink5 set byte_ 0
#reset the nlost_ values to zero
#$sink0 set nlost_ 0
#reset the npkts_ values to zero
#$sink0 set npkts_ 0
#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
for {set i 0} {$i < $val(nn)} {incr i} {
$ns initial_node_pos $node_($i) 30+i*100
}
$node_(0) set X_ 0.0
$node_(0) set Y_ 0.0
$node_(0) set Z_ 0.0
$node_(1) set X_ 0.0
$node_(1) set Y_ 0.0
$node_(1) set Z_ 0.0
$node_(2) set X_ 0.0
$node_(2) set Y_ 0.0
$node_(2) set Z_ 0.0
$node_(3) set X_ 0.0
$node_(3) set Y_ 0.0
$node_(3) set Z_ 0.0
$node_(4) set X_ 0.0
$node_(4) set Y_ 0.0
$node_(4) set Z_ 0.0
$node_(5) set X_ 0.0
$node_(5) set Y_ 0.0
$node_(5) set Z_ 0.0
$node_(6) set X_ 0.0
$node_(6) set Y_ 0.0
$node_(6) set Z_ 0.0
$node_(7) set X_ 0.0
$node_(7) set Y_ 0.0
$node_(7) set Z_ 0.0
$node_(8) set X_ 0.0
$node_(8) set Y_ 0.0
$node_(8) set Z_ 0.0
$node_(9) set X_ 0.0
$node_(9) set Y_ 0.0
$node_(9) set Z_ 0.0
$node_(10) set X_ 0.0
$node_(10) set Y_ 0.0
$node_(10) set Z_ 0.0
$node_(11) set X_ 0.0
$node_(11) set Y_ 0.0
$node_(11) set Z_ 0.0
$node_(12) set X_ 0.0
$node_(12) set Y_ 0.0
$node_(12) set Z_ 0.0
$node_(13) set X_ 0.0
$node_(13) set Y_ 0.0
$node_(13) set Z_ 0.0
$node_(14) set X_ 0.0
$node_(14) set Y_ 0.0
$node_(14) set Z_ 0.0
$node_(15) set X_ 0.0
$node_(15) set Y_ 0.0
$node_(15) set Z_ 0.0
$ns at 0.0 "$node_(0) setdest 100.0 100.0 3000.0"
$ns at 0.0 "$node_(1) setdest 200.0 200.0 3000.0"
$ns at 0.0 "$node_(2) setdest 300.0 200.0 3000.0"
$ns at 0.0 "$node_(3) setdest 400.0 300.0 3000.0"
$ns at 0.0 "$node_(4) setdest 500.0 400.0 3000.0"
$ns at 0.0 "$node_(5) setdest 560.0 280.0 3000.0"
$ns at 0.0 "$node_(6) setdest 550.0 200.0 3000.0"
$ns at 0.0 "$node_(7) setdest 600.0 300.0 3000.0"
$ns at 0.0 "$node_(8) setdest 500.0 480.0 3000.0"
$ns at 0.0 "$node_(9) setdest 640.0 620.0 3000.0"
$ns at 0.0 "$node_(10) setdest 500.0 500.0 3000.0"
$ns at 0.0 "$node_(11) setdest 100.0 100.0 3000.0"
$ns at 0.0 "$node_(12) setdest 300.0 100.0 3000.0"
$ns at 0.0 "$node_(13) setdest 500.0 280.0 3000.0"
$ns at 0.0 "$node_(14) setdest 340.0 200.0 3000.0"
$ns at 0.0 "$node_(15) setdest 550.0 500.0 3000.0"
$ns at 1.5 "$node_(5) setdest 100.0 400.0 500.0"
#$ns at 1.0 "$node_(3) setdest 400.0 400.0 500.0"
$ns at 2.5 "$node_(14) setdest 500.0 300.0 500.0"
$ns at 3.5 "$node_(5) setdest 500.0 100.0 500.0"
#$ns at 4.0 "$node_(3) setdest 600.0 400.0 500.0"
#$ns at 3.5 "$node_(5) setdest 300.0 100.0 500.0"
$ns at 7.0 "$node_(6) setdest 550.0 550.0 500.0"
$ns at 8.0 "$node_(6) setdest 100.0 400.0 500.0"
#added nodes
$ns at 2.5 "$node_(8) setdest 550.0 500.0 500.0"
$ns at 1.6 "$node_(9) setdest 400.0 300.0 500.0"
$ns at 1.5 "$node_(10) setdest 550.0 300.0 500.0"
$ns at 1.6 "$node_(11) setdest 100.0 100.0 500.0"
$ns at 1.8 "$node_(12) setdest 110.0 110.0 500.0"
$ns at 2.0 "$node_(13) setdest 100.0 280.0 500.0"
$ns at 2.0 "$node_(14) setdest 550.0 400.0 500.0"
$ns at 2.5 "$node_(15) setdest 250.0 500.0 500.0"
$ns at 0.4 "$node_(0) label \"source\""
$ns at 0.4 "$node_(14) label \"destination\""
#$ns at 0.4 "$node_(3) label \"destination\""
$ns at 1.9 "$node_(1) label \"helper\""
#$ns at 2.4 "$node_(3) label \" \""
$ns at 3.3 "$node_(1) label \" \""
$ns at 3.4 "$node_(2) label \"helper\""
$ns at 4.8 "$node_(14) label \"\""
#$ns at 4.5 "$node_(3) label \"destination\""
$ns at 6.2 "$node_(6) label \"destination\""
$ns at 6.8 "$node_(2) label \"\""
$ns at 7.0 "$node_(3) label \"helper\""
$ns at 7.9 "$node_(3) label \"\""
$ns at 8.0 "$node_(4) label \"helper\""
$ns at 9.0 "$node_(4) label \"\""
$ns at 9.1 "$node_(1) label \"helper\""
#added nodes
$ns at 0.0 "$node_(8) label \"helper\""
$ns at 0.0 "$node_(9) \"\""
$ns at 0.0 "$node_(10) label \"\""
$ns at 0.0 "$node_(11)\"\""
$ns at 0.0 "$node_(12) \"\""
$ns at 0.0 "$node_(13) label \"helper\""
$ns at 0.0 "$node_(15) \"helper\""
# 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]
set sink6 [new Agent/LossMonitor]
set sink7 [new Agent/LossMonitor]
#aaded nodes
set sink8 [new Agent/LossMonitor]
set sink9 [new Agent/LossMonitor]
set sink10 [new Agent/LossMonitor]
set sink11 [new Agent/LossMonitor]
set sink12 [new Agent/LossMonitor]
set sink13 [new Agent/LossMonitor]
set sink14 [new Agent/LossMonitor]
set sink15 [new Agent/LossMonitor]
$ns attach-agent $node_(0) $sink0
$ns attach-agent $node_(1) $sink1
$ns attach-agent $node_(2) $sink2
$ns attach-agent $node_(3) $sink3
$ns attach-agent $node_(4) $sink4
$ns attach-agent $node_(5) $sink5
$ns attach-agent $node_(6) $sink6
$ns attach-agent $node_(7) $sink7
#aaded nodes
$ns attach-agent $node_(8) $sink8
$ns attach-agent $node_(9) $sink9
$ns attach-agent $node_(10) $sink10
$ns attach-agent $node_(11) $sink11
$ns attach-agent $node_(12) $sink12
$ns attach-agent $node_(13) $sink13
$ns attach-agent $node_(14) $sink14
$ns attach-agent $node_(15) $sink15
#$ns attach-agent $sink2 $sink3
set tcp0 [new Agent/TCP]
$ns attach-agent $node_(0) $tcp0
set tcp1 [new Agent/TCP]
$ns attach-agent $node_(1) $tcp1
set tcp2 [new Agent/TCP]
$ns attach-agent $node_(2) $tcp2
set tcp3 [new Agent/TCP]
$ns attach-agent $node_(3) $tcp3
set tcp4 [new Agent/TCP]
$ns attach-agent $node_(4) $tcp4
set tcp5 [new Agent/TCP]
$ns attach-agent $node_(5) $tcp5
set tcp6 [new Agent/TCP]
$ns attach-agent $node_(6) $tcp6
set tcp7 [new Agent/TCP]
$ns attach-agent $node_(7) $tcp7
#added nodes
set tcp8 [new Agent/TCP]
$ns attach-agent $node_(8) $tcp8
set tcp9 [new Agent/TCP]
$ns attach-agent $node_(9) $tcp9
set tcp10 [new Agent/TCP]
$ns attach-agent $node_(10) $tcp10
set tcp11 [new Agent/TCP]
$ns attach-agent $node_(11) $tcp11
set tcp12 [new Agent/TCP]
$ns attach-agent $node_(12) $tcp12
set tcp13 [new Agent/TCP]
$ns attach-agent $node_(13) $tcp13
set tcp14 [new Agent/TCP]
$ns attach-agent $node_(14) $tcp14
set tcp15 [new Agent/TCP]
$ns attach-agent $node_(15) $tcp15
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
}
#src bitrate: 500*16/0.015=26.666 Kbps
set cbr0 [attach-CBR-traffic $node_(0) $sink5 500 .015]
set cbr1 [attach-CBR-traffic $node_(1) $sink2 500 .015]
set cbr2 [attach-CBR-traffic $node_(2) $sink3 500 .015]
set cbr3 [attach-CBR-traffic $node_(3) $sink0 500 .015]
set cbr4 [attach-CBR-traffic $node_(4) $sink3 500 .015]
set cbr5 [attach-CBR-traffic $node_(5) $sink0 500 .015]
set cbr6 [attach-CBR-traffic $node_(6) $sink0 500 .015]
set cbr7 [attach-CBR-traffic $node_(7) $sink0 500 .015]
#added nodes
set cbr8 [attach-CBR-traffic $node_(8) $sink5 500 .015]
set cbr9 [attach-CBR-traffic $node_(9) $sink2 500 .015]
set cbr10 [attach-CBR-traffic $node_(10) $sink3 500 .015]
set cbr11 [attach-CBR-traffic $node_(11) $sink0 500 .015]
set cbr12 [attach-CBR-traffic $node_(12) $sink3 500 .015]
set cbr13 [attach-CBR-traffic $node_(13) $sink0 500 .015]
set cbr14 [attach-CBR-traffic $node_(14) $sink0 500 .015]
set cbr15 [attach-CBR-traffic $node_(15) $sink0 500 .015]
$ns at 0.0 "record"
$ns at 0.5 "$cbr0 start"
$ns at 0.6 "$cbr2 start"
$ns at 2.0 "$cbr2 stop"
$ns at 4.6 "$cbr4 start"
$ns at 5.0 "$cbr0 stop"
$ns at 5.8 "$cbr4 stop"
$ns at 6.0 "$cbr0 stop"
$ns at 6.0 "$cbr6 start"
$ns at 9.0 "$cbr4 stop"
#$ns at 4.5 "$cbr2 start"
#$ns at 6.0 "$cbr2 stop"
#$ns at 5.4 "$cbr0 start"
#added nodes
$ns at 0.0 "record"
$ns at 0.5 "$cbr0 start"
$ns at 0.6 "$cbr12 start"
$ns at 2.0 "$cbr12 stop"
$ns at 4.6 "$cbr13 start"
$ns at 5.0 "$cbr0 stop"
$ns at 5.8 "$cbr13 stop"
$ns at 6.0 "$cbr0 stop"
$ns at 6.0 "$cbr11 start"
$ns at 7.5 "$cbr11 stop"
$ns at 9.0 "$cbr15 stop"
$ns at 10.0 "finish"
puts "Start of simulation.."
$ns run
this the out error when I run the above tcl script:
Start of simulation..
ns: _o254 "":
(_o254 cmd line 1)
invoked from within
"_o254 cmd {}"
invoked from within
"catch "$self cmd $args" ret"
invoked from within
"if [catch "$self cmd $args" ret] {
set cls [$self info class]
global errorInfo
set savedInfo $errorInfo
error "error when calling class $cls: $args" $..."
(procedure "_o254" line 2)
(SplitObject unknown line 2)
invoked from within
"_o254 """
Last edited by joseph4life; 02-21-2014 at 02:20 AM.
Reason: to add tags
|
|
|
02-21-2014, 01:40 AM
|
#10
|
LQ 5k Club
Registered: Jan 2008
Location: Copenhagen DK
Distribution: PCLinuxOS2023 Fedora38 + 50+ other Linux OS, for test only.
Posts: 17,519
|
#8, #9, @joseph4life.
Please edit posts #8 and #9 to use code tags : The `Edit' button.
* http://www.linuxquestions.org/questi....php?do=bbcode
* http://www.linuxquestions.org/questi...gs-4175464257/
Code tags : That's the # button in the 'Advanced Editor'.
Or type [/code] at code , error text end, and [code] at text start.
Besides that it's not the real code you show in post #10.
So you will also have to replace the faulty text.
-
Last edited by knudfl; 02-21-2014 at 01:46 AM.
|
|
|
02-22-2014, 10:46 AM
|
#11
|
LQ 5k Club
Registered: Jan 2008
Location: Copenhagen DK
Distribution: PCLinuxOS2023 Fedora38 + 50+ other Linux OS, for test only.
Posts: 17,519
|
# 9 .
The code in post #9 is still not usable.
Please replace the "code text" with the real tcl code.
|
|
|
10-03-2014, 12:10 AM
|
#12
|
LQ Newbie
Registered: Oct 2014
Posts: 2
Rep:
|
how to add multi radio and multi channel in tcl script to create topology traffic ns2.34?
hi all people;
i want to now how to add multi radio and multi channel in OLSR, can anyone help me or send script with have
thank you
|
|
|
All times are GMT -5. The time now is 06:52 PM.
|
LinuxQuestions.org is looking for people interested in writing
Editorials, Articles, Reviews, and more. If you'd like to contribute
content, let us know.
|
Latest Threads
LQ News
|
|