Hi you all
Anyone can help about my simulation. I run a two clusters simulation
with two mobile nodes each and one AP for each cluster. I would like to
send a packet from one mobile in cluster A to another node in cluster B
using AODV. However, When I run the simulation, there is always a
Segmentation fault: code dumped. Here is my tcl code shown below:
Thanks.

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-and-wireless.tr
set opt(namtr)       wired-and-wireless.nam
set opt(nn)             4                      
set opt(adhocRouting)   AODV                      
set opt(cp)             ""                        
set opt(sc)             "scen-3-test"   
set opt(stop)           250                           
#set num_wired_nodes      2
set num_bs_nodes         2


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

  set tracefd  [open $opt(tr) w]
  $ns_ trace-all $tracefd
  set namtracefd [open $opt(namtr) w]
 
$ns_ namtrace-all-wireless $namtracefd $opt(x) $opt(y)
   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.1.0}        
  #for {set i 0} {$i < $num_wired_nodes} {incr i} {
   #   set W($i) [$ns_ node [lindex $temp $i]]
  #} 
  $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 ON \
                 -agentTrace ON \
                 -routerTrace OFF \
                 -macTrace OFF
#set BS1 is the first node of 0.0.0 of the cluster list
  set temp {1.0.0 1.0.1 1.0.2}   
  
  set BS(0) [$ns_ node [lindex $temp 0]]
  set temp2 {0.0.0 0.0.1 0.0.2}   
  set BS(1) [$ns_ node [lindex $temp2 0]]
  $BS(0) random-motion 0 
  $BS(1) random-motion 0

  $BS(0) set X_ 1.0
  $BS(0) set Y_ 2.0
  $BS(0) set Z_ 0.0
  
  $BS(1) set X_ 650.0
  $BS(1) set Y_ 600.0
  $BS(1) set Z_ 0.0
  
  #configure for mobilenodes
  $ns_ node-config -wiredRouting OFF

  for {set j 0} {$j < $opt(nn)} {incr j} {
    
                        if ($j%2==0) {
                        set node_($j) [ $ns_ node [lindex $temp \
            [expr $j / 2 +1]] ]
    $node_($j) base-station [AddrParams addr2id [$BS(0) node-addr]]
        puts $j
        puts [lindex $temp \
            [expr $j / 2 +1]]
        } else { 
        set node_($j) [ $ns_ node [lindex $temp2 \
            [expr $j / 2 +1]] ]
         $node_($j) base-station [AddrParams addr2id [$BS(1) node-addr]]
         puts $j
         puts [lindex $temp2 \
            [expr $j / 2 +1]]
        }
  }
  #create links between BS and BS nodes

  $ns_ duplex-link $BS(0) $BS(1) 5Mb 2ms DropTail
  
  $ns_ duplex-link-op $BS(0) $BS(1) orient left-down
  puts "aaa"

  # setup TCP connections
  set tcp1 [new Agent/TCP]
  $tcp1 set class_ 2
  set sink1 [new Agent/TCPSink]
  $ns_ attach-agent $node_(0) $tcp1
  $ns_ attach-agent $node_(2) $sink1
  $ns_ connect $tcp1 $sink1
  set ftp1 [new Application/FTP]
  $ftp1 attach-agent $tcp1
  $ns_ at 120 "$ftp1 start"
puts "aab"

  
  for {set i 0} {$i < $opt(nn)} {incr i} {
      $ns_ initial_node_pos $node_($i) 20
   }
puts "aac"
  for {set i } {$i < $opt(nn) } {incr i} {
      $ns_ at $opt(stop).0000010 "$node_($i) reset";
  }
  puts "aad"
  $ns_ at $opt(stop).0000010 "$BS(0) reset";
 $ns_ at $opt(stop).0000020 "$BS(1) reset";
  $ns_ at $opt(stop).1 "puts \"NS EXITING...\" ; $ns_ halt"

  puts "Starting Simulation..."
  $ns_ run

This message is intended for the addressee(s) only and should not be read, 
copied or disclosed to anyone else outwith the University without the 
permission of the sender.
It is your responsibility to ensure that this message and any attachments are 
scanned for viruses or other defects. Napier University does not accept 
liability for any loss
or damage which may result from this email or any attachment, or for errors or 
omissions arising after it was sent. Email is not a secure medium. Email 
entering the 
University's system is subject to routine monitoring and filtering by the 
University. 

Reply via email to