hi, i downloaded ason from net and installed it.i get the following error when using $ns rtproto LS OR DV .even a small hint is highly welcomed.
* Nodes created * * Links created * wrong # args: should be "set varName ?newValue?" while executing "set nodeslist _o10 _o15 _o40" ("eval" body line 1) invoked from within "eval "set nodeslist $args"" (procedure "Agent/rtProto/DV" line 5) (Agent/rtProto/DV init-all line 5) invoked from within "Agent/rtProto/DV init-all _o10 _o15 _o40" ("eval" body line 1) invoked from within "eval Agent/rtProto/$proto init-all $rtprotos_($proto)" ("foreach" body line 2) invoked from within "foreach proto [array names rtprotos_] { eval Agent/rtProto/$proto init-all $rtprotos_($proto) }" 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 "_o45" 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 "example1.tcl" line 414) THE EXAMPLE FILE IS INCLUDED HERE FOR REFERENCE set BASENAME "example1" ;# whatever set DEBUG yes ;# yes, no set TRAFFIC CBR ;# CBR, Expoo, Pareto set PACKET_SIZE 100 ;# packet size in *bytes* set CBR_RATE 100Mb set CBR_MAXPKTS 125000 ;# max of CBR_MAXPKTS = (1sec * CBR_RATE)/(PACKET_SIZE * 8 bits/Byte) :-) set EXPOO_RATE 100Mb set BURST_TIME 0.002 ;# in seconds set IDLE_TIME 0.002 ;# in seconds set STRATEGY restoration ;# restoration, n&l_protection, path_protection set TRIGGER data-driven ;# data-driven, control-driven set FAILURE link ;# link, node, node-link, twolinks set RTPROTO DV ;# LS, DV, Static, Session set LINK_BW 622Mb ;# 622 Mbps set LINK_DELAY 0.00001 ;# 10 �ec ==> 2*10^8 m/sec * 10^(-5) m = 2000 m set WL_NUM 16 set WL_BW 2500000000 ;# 2.5 Gbps (STM-16) set FIBER_BW [expr $WL_NUM * $WL_BW] set FIBER_DELAY 0.000001 ;# 1 �ec ==> 2*10^8 m/sec * 10^(-6) m = 200 m set LINK_FAIL 45 ;# 24, 45 set NODE_FAIL no ;# 4 set LINK_FAIL_2 23 ;# 23 set TRACENS no ;# yes, no set XGRAPH no ;# yes, no # DEBUGGING if { $DEBUG == "yes" } { #Classifier/ASON set debug_ true #RtModule/ASON set debug_ true RtModule/ASON set cc_debug_ true #RtModule/ASON set lrm_debug_ true #RtModule/ASON set rc_debug_ true #RtModule/ASON set sm_debug_ true #DelayLink/Fiber set debug_ true } ######################################################### # # # COMMON CODE # # # # The rest of the file remains always the same # ######################################################### # Create a simulator object set ns [new Simulator] # Open the trace and xgraph file if {$TRACENS == "yes"} { set tracef [open $BASENAME.trace w] $ns trace-all $tracef } if {$XGRAPH == "yes"} { set xgraphf [open $BASENAME.xgraph w] } # Define a 'finish' procedure proc finish {} { global ns TRACENAM TRACENS XGRAPH basename $ns flush-trace if {$TRACENS == "yes"} { global tracef close $tracef } if {$XGRAPH == "yes"} { global xgraphf close $xgraphf exec xgraph $BASENAME.xgraph -geometry 800x400 & } exit 0 } ###################################################### # TOPOLOGY ###################################################### $ns readAsonDelays delays.txt # # make nodes # $ns node-config -MPLS ON set LSR0 [$ns node] set LSR1 [$ns node] $ns node-config -MPLS OFF -ASON ON set ASON2 [$ns node] set ASON3 [$ns node] set ASON4 [$ns node] set ASON5 [$ns node] $ns node-config -ASON OFF -MPLS ON set LSR6 [$ns node] $ns node-config -MPLS OFF $LSR6 add-neighbor $LSR1 puts "* Nodes created *" #puts "* LSR0: $LSR0 *\n* LSR1: $LSR1 *\n* ASON2: $ASON2 *\n* ASON3: $ASON3 *" #puts "* ASON4: $ASON4 *\n* ASON5: $ASON5 *\n* LSR6: $LSR6 *" $ns rtproto $RTPROTO $LSR0 $LSR1 $LSR6 # # make links # $ns duplex-link $LSR0 $LSR1 $LINK_BW $LINK_DELAY DropTail 0 $ns duplex-link $LSR0 $ASON2 $LINK_BW $LINK_DELAY DropTail 0 $ns duplex-link $LSR1 $ASON3 $LINK_BW $LINK_DELAY DropTail 0 $ns queue-limit $LSR0 $ASON2 $CBR_MAXPKTS $ns queue-limit $LSR1 $ASON3 $CBR_MAXPKTS $ns duplex-FiberLink $ASON2 $ASON3 $FIBER_BW $FIBER_DELAY $WL_NUM $ns duplex-FiberLink $ASON2 $ASON4 $FIBER_BW $FIBER_DELAY $WL_NUM $ns duplex-FiberLink $ASON3 $ASON5 $FIBER_BW $FIBER_DELAY $WL_NUM $ns duplex-FiberLink $ASON4 $ASON5 $FIBER_BW $FIBER_DELAY $WL_NUM $ns duplex-link $ASON5 $LSR6 $LINK_BW $LINK_DELAY DropTail 0 $ns queue-limit $ASON5 $LSR6 $CBR_MAXPKTS puts "* Links created *" if {$TRACENS == "yes"} { #$ns trace-all $tracef #$ns trace-queue $LSR0 $ASON2 $tracef #$ns trace-queue $LSR0 $LSR1 $tracef #$ns trace-queue $ASON5 $LSR6 $tracef #$ns trace-queue $ASON2 $ASON3 $tracef #$ns trace-queue $ASON2 $ASON4 $tracef #$ns trace-queue $ASON4 $ASON5 $tracef #$ns trace-node $ASON2 $BASENAME.ason2 #$ns trace-node $ASON4 $BASENAME.ason4 } ########################################################### # LSRs' CONFIGURATION ########################################################### # # configure ldp agents on all mpls nodes # $ns LDP-peer $LSR0 $LSR1 $ns LDP-peer $LSR0 $LSR6 $ns LDP-peer $LSR1 $LSR6 [$LSR0 get-module "MPLS"] enable-reroute "new" [$LSR1 get-module "MPLS"] enable-reroute "new" [$LSR6 get-module "MPLS"] enable-reroute "new" # # set ldp-message color # $ns ldp-request-color blue $ns ldp-mapping-color red $ns ldp-withdraw-color magenta $ns ldp-release-color orange $ns ldp-notification-color yellow # # Label Allocation and Distribution Scheme: # upstream or downstream-on-demand (both for data-driven) # Classifier/Addr/MPLS enable-on-demand # # Label Distribution Control Mode: # independent or ordered mode (both for data-driven) # Classifier/Addr/MPLS enable-ordered-control # # LSP Trigger: # control-driven (pre-demanded established LSPs), or # data-driven (LSPs on traffic demand) # #[$LSR0 get-module "MPLS"] enable-data-driven #[$LSR1 get-module "MPLS"] enable-data-driven #[$LSR6 get-module "MPLS"] enable-data-driven ########################################################### # AGENTS ########################################################### # # Define a procedure which periodically records the bandwidth received by the # traffic sink sink0 and writes it to the file xgraphf. # proc record {} { global sink0 xgraphf set ns [Simulator instance] # Set the time after which the procedure should be called again set time 0.002 # How many bytes have been received by the traffic sink(s)? set bw0 [$sink0 set bytes_] # Get the current time set now [$ns now] # Calculate the bandwidth (in MBit/s) and write it to the file(s) puts $xgraphf "$now [expr $bw0/$time*8/1000000]" # Reset the bytes_ values on the traffic sink(s) $sink0 set bytes_ 0 # Re-schedule the procedure $ns at [expr $now+$time] "record" } # # Define a procedure which outputs to stdout lost & received packets # using LossMonitor class variables: nlost_, npkts_ # proc recv-pkts {} { global sink0 TRAFFIC BASENAME puts "\n* $BASENAME: Total received packets in dest: [$sink0 set npkts_] *" puts "* $BASENAME: Total lost packets in dest: [$sink0 set nlost_] *" } # # Create UDP Agent and attach it to ASON1 # set src0 [new Agent/UDP] $ns attach-agent $LSR0 $src0 #puts "* New UDP agent created and attached to node LSR0 *" # # Create traffic sink of type LossMonitor so as to measure # received bandwidth and attach to ASON4 # set sink0 [new Agent/LossMonitor] $ns attach-agent $LSR6 $sink0 #puts "* New Sink agent created and attached to node LSR5 *" # # connect the source agent with the sink agent # $ns connect $src0 $sink0 ########################################################### # TRAFFIC ########################################################### if {$TRAFFIC == "Expoo"} { # attach exponential traffic to source agent src0 set exp0 [new Application/Traffic/Exponential] $exp0 set packetSize_ $PACKET_SIZE $exp0 set burst_time_ $BURST_TIME $exp0 set idle_time_ $IDLE_TIME $exp0 set rate_ $EXPOO_RATE $exp0 attach-agent $src0 #puts "* Exponential traffic created and attached to agent udp *" } elseif {$TRAFFIC == "CBR"} { # attach CBR traffic to source agent src0 (in LSR0) set cbr0 [new Application/Traffic/CBR] $cbr0 set packetSize_ $PACKET_SIZE $cbr0 set rate_ $CBR_RATE $cbr0 set maxpkts_ $CBR_MAXPKTS $cbr0 attach-agent $src0 #puts "* CBR traffic created and attached to agent udp *" } ########################################################### # SIMULATION EVENTS ########################################################### # # Setup manually the RT of the ASON nodes # # [$node get-module "ASON"] setNextHop dst nextHop(node) [$ASON3 get-module "ASON"] setNextHop 0 1 # # Setup manually the TT of the ASON nodes # # [$node get-module "ASON"] setNeighbor neighbor #[$ASON2 get-module "ASON"] setNeighbor 0 #[$ASON3 get-module "ASON"] setNeighbor 1 #[$ASON5 get-module "ASON"] setNeighbor 6 # # Setup manually a lightpath with lpID # # $node manualSetSM lpID prevHop(node) inWid nextHop(node) outWid src dst # # COMMON ENEVTS # if {$XGRAPH == "yes"} { $ns at 0.0 "record" } $ns at 0.0 "$ns startASON" $ns at 0.0 "[$LSR0 set classifier_] install 6 [[$ns set link_(0:2)] head]" #$ns at 0.1 "[$LSR0 get-module MPLS] make-explicit-route 6 2 3000 -1" #$ns at 0.2 "[$LSR0 get-module MPLS] reroute-binding 6 -1 3000" #$ns at 0.9 "[$LSR0 set classifier_] dump" #$ns at 0.9 "[$LSR0 set dmux_] dump" #$ns at 0.9 "[$LSR0 get-module {MPLS}] lib-dump" #$ns at 0.9 "[$LSR1 set classifier_] dump" #$ns at 0.9 "[$LSR6 set classifier_] dump" if { $LINK_FAIL == "24" } { $ns at 1.1 "$ns fiber-down $ASON2 $ASON4" #$ns at 1.101 "[$ASON2 get-module {ASON}] notify-link-down" #$ns at 1.101 "[$ASON4 get-module {ASON}] notify-link-down" #$ns at 1.6 "$ns fiber-up $ASON2 $ASON4" #$ns at 1.601 "$ASON2 notify-link-up" #$ns at 1.601 "$ASON4 notify-link-up" } elseif { $LINK_FAIL == "45" } { $ns at 1.1 "$ns fiber-down $ASON4 $ASON5" #$ns at 1.1 "[$ASON4 get-module {ASON}] printTT" #$ns at 1.101 "[$ASON4 set classifier_] detectedLoL" #$ns at 1.101 "[$ASON5 set classifier_] detectedLoL" #$ns at 1.6 "$ns fiber-up $ASON4 $ASON5" #$ns at 1.601 "$ASON4 notify-link-up" #$ns at 1.601 "$ASON5 notify-link-up" } if { $NODE_FAIL == "4" } { $ns at 1.1 "[$ASON4 get-module {ASON}] node-down" } if { $LINK_FAIL_2 == "23" } { $ns at 1.1 "$ns fiber-down $ASON2 $ASON3" #$ns at 1.101 "[$ASON2 set classifier_] detectedLoL" #$ns at 1.101 "[$ASON3 set classifier_] detectedLoL" #$ns at 1.6 "$ns fiber-up $ASON2 $ASON4" #$ns at 1.601 "$ASON2 notify-link-up" #$ns at 1.601 "$ASON4 notify-link-up" } #$ns at 2.5 "$ns printTTs" #$ns at 2.5 "$ns printRTs" #$ns at 2.5 "$ns printSMs" #$ns at 2.5 "$ns printLRTs" #$ns at 2.5 "[$ASON2 get-module {ASON}] printRT" $ns at 2.5 "recv-pkts" $ns at 2.5 "finish" # # Events according to TRAFFIC TYPE # if {$TRAFFIC == "Expoo"} { $ns at 1.0 "puts \"* Exponential Traffic started *\"" $ns at 1.0 "$exp0 start" $ns at 2.0 "$exp0 stop" } elseif {$TRAFFIC == "CBR"} { $ns at 1.0 "puts \"* CBR Traffic started *\"" $ns at 1.0 "$cbr0 start" $ns at 2.0 "$cbr0 stop" } ############################################################ # Run the simulation ############################################################ $ns run any help is highly appreciated. thanks in advance vishnu priya