1. 10 Nov, 2006 1 commit
  2. 25 Oct, 2006 1 commit
    • Leigh B. Stoller's avatar
      Makefile Whacking! Try to deal with the problem caused by the delay · 7590f9c5
      Leigh B. Stoller authored
      between when something is installed and when post-install runs. Short
      of a global lock (which we probably need anyway someday), my solution
      is this. In your makefiles, add these variables before the line that
      has the include of $(TESTBED_SRCDIR)/GNUmakerules:
      I have added three new rules to GNUmakerules that look like this:
      	$(addprefix $(SBINDIR)/, $(SETUID_SBIN_SCRIPTS)): $(SBINDIR)/%: %
      		echo "Installing (setuid) $<"
      		-mkdir -p $(INSTALL_SBINDIR)
      		$(SUDO) $(INSTALL) -o root -m 4755 $< $@
      Yep, your eyes ain't lying to you; use sudo to run the target so that
      install does the right thing (which is that the old file is not
      replaced until the new one has the proper attributes on it).
      Note that post-install is still needed for the initial install, but
      should no longer be needed for day to day installs since all that other
      stuff post-install does is mkdir/chmod on directories.
  3. 23 Oct, 2006 1 commit
  4. 20 Oct, 2006 4 commits
    • Mike Hibler's avatar
      Oh crap #2: typo in configure variable · b228e982
      Mike Hibler authored
    • Mike Hibler's avatar
      Fix logic bug that has been around a while · 6326c690
      Mike Hibler authored
    • Mike Hibler's avatar
      Ah crap #1. Typo in configure variable. · 6aae280b
      Mike Hibler authored
    • Mike Hibler's avatar
      Wow, this should make me look important! · afa5e919
      Mike Hibler authored
      Two-day boondoggle to support "/scratch", an optional large, shared filesystem
      for users.  To do this, I needed to find all the instances where /proj is used
      and behave accordingly.  The boondoggle part was the decision to gather up all
      the hardwired instances of shared directory names ("/proj", "/users", etc.)
      so that they are set in a common place (via unexposed configure variables).
      This is a boondoggle because:
      1. I didn't change the client-side scripts.  They need a different mechanism
         (e.g., tmcd) to get the info, configure is the wrong way.
      2. Even if I had done #1 it is likely--no, certain--that something would
         fail if you tried to rename "/proj" to be "/mike".  These names are just
         too ingrained.
      3. We may not even use "/scratch" as it turns out.
      Note, I also didn't fix any of the .html documentation.  Anyway, it is done.
      To maintain my illusion in the future you should:
      1. Have perl scripts include "use libtestbed" and use the defined PROJROOT(),
         et.al. functions where possible.  If not possible, make sure they run
         through configure and use @PROJROOT_DIR@, etc.
      2. Use the configure method for python, C, php and other languages.
      3. There are perl (TBValidUserDir) and php (VALIDUSERPATH) functions which
         you should call to determine if an NS, template parameter, tarball or
         other file are in "an acceptable location."  Use these functions where
         possible.  They know about the optional "scratch" filesystem.  Note that
         the perl function is over-engineered to handles cases that don't occur
         in nature.
  5. 07 Sep, 2006 1 commit
  6. 03 Aug, 2006 1 commit
  7. 28 Jul, 2006 1 commit
  8. 25 Jul, 2006 2 commits
  9. 17 Jul, 2006 1 commit
  10. 14 Jul, 2006 1 commit
  11. 13 Jul, 2006 1 commit
    • Mike Hibler's avatar
      Ugly-ass backward-compat fixes. · aa9dba78
      Mike Hibler authored
      Still not complete, we really have to disable the LAN-optimization if the
      experiment involves a node running an old linktest.
  12. 28 Jun, 2006 1 commit
  13. 27 Jun, 2006 1 commit
    • Mike Hibler's avatar
      Enough already Mike! A couple of changes for high latency (> 2 sec) links. · bf403713
      Mike Hibler authored
      Change the rude.cfg script we generate to have a final "wait around" period
      (MODIFY with 0 rate) before exiting.  We have it wait for the one-way latency
      of the link.  This way, rude will not exit--and linktest will not do the
      barrier synch--til all packets have had a fair chance to get to the other side.
      This way we don't need a randomly chosen sleep after the barrier returns
      and before we read the crude results.  Though rude already supported the
      MODIFY with zero rate, I had to fix it since it didn't work if it was the
      last command for the flow.
      Adjust the timeout period for ping when doing the latency tests.  Previously
      we waited for 3 seconds, now wait for max(RTT+1, 3) seconds.
      Much more work will have to be done to support multi-second latencies
      all around, this was just the low-hanging fruit.
  14. 20 Jun, 2006 2 commits
  15. 16 Jun, 2006 1 commit
  16. 13 Jun, 2006 1 commit
    • Mike Hibler's avatar
      Make the no link case work again! · 26363b04
      Mike Hibler authored
      Comment out a dubious piece of code that "adjusted" the recorded runtime
      of iperf if the packet loss was greater than 10%.  I think this code was
      another way of dealing with the lost/retransmitted FIN problem that has
      been addressed with a new iperf option.
  17. 31 May, 2006 2 commits
    • Mike Hibler's avatar
      Use the new Utah-added -A option to iperf to attempt to fine tune the · e1cbdaaa
      Mike Hibler authored
      FIN timeout thus getting more accurate BW measurements.  From the code:
                        # Even without packet loss, there is a good chance that
                        # iperf's end-of-stream (FIN) will be lost since we are
                        # over-driving the link.  The ACK for that FIN needs to
                        # be received before iperf's timer stops, so a long
                        # timeout (for resending the FIN) on a short duration
                        # run will lower the BW reading considerably.  So we
                        # attempt to keep the timeout as short as possible,
                        # taking into account the round-trip latency of the link.
                        # We may also need to adjust the run time of the test
                        # upward, but we do not exceed the indicated max duration.
                        # 250 ms is the default timeout value for iperf.  We
                        # start with a candidate value of 50 ms which is chosen
                        # as it is sufficient for the 3% BW error on min duration
                        # (3 second) tests.  You should not pick a base acktime
                        # less than the resolution of the clock (10ms or 1ms).
    • Mike Hibler's avatar
      Add new '-A <timo>' option to set the length of time the client will · 95f14c95
      Mike Hibler authored
      wait for an ACK of its FIN.  The fixed 1/4 second was too big for us.
      The option gets passed over to the server when running in tradeoff or
      dual modes.
  18. 25 May, 2006 1 commit
  19. 03 May, 2006 1 commit
  20. 26 Apr, 2006 1 commit
  21. 12 Apr, 2006 2 commits
  22. 06 Apr, 2006 1 commit
    • Mike Hibler's avatar
      Subtle change to the query that checks whether a node's OS supports linktest: · e19449fd
      Mike Hibler authored
      change the query to check nodes.node_id instead of nodes.phys_nodeid against
      the reserved.node_id.
      This means the query now returns FBSD-JAIL for vnodes rather than NULL
      for the OS.  I ran the query against every current experiment in the DB
      and the only other changes were:
        * plab nodes return RHL_PLAB instead of NULL.  As long as linktest is
          not an osfeature of that image (it isn't) then this fix is compatible
        * pc2000s, which host IXPs, now only return one row in the query.
          Previously they would return a row for "pc17X" and for "ixpN".
          This is probably not what we wanted anyway.
  23. 01 Mar, 2006 1 commit
  24. 02 Feb, 2006 1 commit
  25. 25 Jan, 2006 2 commits
  26. 24 Jan, 2006 1 commit
  27. 23 Jan, 2006 1 commit
    • Leigh B. Stoller's avatar
      1) Removed a change I put a couple of weeks ago; The loss tests now run in · 6ba129e7
      Leigh B. Stoller authored
         both directions at the same time again. I had put in a delay, attempting
         to see if that might help the packet loss problems; I do not think it
         does. So, loss tests will complete faster.
      2) Changed the duration for the bw tests as we discussed. I did a quickie
         trial, and ended up with:
      	    x > 33Mbs	3 seconds
          33Mbs > x > 10Mbs	5 seconds
          10Mbs > x > 64Kbs   7 seconds
         Then add 3 seconds if the loss if over 10%
         The above numbers are very conservative; we can probably do better, but
         it would take a longer set of trials (across a variety bw/delay
         products). Remember, all bw tests ran for 10 seconds (in each direction).
      3) Add in the ethernet/ip/udp overhead to the bw results; Much nicer. I
         reduced the allowed error factor fom 6% to 2%, although its actually
         within less then 1% most of the time.
      4) Allow BW checks when there is loss on the link; previously linktest
         skipped any link with loss on it. Since we UDP for the tests, we
         can fairly well estimate what the BW will be. This is not perfect
         yet, especially with low BW, high loss links. We need to run some
         trials to see where accuracy falls off too far, or how to
         compensate for it.
      5) Added some more time stamps.
  28. 21 Jan, 2006 1 commit
  29. 19 Jan, 2006 1 commit
  30. 10 Jan, 2006 1 commit
  31. 03 Jan, 2006 1 commit
  32. 02 Jan, 2006 1 commit