NS2

Bonjour, j'ai pas mal essayé de recompiler NS2, mais je n'arrive pas. dites moi comment je peux le faire?
Configuration: Windows XP
Internet Explorer 6.0

4 réponses

  • Votes
  • Date
  • Date décroissante
  1. merci c est pas juste un probleme de compilation c est qu il ne reconnait pas le nom de la classe comme un type complet
    et j arrive pas a trouvé une solution pour qu il l accpete
    1. Bonjour

      je dois ajouter du code dans le fichier MAC802.11.
      J ai une classe qui s appel Mac820_11 qui hérite de la classe Mac
      je dois déclarer un objet de cette classe
      qd je fais Mac802_11 nom_de_l_objet il ne compile plus et me sort une erreur type incomplete
      D avance merci.
      1. Un simple make clean, suivi d'un make dans le répertoir ns2 suffit a le recomplier...
        1. Bonjour,
          j'aurai besoin de votre aide si vous voullez bien sur. hier quand j'ai installé NS-allinone-2.28 ça marche bien, et quand j'ai voulu rajouter les modules Wimax car je dois faire une simulation du handover de wimax rien ne marche. et j'ai refais l'installation de NS, l'exemple que j'ai exécuté hier marchait mais aujourdhui ne marche pas, voici ce qu'il m'affiche

          ns example1b.tcl
          ns: finish: couldn't execute "nam": no such file or directory
          while executing
          "exec nam example1b.nam &"
          (procedure "finish" line 7)
          invoked from within
          "finish"

          je vous remercie pour votre aide.
      2. hello
        i would like to try to create the iridium satellite constellation
        but the nam cant' show me any thing, i don't know where is the problem
        please answer me!!!

        this is my code:

        global ns
        set ns [new Simulator]

        # Global configuration parameters
        HandoffManager/Term set elevation_mask_ 8.2
        HandoffManager/Term set term_handoff_int_ 10
        HandoffManager/Sat set sat_handoff_int_ 10
        HandoffManager/Sat set latitude_threshold_ 60
        HandoffManager/Sat set longitude_threshold_ 10
        HandoffManager set handoff_randomization_ true
        SatRouteObject set metric_delay_ true
        # Set this to false if opt(wiredRouting) == ON below
        SatRouteObject set data_driven_computation_ true
        # "ns-random 0" sets seed heuristically; other integers are deterministic
        ns-random 1
        Agent set ttl_ 32; # Should be > than max diameter in network

        # One plane of Iridium-like satellites

        global opt
        set opt(chan) Channel/Sat
        set opt(bw_down) 1.5Mb; # Downlink bandwidth (satellite to ground)
        set opt(bw_up) 1.5Mb; # Uplink bandwidth
        set opt(bw_isl) 25Mb
        set opt(phy) Phy/Sat
        set opt(mac) Mac/Sat
        set opt(ifq) Queue/DropTail
        set opt(qlim) 50
        set opt(ll) LL/Sat
        set opt(wiredRouting) OFF

        set opt(alt) 780; # Polar satellite altitude (Iridium)
        set opt(inc) 86.4; # Orbit inclination w.r.t. equator

        # XXX This tracing enabling must precede link and node creation
        set outfile [open out.tr w]
        $ns trace-all $outfile

        set nf [open out.nam w]
        $ns namtrace-all $nf

        # Create the satellite nodes
        # Nodes 0-99 are satellite nodes; 100 and higher are earth terminals

        $ns node-config -satNodeType polar \
        -llType $opt(ll) \
        -ifqType $opt(ifq) \
        -ifqLen $opt(qlim) \
        -macType $opt(mac) \
        -phyType $opt(phy) \
        -channelType $opt(chan) \
        -downlinkBW $opt(bw_down) \
        -wiredRouting $opt(wiredRouting)

        set alt $opt(alt)
        set inc $opt(inc)

        #source sat-iridium-nodes.tcl

        set plane 1
        set n0 [$ns node]; $n0 set-position $alt $inc 0 0 $plane
        set n1 [$ns node]; $n1 set-position $alt $inc 0 32.73 $plane
        set n2 [$ns node]; $n2 set-position $alt $inc 0 65.45 $plane
        set n3 [$ns node]; $n3 set-position $alt $inc 0 98.18 $plane
        set n4 [$ns node]; $n4 set-position $alt $inc 0 130.91 $plane
        set n5 [$ns node]; $n5 set-position $alt $inc 0 163.64 $plane
        set n6 [$ns node]; $n6 set-position $alt $inc 0 196.36 $plane
        set n7 [$ns node]; $n7 set-position $alt $inc 0 229.09 $plane
        set n8 [$ns node]; $n8 set-position $alt $inc 0 261.82 $plane
        set n9 [$ns node]; $n9 set-position $alt $inc 0 294.55 $plane
        set n10 [$ns node]; $n10 set-position $alt $inc 0 327.27 $plane

        incr plane
        set n15 [$ns node]; $n15 set-position $alt $inc 31.6 16.36 $plane
        set n16 [$ns node]; $n16 set-position $alt $inc 31.6 49.09 $plane
        set n17 [$ns node]; $n17 set-position $alt $inc 31.6 81.82 $plane
        set n18 [$ns node]; $n18 set-position $alt $inc 31.6 114.55 $plane
        set n19 [$ns node]; $n19 set-position $alt $inc 31.6 147.27 $plane
        set n20 [$ns node]; $n20 set-position $alt $inc 31.6 180 $plane
        set n21 [$ns node]; $n21 set-position $alt $inc 31.6 212.73 $plane
        set n22 [$ns node]; $n22 set-position $alt $inc 31.6 245.45 $plane
        set n23 [$ns node]; $n23 set-position $alt $inc 31.6 278.18 $plane
        set n24 [$ns node]; $n24 set-position $alt $inc 31.6 310.91 $plane
        set n25 [$ns node]; $n25 set-position $alt $inc 31.6 343.64 $plane

        incr plane
        set n30 [$ns node]; $n30 set-position $alt $inc 63.2 0 $plane
        set n31 [$ns node]; $n31 set-position $alt $inc 63.2 32.73 $plane
        set n32 [$ns node]; $n32 set-position $alt $inc 63.2 65.45 $plane
        set n33 [$ns node]; $n33 set-position $alt $inc 63.2 98.18 $plane
        set n34 [$ns node]; $n34 set-position $alt $inc 63.2 130.91 $plane
        set n35 [$ns node]; $n35 set-position $alt $inc 63.2 163.64 $plane
        set n36 [$ns node]; $n36 set-position $alt $inc 63.2 196.36 $plane
        set n37 [$ns node]; $n37 set-position $alt $inc 63.2 229.09 $plane
        set n38 [$ns node]; $n38 set-position $alt $inc 63.2 261.82 $plane
        set n39 [$ns node]; $n39 set-position $alt $inc 63.2 294.55 $plane
        set n40 [$ns node]; $n40 set-position $alt $inc 63.2 327.27 $plane

        incr plane
        set n45 [$ns node]; $n45 set-position $alt $inc 94.8 16.36 $plane
        set n46 [$ns node]; $n46 set-position $alt $inc 94.8 49.09 $plane
        set n47 [$ns node]; $n47 set-position $alt $inc 94.8 81.82 $plane
        set n48 [$ns node]; $n48 set-position $alt $inc 94.8 114.55 $plane
        set n49 [$ns node]; $n49 set-position $alt $inc 94.8 147.27 $plane
        set n50 [$ns node]; $n50 set-position $alt $inc 94.8 180 $plane
        set n51 [$ns node]; $n51 set-position $alt $inc 94.8 212.73 $plane
        set n52 [$ns node]; $n52 set-position $alt $inc 94.8 245.45 $plane
        set n53 [$ns node]; $n53 set-position $alt $inc 94.8 278.18 $plane
        set n54 [$ns node]; $n54 set-position $alt $inc 94.8 310.91 $plane
        set n55 [$ns node]; $n55 set-position $alt $inc 94.8 343.64 $plane

        incr plane
        set n60 [$ns node]; $n60 set-position $alt $inc 126.4 0 $plane
        set n61 [$ns node]; $n61 set-position $alt $inc 126.4 32.73 $plane
        set n62 [$ns node]; $n62 set-position $alt $inc 126.4 65.45 $plane
        set n63 [$ns node]; $n63 set-position $alt $inc 126.4 98.18 $plane
        set n64 [$ns node]; $n64 set-position $alt $inc 126.4 130.91 $plane
        set n65 [$ns node]; $n65 set-position $alt $inc 126.4 163.64 $plane
        set n66 [$ns node]; $n66 set-position $alt $inc 126.4 196.36 $plane
        set n67 [$ns node]; $n67 set-position $alt $inc 126.4 229.09 $plane
        set n68 [$ns node]; $n68 set-position $alt $inc 126.4 261.82 $plane
        set n69 [$ns node]; $n69 set-position $alt $inc 126.4 294.55 $plane
        set n70 [$ns node]; $n70 set-position $alt $inc 126.4 327.27 $plane

        incr plane
        set n75 [$ns node]; $n75 set-position $alt $inc 158 16.36 $plane
        set n76 [$ns node]; $n76 set-position $alt $inc 158 49.09 $plane
        set n77 [$ns node]; $n77 set-position $alt $inc 158 81.82 $plane
        set n78 [$ns node]; $n78 set-position $alt $inc 158 114.55 $plane
        set n79 [$ns node]; $n79 set-position $alt $inc 158 147.27 $plane
        set n80 [$ns node]; $n80 set-position $alt $inc 158 180 $plane
        set n81 [$ns node]; $n81 set-position $alt $inc 158 212.73 $plane
        set n82 [$ns node]; $n82 set-position $alt $inc 158 245.45 $plane
        set n83 [$ns node]; $n83 set-position $alt $inc 158 278.18 $plane
        set n84 [$ns node]; $n84 set-position $alt $inc 158 310.91 $plane
        set n85 [$ns node]; $n85 set-position $alt $inc 158 343.64 $plane

        # By setting the next_ variable on polar sats; handoffs can be optimized

        $n0 set_next $n10; $n1 set_next $n0; $n2 set_next $n1; $n3 set_next $n2
        $n4 set_next $n3; $n5 set_next $n4; $n6 set_next $n5; $n7 set_next $n6
        $n8 set_next $n7; $n9 set_next $n8; $n10 set_next $n9

        $n15 set_next $n25; $n16 set_next $n15; $n17 set_next $n16; $n18 set_next $n17
        $n19 set_next $n18; $n20 set_next $n19; $n21 set_next $n20; $n22 set_next $n21
        $n23 set_next $n22; $n24 set_next $n23; $n25 set_next $n24

        $n30 set_next $n40; $n31 set_next $n30; $n32 set_next $n31; $n33 set_next $n32
        $n34 set_next $n33; $n35 set_next $n34; $n36 set_next $n35; $n37 set_next $n36
        $n38 set_next $n37; $n39 set_next $n38; $n40 set_next $n39

        $n45 set_next $n55; $n46 set_next $n45; $n47 set_next $n46; $n48 set_next $n47
        $n49 set_next $n48; $n50 set_next $n49; $n51 set_next $n50; $n52 set_next $n51
        $n53 set_next $n52; $n54 set_next $n53; $n55 set_next $n54

        $n60 set_next $n70; $n61 set_next $n60; $n62 set_next $n61; $n63 set_next $n62
        $n64 set_next $n63; $n65 set_next $n64; $n66 set_next $n65; $n67 set_next $n66
        $n68 set_next $n67; $n69 set_next $n68; $n70 set_next $n69

        $n75 set_next $n85; $n76 set_next $n75; $n77 set_next $n76; $n78 set_next $n77
        $n79 set_next $n78; $n80 set_next $n79; $n81 set_next $n80; $n82 set_next $n81
        $n83 set_next $n82; $n84 set_next $n83; $n85 set_next $n84

        # configure the ISLs
        #source sat-iridium-links.tcl

        # Now that the positions are set up, configure the ISLs
        # Plane 1 intraplane
        $ns add-isl intraplane $n0 $n1 $opt(bw_isl) $opt(ifq) $opt(qlim)
        $ns add-isl intraplane $n1 $n2 $opt(bw_isl) $opt(ifq) $opt(qlim)
        $ns add-isl intraplane $n2 $n3 $opt(bw_isl) $opt(ifq) $opt(qlim)
        $ns add-isl intraplane $n3 $n4 $opt(bw_isl) $opt(ifq) $opt(qlim)
        $ns add-isl intraplane $n4 $n5 $opt(bw_isl) $opt(ifq) $opt(qlim)
        $ns add-isl intraplane $n5 $n6 $opt(bw_isl) $opt(ifq) $opt(qlim)
        $ns add-isl intraplane $n6 $n7 $opt(bw_isl) $opt(ifq) $opt(qlim)
        $ns add-isl intraplane $n7 $n8 $opt(bw_isl) $opt(ifq) $opt(qlim)
        $ns add-isl intraplane $n8 $n9 $opt(bw_isl) $opt(ifq) $opt(qlim)
        $ns add-isl intraplane $n9 $n10 $opt(bw_isl) $opt(ifq) $opt(qlim)
        $ns add-isl intraplane $n10 $n0 $opt(bw_isl) $opt(ifq) $opt(qlim)

        # Plane 2 intraplane
        $ns add-isl intraplane $n15 $n16 $opt(bw_isl) $opt(ifq) $opt(qlim)
        $ns add-isl intraplane $n16 $n17 $opt(bw_isl) $opt(ifq) $opt(qlim)
        $ns add-isl intraplane $n17 $n18 $opt(bw_isl) $opt(ifq) $opt(qlim)
        $ns add-isl intraplane $n18 $n19 $opt(bw_isl) $opt(ifq) $opt(qlim)
        $ns add-isl intraplane $n19 $n20 $opt(bw_isl) $opt(ifq) $opt(qlim)
        $ns add-isl intraplane $n20 $n21 $opt(bw_isl) $opt(ifq) $opt(qlim)
        $ns add-isl intraplane $n21 $n22 $opt(bw_isl) $opt(ifq) $opt(qlim)
        $ns add-isl intraplane $n22 $n23 $opt(bw_isl) $opt(ifq) $opt(qlim)
        $ns add-isl intraplane $n23 $n24 $opt(bw_isl) $opt(ifq) $opt(qlim)
        $ns add-isl intraplane $n24 $n25 $opt(bw_isl) $opt(ifq) $opt(qlim)
        $ns add-isl intraplane $n25 $n15 $opt(bw_isl) $opt(ifq) $opt(qlim)

        # Plane 3 intraplane
        $ns add-isl intraplane $n30 $n31 $opt(bw_isl) $opt(ifq) $opt(qlim)
        $ns add-isl intraplane $n31 $n32 $opt(bw_isl) $opt(ifq) $opt(qlim)
        $ns add-isl intraplane $n32 $n33 $opt(bw_isl) $opt(ifq) $opt(qlim)
        $ns add-isl intraplane $n33 $n34 $opt(bw_isl) $opt(ifq) $opt(qlim)
        $ns add-isl intraplane $n34 $n35 $opt(bw_isl) $opt(ifq) $opt(qlim)
        $ns add-isl intraplane $n35 $n36 $opt(bw_isl) $opt(ifq) $opt(qlim)
        $ns add-isl intraplane $n36 $n37 $opt(bw_isl) $opt(ifq) $opt(qlim)
        $ns add-isl intraplane $n37 $n38 $opt(bw_isl) $opt(ifq) $opt(qlim)
        $ns add-isl intraplane $n38 $n39 $opt(bw_isl) $opt(ifq) $opt(qlim)
        $ns add-isl intraplane $n39 $n40 $opt(bw_isl) $opt(ifq) $opt(qlim)
        $ns add-isl intraplane $n40 $n30 $opt(bw_isl) $opt(ifq) $opt(qlim)

        # Plane 4 intraplane
        $ns add-isl intraplane $n45 $n46 $opt(bw_isl) $opt(ifq) $opt(qlim)
        $ns add-isl intraplane $n46 $n47 $opt(bw_isl) $opt(ifq) $opt(qlim)
        $ns add-isl intraplane $n47 $n48 $opt(bw_isl) $opt(ifq) $opt(qlim)
        $ns add-isl intraplane $n48 $n49 $opt(bw_isl) $opt(ifq) $opt(qlim)
        $ns add-isl intraplane $n49 $n50 $opt(bw_isl) $opt(ifq) $opt(qlim)
        $ns add-isl intraplane $n50 $n51 $opt(bw_isl) $opt(ifq) $opt(qlim)
        $ns add-isl intraplane $n51 $n52 $opt(bw_isl) $opt(ifq) $opt(qlim)
        $ns add-isl intraplane $n52 $n53 $opt(bw_isl) $opt(ifq) $opt(qlim)
        $ns add-isl intraplane $n53 $n54 $opt(bw_isl) $opt(ifq) $opt(qlim)
        $ns add-isl intraplane $n54 $n55 $opt(bw_isl) $opt(ifq) $opt(qlim)
        $ns add-isl intraplane $n55 $n45 $opt(bw_isl) $opt(ifq) $opt(qlim)

        # Plane 5 intraplane
        $ns add-isl intraplane $n60 $n61 $opt(bw_isl) $opt(ifq) $opt(qlim)
        $ns add-isl intraplane $n61 $n62 $opt(bw_isl) $opt(ifq) $opt(qlim)
        $ns add-isl intraplane $n62 $n63 $opt(bw_isl) $opt(ifq) $opt(qlim)
        $ns add-isl intraplane $n63 $n64 $opt(bw_isl) $opt(ifq) $opt(qlim)
        $ns add-isl intraplane $n64 $n65 $opt(bw_isl) $opt(ifq) $opt(qlim)
        $ns add-isl intraplane $n65 $n66 $opt(bw_isl) $opt(ifq) $opt(qlim)
        $ns add-isl intraplane $n66 $n67 $opt(bw_isl) $opt(ifq) $opt(qlim)
        $ns add-isl intraplane $n67 $n68 $opt(bw_isl) $opt(ifq) $opt(qlim)
        $ns add-isl intraplane $n68 $n69 $opt(bw_isl) $opt(ifq) $opt(qlim)
        $ns add-isl intraplane $n69 $n70 $opt(bw_isl) $opt(ifq) $opt(qlim)
        $ns add-isl intraplane $n70 $n60 $opt(bw_isl) $opt(ifq) $opt(qlim)

        # Plane 6 intraplane
        $ns add-isl intraplane $n75 $n76 $opt(bw_isl) $opt(ifq) $opt(qlim)
        $ns add-isl intraplane $n76 $n77 $opt(bw_isl) $opt(ifq) $opt(qlim)
        $ns add-isl intraplane $n77 $n78 $opt(bw_isl) $opt(ifq) $opt(qlim)
        $ns add-isl intraplane $n78 $n79 $opt(bw_isl) $opt(ifq) $opt(qlim)
        $ns add-isl intraplane $n79 $n80 $opt(bw_isl) $opt(ifq) $opt(qlim)
        $ns add-isl intraplane $n80 $n81 $opt(bw_isl) $opt(ifq) $opt(qlim)
        $ns add-isl intraplane $n81 $n82 $opt(bw_isl) $opt(ifq) $opt(qlim)
        $ns add-isl intraplane $n82 $n83 $opt(bw_isl) $opt(ifq) $opt(qlim)
        $ns add-isl intraplane $n83 $n84 $opt(bw_isl) $opt(ifq) $opt(qlim)
        $ns add-isl intraplane $n84 $n85 $opt(bw_isl) $opt(ifq) $opt(qlim)
        $ns add-isl intraplane $n85 $n75 $opt(bw_isl) $opt(ifq) $opt(qlim)

        # Interplane ISLs
        # 2 interplane ISLs per satellite (one along the seam)

        # Plane 1-2
        $ns add-isl interplane $n0 $n15 $opt(bw_isl) $opt(ifq) $opt(qlim)
        $ns add-isl interplane $n1 $n16 $opt(bw_isl) $opt(ifq) $opt(qlim)
        $ns add-isl interplane $n2 $n17 $opt(bw_isl) $opt(ifq) $opt(qlim)
        $ns add-isl interplane $n3 $n18 $opt(bw_isl) $opt(ifq) $opt(qlim)
        $ns add-isl interplane $n4 $n19 $opt(bw_isl) $opt(ifq) $opt(qlim)
        $ns add-isl interplane $n5 $n20 $opt(bw_isl) $opt(ifq) $opt(qlim)
        $ns add-isl interplane $n6 $n21 $opt(bw_isl) $opt(ifq) $opt(qlim)
        $ns add-isl interplane $n7 $n22 $opt(bw_isl) $opt(ifq) $opt(qlim)
        $ns add-isl interplane $n8 $n23 $opt(bw_isl) $opt(ifq) $opt(qlim)
        $ns add-isl interplane $n9 $n24 $opt(bw_isl) $opt(ifq) $opt(qlim)
        $ns add-isl interplane $n10 $n25 $opt(bw_isl) $opt(ifq) $opt(qlim)

        # Plane 2-3
        $ns add-isl interplane $n15 $n30 $opt(bw_isl) $opt(ifq) $opt(qlim)
        $ns add-isl interplane $n16 $n31 $opt(bw_isl) $opt(ifq) $opt(qlim)
        $ns add-isl interplane $n17 $n32 $opt(bw_isl) $opt(ifq) $opt(qlim)
        $ns add-isl interplane $n18 $n33 $opt(bw_isl) $opt(ifq) $opt(qlim)
        $ns add-isl interplane $n19 $n34 $opt(bw_isl) $opt(ifq) $opt(qlim)
        $ns add-isl interplane $n20 $n35 $opt(bw_isl) $opt(ifq) $opt(qlim)
        $ns add-isl interplane $n21 $n36 $opt(bw_isl) $opt(ifq) $opt(qlim)
        $ns add-isl interplane $n22 $n37 $opt(bw_isl) $opt(ifq) $opt(qlim)
        $ns add-isl interplane $n23 $n38 $opt(bw_isl) $opt(ifq) $opt(qlim)
        $ns add-isl interplane $n24 $n39 $opt(bw_isl) $opt(ifq) $opt(qlim)
        $ns add-isl interplane $n25 $n40 $opt(bw_isl) $opt(ifq) $opt(qlim)

        # Plane 3-4
        $ns add-isl interplane $n30 $n45 $opt(bw_isl) $opt(ifq) $opt(qlim)
        $ns add-isl interplane $n31 $n46 $opt(bw_isl) $opt(ifq) $opt(qlim)
        $ns add-isl interplane $n32 $n47 $opt(bw_isl) $opt(ifq) $opt(qlim)
        $ns add-isl interplane $n33 $n48 $opt(bw_isl) $opt(ifq) $opt(qlim)
        $ns add-isl interplane $n34 $n49 $opt(bw_isl) $opt(ifq) $opt(qlim)
        $ns add-isl interplane $n35 $n50 $opt(bw_isl) $opt(ifq) $opt(qlim)
        $ns add-isl interplane $n36 $n51 $opt(bw_isl) $opt(ifq) $opt(qlim)
        $ns add-isl interplane $n37 $n52 $opt(bw_isl) $opt(ifq) $opt(qlim)
        $ns add-isl interplane $n38 $n53 $opt(bw_isl) $opt(ifq) $opt(qlim)
        $ns add-isl interplane $n39 $n54 $opt(bw_isl) $opt(ifq) $opt(qlim)
        $ns add-isl interplane $n40 $n55 $opt(bw_isl) $opt(ifq) $opt(qlim)

        # Plane 4-5
        $ns add-isl interplane $n45 $n60 $opt(bw_isl) $opt(ifq) $opt(qlim)
        $ns add-isl interplane $n46 $n61 $opt(bw_isl) $opt(ifq) $opt(qlim)
        $ns add-isl interplane $n47 $n62 $opt(bw_isl) $opt(ifq) $opt(qlim)
        $ns add-isl interplane $n48 $n63 $opt(bw_isl) $opt(ifq) $opt(qlim)
        $ns add-isl interplane $n49 $n64 $opt(bw_isl) $opt(ifq) $opt(qlim)
        $ns add-isl interplane $n50 $n65 $opt(bw_isl) $opt(ifq) $opt(qlim)
        $ns add-isl interplane $n51 $n66 $opt(bw_isl) $opt(ifq) $opt(qlim)
        $ns add-isl interplane $n52 $n67 $opt(bw_isl) $opt(ifq) $opt(qlim)
        $ns add-isl interplane $n53 $n68 $opt(bw_isl) $opt(ifq) $opt(qlim)
        $ns add-isl interplane $n54 $n69 $opt(bw_isl) $opt(ifq) $opt(qlim)
        $ns add-isl interplane $n55 $n70 $opt(bw_isl) $opt(ifq) $opt(qlim)

        # Plane 5-6
        $ns add-isl interplane $n60 $n75 $opt(bw_isl) $opt(ifq) $opt(qlim)
        $ns add-isl interplane $n61 $n76 $opt(bw_isl) $opt(ifq) $opt(qlim)
        $ns add-isl interplane $n62 $n77 $opt(bw_isl) $opt(ifq) $opt(qlim)
        $ns add-isl interplane $n63 $n78 $opt(bw_isl) $opt(ifq) $opt(qlim)
        $ns add-isl interplane $n64 $n79 $opt(bw_isl) $opt(ifq) $opt(qlim)
        $ns add-isl interplane $n65 $n80 $opt(bw_isl) $opt(ifq) $opt(qlim)
        $ns add-isl interplane $n66 $n81 $opt(bw_isl) $opt(ifq) $opt(qlim)
        $ns add-isl interplane $n67 $n82 $opt(bw_isl) $opt(ifq) $opt(qlim)
        $ns add-isl interplane $n68 $n83 $opt(bw_isl) $opt(ifq) $opt(qlim)
        $ns add-isl interplane $n69 $n84 $opt(bw_isl) $opt(ifq) $opt(qlim)
        $ns add-isl interplane $n70 $n85 $opt(bw_isl) $opt(ifq) $opt(qlim)

        # Set up terrestrial nodes
        $ns node-config -satNodeType terminal
        set n100 [$ns node]
        $n100 set-position 37.9 -122.3; # Berkeley
        set n101 [$ns node]
        $n101 set-position 42.3 -71.1; # Boston

        # Add GSL links
        # It doesn't matter what the sat node is (handoff algorithm will reset it)
        $n100 add-gsl polar $opt(ll) $opt(ifq) $opt(qlim) $opt(mac) $opt(bw_up) \
        $opt(phy) [$n0 set downlink_] [$n0 set uplink_]
        $n101 add-gsl polar $opt(ll) $opt(ifq) $opt(qlim) $opt(mac) $opt(bw_up) \
        $opt(phy) [$n0 set downlink_] [$n0 set uplink_]

        # Trace all queues
        $ns trace-all-satlinks $outfile
        $ns_ namtrace-all-satlinks $nf

        # Attach agents
        set udp0 [new Agent/UDP]
        $ns attach-agent $n100 $udp0
        set cbr0 [new Application/Traffic/CBR]
        $cbr0 attach-agent $udp0
        $cbr0 set interval_ 1.0

        set null0 [new Agent/Null]
        $ns attach-agent $n101 $null0

        $ns connect $udp0 $null0
        $ns at 1.0 "$cbr0 start"

        # We're using a centralized routing genie-- create and start it here
        set satrouteobject_ [new SatRouteObject]
        $satrouteobject_ compute_routes

        $ns at 30.0 "finish" ; # one earth rotation

        proc finish {} {
        global ns outfile nf
        $ns flush-trace
        close $outfile
        close $nf

        puts "running nam..."
        exec nam out.nam &

        exit 0
        }

        $ns run