i tried running the mobile ipv6 scenario i ran for the mobile ipv4 using the

scripts below but i got an error "segmentation fault (core dumped)"when i tried

running the simulation.what do u think is the problem

thanks





# Basic Mobile IPv6 example without using ns-topoman

# Needs proc defined in file proc-mipv6-config.tcl



Agent/MIPv6/MN set bs_forwarding_     0

################################################################

proc log-mn-movement_no_topo { } {

  global logtimer ns

  Class LogTimer -superclass Timer

  LogTimer instproc timeout {} {

         global mobile_

        $mobile_ log-movement

        $self sched 1

  }

  set logtimer [new LogTimer]

  $logtimer sched 1

}



################################################################

# Create Topology

################################################################

proc create-my-topo {} {

  global ns opt topo mobile_ cn_ mnn_nodes_



  # Create and define topography

  set topo        [new Topography]

  #   set prop        [new $opt(prop)]

  #   $prop topography $topo

  $topo load_flatgrid 1500 1500





  # god is a necessary object when wireless is used

  # set to a value equal to the number of mobile nodes

  create-god 5



  # Call node-config

  $ns node-config \

        -addressType hierarchical \

         -agentTrace ON \

         -routerTrace ON



  # Set NS Addressing

  AddrParams set domain_num_ 5

  AddrParams set cluster_num_ {4 1 1 1 1}

  AddrParams set nodes_num_ {1 1 1 1 2 1 1 1 }



  # Create Nodes

  set cn_ [create-router 0.0.0]

  set router1_ [create-router 1.0.0]

  set router2_ [create-router 2.0.0]

  set router3_ [create-router 3.0.0]

  set bs1_ [create-base-station 1.1.0 1.0.0 200 200 0]

  set bs2_ [create-base-station 1.2.0 1.0.0 200 600 0]

  set bs3_ [create-base-station 1.3.0 1.0.0 600 200 0]

  set bs4_ [create-base-station 1.4.0 1.0.0 600 600 0]

  set mobile_ [create-mobile 1.1.1 1.1.0 190 190 0 1 0.01]

  $bs1_ random-motion 0

  $bs2_ random-motion 0

  $bs3_ random-motion 0

  $bs4_ random-motion 0



  # Position (fixed) for base-station nodes (HA & FA).

  $bs1_ set X_ 250.000000000000

  $bs1_ set Y_ 1050.000000000000

  $bs1_ set Z_ 0.000000000000



  $bs2_ set X_ 950.000000000000

  $bs2_ set Y_ 1050.000000000000

  $bs2_ set Z_ 0.000000000000



  $bs3_ set X_ 950.000000000000

  $bs3_ set Y_ 300.000000000000

  $bs3_ set Z_ 0.000000000000



  $bs4_ set X_ 250.000000000000

  $bs4_ set Y_ 300.000000000000

  $bs4_ set Z_ 0.000000000000









  # Create Links

  $ns duplex-link $cn_ $router1_ 100Mb 2ms DropTail

  $ns duplex-link $router1_ $router2_ 100Mb 2ms DropTail

  $ns duplex-link $router1_ $router3_ 100Mb 2ms DropTail

  $ns duplex-link $router2_ $bs1_ 100Mb 2ms DropTail

  $ns duplex-link $router2_ $bs2_ 100Mb 2ms DropTail

  $ns duplex-link $router3_ $bs3_ 100Mb 2ms DropTail

  $ns duplex-link $router3_ $bs4_ 100Mb 2ms DropTail



  $ns duplex-link-op $cn_ $router1_ orient down

  $ns duplex-link-op $router1_ $router2_ orient left-down

  $ns duplex-link-op $router1_ $router3_ orient right-down

  $ns duplex-link-op $router2_ $bs1_ orient left-down

  $ns duplex-link-op $router2_ $bs2_ orient right-down

  $ns duplex-link-op $router3_ $bs3_ orient down

  $ns duplex-link-op $router3_ $bs4_ orient right-down



  # movement of the MH

  $mobile_ set Z_ 0.000000000000

  $mobile_ set Y_ 1000.000000000000

  $mobile_ set X_ 250.000000000000



  # MH starts to move towards FA1

  $ns at 10.000000000000 "$mobile_ setdest 950.000000000000

1000.000000000000 20.000000000000"

  # MH move from FA1 towards FA2

  $ns at 50.000000000000 "$mobile_ setdest 950.000000000000

350.000000000000 20.000000000000"

  # MH move from FA2 towards FA3

  $ns at 85.000000000000 "$mobile_ setdest 250.000000000000

350.000000000000 20.000000000000"





  display_ns_addr_domain

}



################################################################

# End of Simulation

################################################################

proc finish { } {

  global tracef ns namf opt mobile_ cn_



  puts "Simulation finished"

  # Dump the Binding Update List of MN and Binding Cache of HA

  [[$mobile_ set ha_] set regagent_] dump

  [$cn_ set regagent_] dump

  [$mobile_ set regagent_] dump



  $ns flush-trace

  flush $tracef

  close $tracef

  close $namf

  #puts "running nam with $opt(namfile) ... "

  #exec nam $opt(namfile) &

  exit 0

}





################################################################

# Main

################################################################

proc main { } {

   global opt ns TOPOM namf n tracef mobile_ cn_

   # Source Files

   # source set-def-options.tcl

   # set BASEDIR to your own correct path

   source 

/home/Administrator/ns-allinone-2.33/ns-2.33/tcl/lib/proc-mipv6-config.tcl

   source  /home/Administrator/ns-allinone-2.33/ns-2.33/tcl/lib/proc-tools.tcl

   source  /home/Administrator/ns-allinone-2.33/ns-2.33/tcl/lib/proc-topo.tcl

   source  /home/Administrator/ns-allinone-2.33/ns-2.33/tcl/lib/ns-topoman.tcl

   source 

/home/Administrator/ns-allinone-2.33/ns-2.33/tcl/lib/proc-mobi-global.tcl

   source 

/home/Administrator/ns-allinone-2.33/ns-2.33/tcl/lib/proc-mobi-config.tcl

   source  /home/Administrator/ns-allinone-2.33/ns-2.33/tcl/mobility/timer.tcl







   set NAMF out.nam

   set TRACEF out.tr

   set INFOF out.info



   set opt(mactrace) ON

   set opt(NAM) 1

   set opt(namfile) $NAMF

   set opt(stop) 130

   set opt(tracefile) $TRACEF



   #>--------------- Extract options from command line ---------------<

   #Getopt        ; # Get option from the command line

   #DisplayCommandLine



   #>---------------------- Simulator Settings ----------------------<

   set ns [new Simulator]



   #>------------------------ Open trace files ----------------------<

   exec rm -f $opt(tracefile)

   set tracef [open $opt(tracefile) w]

   #... dump the file

   $ns trace-all $tracef



   set namf [open $opt(namfile) w]

   $ns namtrace-all $namf



   #>------------- Protocol and Topology Settings -------------------<

   create-my-topo

   log-mn-movement_no_topo



   set-cbr

   # set-ping-int 0.1 $cn_ $mobile_ 10 $opt(stop)











   #>----------------------- Run Simulation -------------------------<

   $ns at $opt(stop) "finish"

   $ns run



   $ns dump-topology $namf

   close $namf

   #puts "running nam with $opt(namfile) ... "

   #exec nam $opt(namfile) &

}



proc set-cbr { } {

   global ns cn_ mobile_

   set tcp1 [new Agent/TCP]

   $ns attach-agent $cn_ $tcp1



   set dst [new Agent/TCPSink]

   $ns attach-agent $mobile_ $dst

   $ns connect $tcp1 $dst



   set ftp1 [new Application/FTP]

   $ftp1 set packetSize_ 1040

   $ftp1 set rate_ 100k

   $ftp1 set interval_ 0.05

   $ftp1 attach-agent $tcp1

    $ns at 10.0 "$ftp1 start"

}



main




      

Reply via email to