1. 13 Mar, 2002 3 commits
    • Jay Lepreau's avatar
      Add HP Labs. · 4bc24c62
      Jay Lepreau authored
      4bc24c62
    • Mike Hibler's avatar
      Don't download/install if already there · 59bcb2ac
      Mike Hibler authored
      Clean up afterward
      59bcb2ac
    • Leigh B. Stoller's avatar
      Add the ability to change RED/Queue params in events. At the same · 86d6b225
      Leigh B. Stoller authored
      time, support multiple statements in a single at statement (a personal
      miracle of TCL programming!). So, you can do this:
      
      	$ns at 40    "$queue0 set thresh_ 5 ; $queue0 set linterm_ 9"
      	$ns at 40    "$queue0 set maxthresh_ 10 ; $queue0 set q_weight_ 0.5"
      	$ns at 40    "$queue0 set queue-in-bytes_ 0"
      	$ns at 40    "$queue0 set limit_ 50"
      
      These are turned into LINK MODIFY events as such:
      
      	QUEUE-IN-BYTES=
      	LIMIT=
      	MAXTHRESH=
      	THRESH=
      	LINTERM=
      	Q_WEIGHT=
      
      At present, they are turned into independent events; my TCL ability
      falls way short of figuring that out! Easy as a perl script though!
      86d6b225
  2. 12 Mar, 2002 5 commits
  3. 11 Mar, 2002 8 commits
    • Shashi Guruprasad's avatar
      Added defs-shash-emulab www/shash-emulab-defs.php3 so that I can have my · 4983b197
      Shashi Guruprasad authored
      own development tree -Shashi
      4983b197
    • Leigh B. Stoller's avatar
    • Leigh B. Stoller's avatar
      Add Agent/TCP and Agent/TCPSINK so that we can use Mike's new trafgen · d26d5035
      Leigh B. Stoller authored
      code in TCP mode. Simple changes. Works like this:
      
      	set tcp0 [new Agent/TCP]
      	$ns attach-agent $n2 $tcp0
      
      	set cbr1 [new Application/Traffic/CBR]
      	$cbr1 attach-agent $tcp0
      
      	set null1 [new Agent/TCPSINK]
      	$ns attach-agent $n3 $null1
      
      Note, there are no state variables supported yet.
      d26d5035
    • Leigh B. Stoller's avatar
      0aa49acd
    • Mac Newbold's avatar
      ec00ba93
    • Leigh B. Stoller's avatar
      Initial version of RED/GRED support. Chris is going to have to finish · f35ce7e3
      Leigh B. Stoller authored
      this off, but here is what I did.
      
      Parser: Allow for the following syntax
      
      	set link0  [$ns duplex-link $nodeA $nodeB 100Mb 0ms RED]
      	set queue0 [[$ns link $nodeA $nodeB] queue]
      	$queue0 set gentle_ 1
      	$queue0 set queue-in-bytes_ 0
      	$queue0 set limit_ 50
      	$queue0 set maxthresh_ 20
      	$queue0 set thresh_ 7
      	$queue0 set linterm_ 11
      	$queue0 set q_weight_ 0.004
      
          NB: This differs from the NS syntax (and is the part that Chris
          needs to fix) in that there is just a single queue object per
          duplex link, thus the parameters cannot be set asymmetrically.
          Note, the delay node *does* use a RED/GRED queue in each
          direction, but its params are the same. These TCL hacks took a
          long time for me to get right!
      
          Also note that I have no idea how this stuff relates to LANS! I
          do not allow LANS to be created with RED queues (another item for
          Chris to work on perhaps?).
      
      assign_wrapper: A horrible hack to pass the new fields added to
      virt_lans onto the delays table setup. Also another minor hack ensure
      that a delay node is added when a RED queue is used (for the case when
      no other traffic shaping is done). At the moment, the virt_lans table
      has a single set of fields, while the delays table has the double set;
      one for each direction of the pipe. Here is a listing.
      
          alter table delays add q0_limit int default 0 after lossrate0;
          alter table delays add q0_maxthresh int default 0 after q0_limit;
          alter table delays add q0_minthresh int default 0 after q0_maxthresh;
          alter table delays add q0_weight float default 0.0 after q0_minthresh;
          alter table delays add q0_linterm int default 0 after q0_weight;
          alter table delays add q0_qinbytes tinyint default 0 after q0_linterm;
          alter table delays add q0_bytes tinyint default 0 after q0_qinbytes;
          alter table delays add q0_meanpsize int default 0 after q0_bytes;
          alter table delays add q0_wait int default 0 after q0_meanpsize;
          alter table delays add q0_setbit int default 0 after q0_wait;
          alter table delays add q0_droptail int default 0 after q0_setbit;
          alter table delays add q0_red tinyint default 0 after q0_droptail;
          alter table delays add q0_gentle tinyint default 0 after q0_red;
      
      tmcd/tmcd.c: Change dodelays to pass back all of these fields (for
      both pipes; there are equiv q1 fields in the delays table). Yikes! Its
      done in a backwards compatable manner though, so existing delay nodes
      will continue to work just fine.
      
      tmcd/freebsd/liblocsetup.pm: Change the delays configuration script to
      get all these fields and do something useful with. Of course, our
      delay nodes cannot use a lot of these fields, but the information is
      sent through for the eventuality that we have more sophisticated
      delays nodes.
      
      Test Suite: Add red test dir that has the above syntax as its test.
      f35ce7e3
    • Leigh B. Stoller's avatar
      Add --disable-events for testsuite since the lack of TG source breaks · 0e6d5c06
      Leigh B. Stoller authored
      it. Worry about it later.
      0e6d5c06
    • Leigh B. Stoller's avatar
      Rename exports_setup.proxy and console_setup.proxy to .in versions and · 589d4872
      Leigh B. Stoller authored
      remove the originals, so that we can run the files through configure.
      
      NOTE: I wanted to keep the RCS history intact so I went over to the
      CVS directory on moab and copied the ,v file to the new names, and
      then did a normal cvs remove the originals. This keeps the RCS history
      going without screwing up anyone. Not a recommended approach, but what
      the hell.
      589d4872
  4. 08 Mar, 2002 9 commits
  5. 07 Mar, 2002 8 commits
  6. 06 Mar, 2002 7 commits
    • Mac Newbold's avatar
      Updates to defs files. · e90cc6e3
      Mac Newbold authored
      e90cc6e3
    • Chad Barb's avatar
      4e6e83b4
    • Chad Barb's avatar
      08224586
    • Chad Barb's avatar
      · 3ad6a28a
      Chad Barb authored
       A couple of UI fixups:
      
       - Added "you're over the trashcan" visual clue when dragging thingees into the can.
       - Clicking a node to drag it from the panel now visually selects it
         (this is subtle, but more correct.)
      3ad6a28a
    • Mac Newbold's avatar
      For experiments that have nodes allocated, if there is no 'last login' data,... · 13fad6ea
      Mac Newbold authored
      For experiments that have nodes allocated, if there is no 'last login' data, show date and 'Swapped In' for easier comparison and for faster idle checks. Previously, you couldn't tell if they had recently swapped in, or swapped in days ago and never used the nodes without zooming in on the experiments individually.
      13fad6ea
    • Mac Newbold's avatar
      Add nseconfigs table · 7edf5c6e
      Mac Newbold authored
      7edf5c6e
    • Leigh B. Stoller's avatar
      Increase flexibility in event subscription. You can now specify a · 2938132c
      Leigh B. Stoller authored
      comma (or space) delimited list of tags for each member of the address
      tuple. So, if you wanted to subscribe to LINK and TIME events, you
      would set the address tuple like this:
      
      	tuple->objtype   = "TRAFGEN,TIME";
      
      and the subscription clause that would be passed to elvin would look
      something like this:
      
      	( OBJTYPE == "TRAFGEN" || OBJTYPE == "TIME" )
      
      This should make it easier to subscribe to multiple types of events,
      without having to get all of them. For example, the trafgen agent
      could subscribe to TIME events and get the TIME START event that is
      now sent once all nodes report ISUP
      2938132c