1. 18 Sep, 2014 1 commit
    • Mike Hibler's avatar
      Initial support for ARM-64 clientside. · db6f3b96
      Mike Hibler authored
      Clientside builds on HP Moonshot, haven't tried running anything.
      
      The most significant change here is moving to autoconf 2.69, which
      is the first that supports "aarch64". This required replacing the
      scripts in autoconf/ and significant textual changes to configure.in
      files.
      
      Other than that, it was all lint.
      db6f3b96
  2. 03 Apr, 2014 1 commit
    • Mike Hibler's avatar
      Support for FreeBSD 10.x boss/ops. · e81136ad
      Mike Hibler authored
      The biggest changes were related to 10.0's replacing gcc with clang
      and the switch to a new package system. The former required various
      fixes to Makefiles that hardwired "gcc" and also missing prototypes
      in source files that clang is particularly obnoxious about.
      
      There was also accomodating the normal evolution of the ports tree.
      New variables were needed in many of the Makefiles for this. Hopefully,
      all the changes I made are backward compatible, but I don't actually
      care that much since I hope to never, ever have to remake those older
      packages! A new emulab version of the m2crypto port was needed to
      reflect that m2crypto is no longer installed as an .egg file.
      
      Casualties:
      
        * Emulab assign. As of this commit, assign does not build with
          clang. It will build, but immediately core dumps if built with
          a gcc port (gcc46 below). THIS NEEDS TO BE FIXED!
      
        * Emulab nsverify. This requires building a pure ns-2.34, which
          is old and does not compile with clang. You will need to set
          NSVERIFY=0 in your defs file. I did this in defs-elabinelab
          (iff FBSD==10) but no where else right now.
      
        * Bind in the base distro. Bind is no longer part of FreeBSD
          (it has been replaced with something called "unbound"). So we
          install bind99 from a port and we make the /etc/namedb symlink
          to /usr/local/etc/namedb which is where it now lives.
      
        * Perl 5.12. It has been totally removed from the ports tree.
          We now install 5.14, the next-most obsolete version of Perl!
      
        * pkg_{add,delete,info}. As mentioned, the packages tools have
          changed. For the most part "pkg <cmd>" is the same as "pkg_<cmd>"
          but not always. This required considerable violence in the
          install/phases code. But it is actually cleaner now.
      
        * GCC in the base distro. I added installation of the gcc46 port
          to the boss and ops meta packages, just for old-times sake
          (we might wind up needing it, if still more stuff doesn't work
          with clang).
      e81136ad
  3. 14 May, 2013 1 commit
  4. 04 Mar, 2013 1 commit
  5. 28 Feb, 2013 1 commit
  6. 27 Dec, 2012 1 commit
  7. 06 Dec, 2012 1 commit
  8. 30 Nov, 2012 1 commit
    • Mike Hibler's avatar
      Plumb through an fs-install makefile target and fixes to ops-install. · 3cd66d51
      Mike Hibler authored
      This officially drops the pretense that fs nodes can operate with minimal
      Emulab software. If you have a seperate fs node, it had better be dedicated
      to Emulab!
      
      However, it still doesn't do everything. In particular, accounts are not
      installed. This has never been needed for serving NFS, but is needed for
      the samba stuff to work correctly.
      
      Also, you cannot do an fs node software install from boss yet as we do not
      mount fs filesystems on boss. You really cannot do a full ops install from
      boss either since we don't mount ops' /usr/local/etc/emulab directory.
      3cd66d51
  9. 30 Oct, 2012 1 commit
  10. 17 Oct, 2012 1 commit
  11. 10 Oct, 2012 1 commit
    • Leigh Stoller's avatar
      Brutalize to use ipfw command line interface when > FreeBSD 8. · 1529f157
      Leigh Stoller authored
      The socket interface changed and rather rewrite this client or try to
      figure out how to finish the "new" client, I whacked the crap out of
      this to use ipfw. This is of course more fragile since it depends on
      the input language of ipfw, and the especially the output from ipfw to
      determine the current settings. When upgrading, we must be sure to
      test this.
      1529f157
  12. 24 Sep, 2012 1 commit
    • Eric Eide's avatar
      Replace license symbols with {{{ }}}-enclosed license blocks. · 6df609a9
      Eric Eide authored
      This commit is intended to makes the license status of Emulab and
      ProtoGENI source files more clear.  It replaces license symbols like
      "EMULAB-COPYRIGHT" and "GENIPUBLIC-COPYRIGHT" with {{{ }}}-delimited
      blocks that contain actual license statements.
      
      This change was driven by the fact that today, most people acquire and
      track Emulab and ProtoGENI sources via git.
      
      Before the Emulab source code was kept in git, the Flux Research Group
      at the University of Utah would roll distributions by making tar
      files.  As part of that process, the Flux Group would replace the
      license symbols in the source files with actual license statements.
      
      When the Flux Group moved to git, people outside of the group started
      to see the source files with the "unexpanded" symbols.  This meant
      that people acquired source files without actual license statements in
      them.  All the relevant files had Utah *copyright* statements in them,
      but without the expanded *license* statements, the licensing status of
      the source files was unclear.
      
      This commit is intended to clear up that confusion.
      
      Most Utah-copyrighted files in the Emulab source tree are distributed
      under the terms of the Affero GNU General Public License, version 3
      (AGPLv3).
      
      Most Utah-copyrighted files related to ProtoGENI are distributed under
      the terms of the GENI Public License, which is a BSD-like open-source
      license.
      
      Some Utah-copyrighted files in the Emulab source tree are distributed
      under the terms of the GNU Lesser General Public License, version 2.1
      (LGPL).
      6df609a9
  13. 13 Sep, 2012 1 commit
  14. 15 Aug, 2012 1 commit
    • Kirk Webb's avatar
      Use the registry to set speed/duplex under Win7. Back out linktest change. · 4b0232e1
      Kirk Webb authored
      Though the broadcom tool was easy enough to setup and use under Windows,
      getting the Intel counterpart to work was an epic fail.  Instead, go after
      the registry directly.  There is some semblance of standardization there,
      even though no command line tool exists for tweaking these setttings.
      Back out the code that set speed/duplex using the broadcom tool since it
      is no longer needed.  This will be much better for remote sites and porting
      to other hardware in general.  Hopefully other vendors follow suit and use
      the same registry settings that Intel and Broadcom do.  Also modified the
      interface setup code to delay enabling the interface until after the speed
      and duplex settings are poked into the registry so that the driver will pick
      them up immediately, w/o requiring a reboot.
      
      Since setting the speed/duplex correctly solves prior issues I saw with
      linktest bandwidth tests, back those hacks out.
      4b0232e1
  15. 08 Aug, 2012 2 commits
  16. 07 Aug, 2012 1 commit
  17. 01 Aug, 2012 1 commit
    • Mike Hibler's avatar
      Support 64-bit FreeBSD on the server side. · 9036d314
      Mike Hibler authored
      NOTE: currently only for FreeBSD 7.3 installs because that is the only
      set of boss/ops/fs packages I have built so far!
      
      This mostly involved minor changes to event agents. Too often we were
      passing a pointer to a "long" to *get_int32, which on a 64-bit x86 OS would
      fill the wrong half of a 64-bit variable. There was also one instance of
      TCL code that had to be tweaked to account for 32- vs 64-bit.
      
      These changes also required regeneration of SWIG stubs and an ugly change
      to the SWIG generated code to use va_copy rather than direct assignment in
      a couple of places.
      
      Also related to SWIG is ensuring that the components that go into the
      perl/python stub .so files are built with PIC. The amd64 linker requires
      this.
      
      The meta-ports had to be changed to reflect that linuxthreads and
      ulsshxmlrpcpp don't work on amd64. The former had little effect as we
      had mostly eliminated uses of linuxthreads already. The one thing that
      did change was that we do not build nfstrace on amd64 (and we don't
      currently use this anyway). Removing ulsshxmlrpcpp required switching
      to the new event scheduler (event/new_sched) that Ryan did awhile back.
      Note that it is only "new" in the sense that it uses a standard XMLRPC
      package, there should be no functional differences. However, to be safe
      we only use new_sched as the standard scheduler on 64-bit server installs.
      
      Finally, added support to elabinelab setup to do a 64-bit server install.
      Just specify FBSD73-64-STD as the boss/ops/fs osid and rc.mkelab should
      do the rest.
      
      That is pretty much it other than some random nits here and there.
      9036d314
  18. 31 Jul, 2012 2 commits
  19. 26 Jul, 2012 1 commit
    • Kirk Webb's avatar
      Change the way linktest handles latency testing in windows. · 84e1b8cd
      Kirk Webb authored
      The first ping under Windows is almost always way off (x2 or x3).  Instead
      of using the calculated average from windows ping, linktest will now throw out
      the first ping sample and calculate avg and stddev itself.  Add one to the
      number of ping samples to collect to compensate.
      84e1b8cd
  20. 17 Jul, 2012 1 commit
    • Kirk Webb's avatar
      Modifications to linktest for Windows. · 3d6055ff
      Kirk Webb authored
      Two things changed:
      
      * Always prime Windows' ARP cache with a quick ping.
      
      The first ping under Windows is often wildly off compared to the rest, which
      throws off the average enough to fail the latency check.
      
      * Lower the upper bandwidth limit for bandwidth test
      
      iperf under Win7 can't push over 40Mbps, at least not reliably, with the
      parameters we use.  Prevent BW testing from being performed on Windows if
      it is over this.  To be documented as a caveat, and may revisit later.
      3d6055ff
  21. 27 Jun, 2012 1 commit
  22. 25 Jun, 2012 1 commit
  23. 22 Jun, 2012 1 commit
  24. 30 Apr, 2012 1 commit
    • Mike Hibler's avatar
      First cut at FreeBSD 9.0 support. · 1f83c9c6
      Mike Hibler authored
      Upgrade to perl 5.12 means no more "suidperl" (setuid perl scripts).
      So we now have yet another little wrapper (security/runsuid.c) which
      runs suid and whose sole function is to exec the perl script of the
      same name in the /usr/testbed/suidbin directory. So a formerly setuid
      perl script install now goes like:
        create /usr/testbed/sbin/mkproj as a symlink to /usr/testbed/libexec/runsuid
        install real mkproj perl script in /usr/testbed/suidbin/mkproj
      When the setuid-wrapper is invoked under the name "mkproj" it execs
      /usr/testbed/suidbin/mkproj. We could almost use sudo for this purpose
      instead (see security/sudoers.in) but sudo loses one of the groups in
      the group list.
      
      /usr/include/utmp.h is gone in FreeBSD 9.0. In most places we nevered
      needed it, but in the one case that did (tg source), it just used a
      couple of the constants exposed (UT_*) and not the struct, so I just
      hardwired values for the constants.
      
      The usual tweakage to the install stuff to reflect yet another set of
      packages!
      1f83c9c6
  25. 26 Apr, 2012 2 commits
  26. 19 Apr, 2012 1 commit
    • Mike Hibler's avatar
      Define some additional configure vars in the clientside configure. · 055bbb7c
      Mike Hibler authored
      Against my better judgement, use configure to set some vars in clientside
      scripts. I try to avoid this to keep our client images from becoming Utah
      specific.
      
      This is specifically for run_linktest.pl.in, which is installed on both
      ops and nodes. I could fix it to not use configure vars on nodes, but that
      would break its primary use on ops.
      
      OTOH, I fixed elab_linktest.pl.in to not use configure variables, since
      it only runs on nodes.
      055bbb7c
  27. 13 Apr, 2012 1 commit
    • Mike Hibler's avatar
      Fix another cause of trafgen not building. · 09b1ba5d
      Mike Hibler authored
      This might have been fixed in later gmakes, but at least for the circa-FBSD6
      version, the shell PWD variable is not correctly set when a shell script is
      run from a make target via:
          $(MAKE) -C foo target
      instead of:
          cd foo && $(MAKE) target
      In the former case, $PWD would not reflect that it was in "foo".
      The upshot is that the tg2.0 tarball was being extracted in the "event"
      directory rather than "event/trafgen" so the make rules could not find it.
      The same basic shell script worked for iperf and rude because they were
      invoked via the latter form.
      
      Anyway, now we just use dir=`pwd` instead of dir=$PWD.
      09b1ba5d
  28. 12 Apr, 2012 3 commits
  29. 30 Mar, 2012 1 commit
  30. 28 Mar, 2012 2 commits
  31. 27 Mar, 2012 4 commits