1. 07 Jul, 2002 1 commit
  2. 03 Jul, 2002 1 commit
  3. 17 Jun, 2002 1 commit
  4. 31 May, 2002 1 commit
  5. 28 May, 2002 2 commits
  6. 24 May, 2002 1 commit
  7. 23 May, 2002 1 commit
  8. 22 May, 2002 1 commit
  9. 21 May, 2002 1 commit
  10. 16 May, 2002 2 commits
  11. 15 May, 2002 3 commits
  12. 14 May, 2002 3 commits
  13. 12 May, 2002 1 commit
  14. 11 May, 2002 1 commit
  15. 09 May, 2002 1 commit
    • Leigh Stoller's avatar
      Commit the static routing support. Invoked from tbprerun, after the · 712fe222
      Leigh Stoller authored
      parser runs. The staticroutes script is a wrapper for Chad's route
      solver. The network optimization is currently turned off; use -t to
      turn it on, until I know if its correct.
      
      Note that Chad gets credit for routecalc.cc; I'm just committing the
      file for him, with a couple of trivial changes that I made.
      712fe222
  16. 08 May, 2002 3 commits
  17. 30 Apr, 2002 1 commit
  18. 25 Apr, 2002 1 commit
    • Leigh Stoller's avatar
      Fix contributed by Brian. The general idea is to allow global · 0f774f51
      Leigh 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
  19. 24 Apr, 2002 1 commit
    • Leigh Stoller's avatar
      Add trafgen/reset event for Mike. The event only goes to the traffic · 50515097
      Leigh Stoller authored
      source, which is something of a problem. The ugly solution right now
      is to send reset events to both the source and sink (sink first I
      would think) if you need both sides to get it.
      
      	$ns at 1 "$null0 reset"
      	$ns at 1 "$cbr0 reset"
      
      Another option might be to internally create the second event for
      reset ...
      50515097
  20. 23 Apr, 2002 1 commit
  21. 22 Apr, 2002 2 commits
  22. 17 Apr, 2002 1 commit
  23. 15 Apr, 2002 2 commits
    • Leigh Stoller's avatar
      Oops, left in a debugging printf. · 8e206eed
      Leigh Stoller authored
      8e206eed
    • Leigh Stoller's avatar
      Add static routing support: · d881770b
      Leigh Stoller authored
      	# Turn on manual routing.
      	$ns rtproto Manual
      
      	# Set manual routes
      	$nodeA add-route $nodeC $nodeB
      	$nodeC add-route $nodeA $nodeB
      
      results in this information being returned from the tmcd routing
      command:
      
      	ROUTERTYPE=manual
      	ROUTE DEST=192.168.2.3 DESTTYPE=host DESTMASK=255.255.255.0 \
      		NEXTHOP=192.168.3.2 COST=0
      
      The reason for DESTTYPE and DESTMASK is so that we can also support
      routing to links and lans, since doing it on a per host basis if not
      only hugely tedious, but plain impossible if the destination node has
      multiple links; the add-route syntax takes a node, but we need the IP
      of the relevant link in order to run the route add commands on the
      nodes. So, I've "extended" the syntax of add-route so that you can
      give it a Link or a Lan as the dest:
      
      	$nodeA add-route $link0 $nodeB
      	$nodeA add-route [$ns link $nodeB $nodeC] $nodeB
      
      In this case, the DESTTYPE=net, and the netmask is no longer ignored;
      it is used in the route add command. Currently, the mask is hardwired
      in the DB to 255.255.255.0, but by providing it in the tmcd command,
      we change it later if needed.
      
      I did not implement add-route-to-adj-node since that is not really
      useful in our context, and we definitely do not want the user to
      change the default routes on his nodes. But, its easy to add if we
      need to.
      
      The client side stuff is not done yet.
      d881770b
  24. 08 Apr, 2002 1 commit
  25. 27 Mar, 2002 1 commit
    • Leigh Stoller's avatar
      Some small additions to support events after Chris' queue changes. · addc8b02
      Leigh Stoller authored
      Queue events have a new parameter in the arg list for link events:
      
      	ARGS="PIPE=pipe0 THRESH=8"
      
      This is kinda hacky right now; I do not have time to get all the stuff
      just right. The convention is that pipe0 is the first pipe in the list
      (left to right) and pipe1 is the other. We can worry about cleanup
      later.
      addc8b02
  26. 26 Mar, 2002 2 commits
  27. 25 Mar, 2002 1 commit
  28. 22 Mar, 2002 1 commit
    • Leigh Stoller's avatar
      Add new NS program object. This syntax is different than I had · b9ba3398
      Leigh 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
  29. 20 Mar, 2002 1 commit