1. 18 Mar, 2003 1 commit
  2. 25 Feb, 2003 1 commit
    • Leigh B. Stoller's avatar
      Add tb-set-uselinkdelays to switch between normal delay nodes and · 46155476
      Leigh B. Stoller authored
      link delays setup on the nodes.
      
      Add tb-set-forcelinkdelays to force a linkdelay (when uselinkdelays is
      on of course) to be inserted, even if the link was unshaped. This
      allows it to be controlled later, say via the event system. This is
      nice, cause in the current system an unshaped link cannot be later
      shaped.
      
      Note that these are currently require FBSD-47.
      46155476
  3. 15 Jan, 2003 1 commit
  4. 18 Dec, 2002 1 commit
    • Leigh B. Stoller's avatar
      Allow slightly altered tb-fix-node syntax for creating jails on local · d564e0fb
      Leigh B. Stoller authored
      nodes. The second argument can now be an NS node instead of the name
      of a real testbed node. For example:
      
      	tb-set-hardware $node3  pc600
      	tb-set-hardware $nodev1 pcvm600
      	tb-fix-node $nodev1 $node3
      
      So, "fix" $nodev1 to $node3. The intent is that once $node3 is
      allocated by assign to a real testbed node, we can then allocate a
      virtual node on pcXX to $nodev1. I did this primarily to allow for
      easy testing of jails via my NS file, without having to hack assign
      wrapper to deeply. Note there are still hacks in assign_wrapper to
      support this, but they are not extensive.
      
      Also my old usewatunnels stuff I never checked in:
      
      	tb-set-usewatunnels 0/1
      d564e0fb
  5. 06 Nov, 2002 1 commit
    • Shashi Guruprasad's avatar
      NSE related changes: · 05bc3bd4
      Shashi Guruprasad authored
        - Fixes the routing problem
        - A new type "sim" has been created but not in the DB. node_types and
          nodes remain unchanged. This will change after we figure out how
          to represent in the DB the local multiple virtnodes in one phynode case
          The frontend tb_compat.tcl adds the sim type and ptopgen associates
          a huge number of sim nodes to all local PCs.
        - All simulated nodes go into one pc untill I finish coding the distributed
          nse case. Also, sim nodes go through assign but with an explicit
          "fix-node" directive in the top file. A random free pc is chosen using
          the avail script in assign_wrapper. If we don't fix node it, assign
          maps sim nodes to multiple phy nodes even when a valid all to one
          mapping is possible.
        - Syntax for nse:
      
         $ns make-simulated {
      
             set simnode1 [$ns node]
             set simnode2 [$ns node]
      
         }
         ...
      
         The old syntax
      
         set nsenode [$ns nsenode]
         $nsenode make-simulated {
         }
      
         is deprecated
      
        - All 38 frontend tests in the testsuite pass
      
        - A new table v2pmap has been added to handle multiple virt nodes to
          one phy node mapping. This is used in "tmcc hostnames" currently.
      
        - The phy node that is picked to run nse is loaded with a custom image
          FBSD45-NSE . This can use the default FBSD kernel if there is a mechanism
          to run at 1000HZ, have options IPFIREWALL_FORWARD and PERFMON turned on.
          The image is in the 'testbed' group. Do not delete this image.
      
        - Static routes now adds routes for the case dst == nexthop. The routing
          graph would be disconnected otherwise and I need to traverse this in
          assign_wrapper for nse. On the client side, such a route is filtered out in
          libsetup.pm
      
        - sim nodes are also correctly visualized
      05bc3bd4
  6. 04 Nov, 2002 1 commit
  7. 07 Jul, 2002 1 commit
  8. 03 Jul, 2002 1 commit
  9. 17 Jun, 2002 1 commit
  10. 31 May, 2002 1 commit
  11. 22 May, 2002 1 commit
  12. 14 May, 2002 2 commits
  13. 25 Apr, 2002 1 commit
    • Leigh B. Stoller's avatar
      Fix contributed by Brian. The general idea is to allow global · 0f774f51
      Leigh B. Stoller authored
      variables to be renamed from within a subroutine:
      
      	proc create_testnet {} {
      		set s1 [$ns node]
       	}
      
      Chris' redefined set did not allow this. This is further complicated
      by the fact that its difficult to tell whats a global variable. You
      can declare a variable global, but until its set for the first time,
      the TCL info function will not tell you its a global. We do not want
      to rename locals of course, since that would make no sense to do.
      Anyway, Brian contributed the code to fix the new set function, and I
      looked at it and did my best to understand it (I kinda do), but no way
      I can be sure! I ran it through the test suite and spot checked the DB
      state. Seems to work okay.
      0f774f51
  14. 22 Apr, 2002 1 commit
  15. 26 Mar, 2002 1 commit
  16. 25 Mar, 2002 1 commit
  17. 22 Mar, 2002 1 commit
    • Leigh B. Stoller's avatar
      Add new NS program object. This syntax is different than I had · b9ba3398
      Leigh B. Stoller authored
      originally anticipated, but I was worried about confusion with the
      Agent/Application API that NS provides, and which is substantially
      different than this. Anyway, I added support for this syntax:
      
      	set prog0 [$ns program]
      	$prog0 set node $nodeA
      	$prog0 set command "/bin/ls -lt >& /users/stoller/logs/foo"
      
      Kinda obvious, although whats not obvious is that without events to
      start and stop them, these will never run. So, I added support for
      this:
      
      	$ns at 10 "$prog0 start"
      	$ns at 20 "$prog0 stop"
      
      You can start and stop programs as much as you like, but you cannot
      start a program that is already running; you have to stop it first.
      You can also issue these dynamically using the same api:
      
      	tevc -e testbed/Tevents now prog0 start \
      		"command=/bin/ls -lt / >& /users/stoller/logs/foo"
      	tevc -e testbed/Tevents now prog0 stop
      
      Note the quotes when using a multiword command. I also had intened to
      support a KILL command so that you could send arbitrary signals to a
      process. I added that, but I will not bother to document it yet; since
      I invoke /bin/csh to process the command line, the issue of signals is
      a little fuzzy. Sending a signal like -HUP to the parent process (the
      csh) is not really what we want to do. I think we can support this,
      but I need to poke around and see what the right way is.
      b9ba3398
  18. 16 Mar, 2002 1 commit
  19. 25 Feb, 2002 1 commit
  20. 08 Jan, 2002 1 commit
  21. 20 Dec, 2001 1 commit
  22. 27 Nov, 2001 1 commit
  23. 05 Sep, 2001 1 commit
  24. 23 Jul, 2001 1 commit
  25. 13 Jul, 2001 1 commit
  26. 27 Jun, 2001 1 commit
  27. 20 Jun, 2001 1 commit
  28. 11 Apr, 2001 2 commits
    • Christopher Alfeld's avatar
      Serious restructuring of parsing. · e9b8c412
      Christopher Alfeld authored
      This makes variable dereferencing work as expected.  So:
      
              for {set i 1} {$i <= 8} {incr i} {
                  set c($i) [$ns node]
                  tb-set-node-cmdline $c($i) "BATCH=1 DST_NAME=$c($i)"
              }
      
      will now expand $c($i) to correctly to c-$i.  Similarly:
      
      set node1 [$ns node]
      puts "First node is $node1"
      
      will output:
      
      First node is node1.
      
      Caveat: It assumes that every node and lan will be stored in a
      variable.  So doing something like:
      
      $ns duplex-link [$ns node] [$ns node] 100Mb 150ms DroPTail
      
      while in theory valid and sensible, won't work.
      
      A clean rewrite of the parsing stuff is probably something I should do
      soon.  It needs it to do all the variable munging correctly.
      e9b8c412
    • Christopher Alfeld's avatar
      33144107
  29. 06 Apr, 2001 1 commit
  30. 05 Apr, 2001 1 commit
  31. 14 Mar, 2001 1 commit
  32. 14 Feb, 2001 1 commit
    • Christopher Alfeld's avatar
      parse.tcl has a few minor fixes and copies in the tb_compat.tcl file now. · 8b418535
      Christopher Alfeld authored
      postparse now uses tbcmds
      sim.tcl is updated to close (and flush) the tbcmds output stream if it
      exists.
      tb_compat.tcl is the TB version that should be included by newstyle ns scripts.
      tb_compat_nop.tcl is the NS version that should be renamed to tb_compat.tcl
      and included by scripts when they are run under ns.  I.e. scripts
      	source tb_compat.tcl
      as the first line and then use either the TB or the NS (nop) version depending
      on what they are doing.
      8b418535
  33. 13 Feb, 2001 1 commit
  34. 03 Jan, 2001 1 commit
  35. 26 Dec, 2000 1 commit
  36. 01 Nov, 2000 1 commit
  37. 18 Oct, 2000 1 commit
  38. 16 Oct, 2000 1 commit