- 25 Mar, 2002 4 commits
-
-
Leigh B. Stoller authored
request.
-
Leigh B. Stoller authored
write call with some code to retry failed writes. Will retry once every second for a few seconds before deciding to quit.
-
Leigh B. Stoller authored
read call with some code to retry failed read attempts. Will retry every 100ms for a few seconds before deciding to quit. While I think about it though, we should probably retry longer to protect against the situation when plastic crashes; any running Frisbee's will choke.
-
Leigh B. Stoller authored
-
- 24 Mar, 2002 1 commit
-
-
Jay Lepreau authored
-
- 22 Mar, 2002 16 commits
-
-
Leigh B. Stoller authored
-
Leigh B. Stoller authored
provides a mapping from an object ($cbr0) to the node on which the agent is running ($nodeA). It also includes the type of agent (TRAFGEN, LINK, etc). There were a number of reasons for adding this table: * To avoid a series of specialized table lookups in the event scheduler to map from a name (link0) to the node on which the agent is running. Previously, it was looking the delays table and the virt_trafgens table. Well, now it just needs to look at this one table and store the mapping internally. When a dynamic event comes in, we can figure out where to send it easily. * For NSE traffic generation. Unlike the simple TG based CBRs, Shashi wants to be able to send events to any of the objects in the config (udp0, telnet0, ftp0, etc). Well, the virt_trafgens table certainly does not store that info, and it would have been painful to work this into it. For every agent/application, just add an entry in the virt_agents table and the scheduler knows where to send the events. * It nicely supports the new program object; just plug an entry in the virt_agents table. Okay, there is one messy aspect; delays nodes! Delay nodes are not computed until after assign wrapper runs, so in addition to munging the static event list in assign_wrapper, we now munge the virt_agents table as well. Not much to do about this; delay nodes are handled outside the normal path everywhere.
-
Leigh B. Stoller authored
Note, this is going to change soon when we make dynamic events real; will need to start a scheduler with every experiment.
-
Leigh B. Stoller authored
freebsd. No biggie, just some minor script changes.
-
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.
-
Leigh B. Stoller authored
-
Leigh B. Stoller authored
and reponds to PROGRAM events. Currently, just start and stop. Start takes a COMMAND= argument, and allows arbitrary command lines since I pass the whole thing off to the shell. Caveat; the agent runs as root and starts the program as root. You can has as many program objects in your NS file as you like, but each one can be started once; you have to either stop or wait for the old one to finish before trying to start again.
-
Leigh B. Stoller authored
prepare was failing to remove that directory on the older images cause prepare was hardwired to the current release name.
-
Leigh B. Stoller authored
does not wigged out by the ?? return value.
-
Leigh B. Stoller authored
event support in the build (tmcd links against the event lib now).
-
Leigh B. Stoller authored
-
Leigh B. Stoller authored
events and some program agents.
-
Leigh B. Stoller authored
-
Leigh B. Stoller authored
-
Leigh B. Stoller authored
-
Leigh B. Stoller authored
-
- 21 Mar, 2002 5 commits
-
-
Leigh B. Stoller authored
the node control page. Add verbose option to add sharks to list; off by default.
-
Shashi Guruprasad authored
-
Shashi Guruprasad authored
-
Shashi Guruprasad authored
-
Robert Ricci authored
detected. The old way had a subtle bug that stripped blank lines from the output.
-
- 20 Mar, 2002 7 commits
-
-
Shashi Guruprasad authored
-
Shashi Guruprasad authored
automatic NS-2 checkout, compilation and linking which takes about 20 mins.
-
Shashi Guruprasad authored
-
Mike Hibler authored
len/interval/rate when a MODIFY event happens tg.patch: fix stupid bug that was limiting TCP performance (I had fixed this awhile back in UDP)
-
Robert Ricci authored
-
Mike Hibler authored
-
Leigh B. Stoller authored
findif against elvin stuff; Makes it easier to compile those on client nodes where those libs do not exist!
-
- 19 Mar, 2002 6 commits
-
-
Mike Hibler authored
-
Leigh B. Stoller authored
-
Leigh B. Stoller authored
cleanup of tbreport.
-
Shashi Guruprasad authored
-
Mike Hibler authored
-
Mike Hibler authored
2. add -E pid/eid option to quality events 3. add some hacky goo to guess experiment in case they don't specify -E
-
- 18 Mar, 2002 1 commit
-
-
Leigh B. Stoller authored
-