1. 02 Mar, 2007 1 commit
    • David Johnson's avatar
      Adds rmcp support (for new wifi pcs) to the power command. For now, you · d31ab2bd
      David Johnson authored
      have to re-run the swig-wrappers target in tools/rmanage/GNUmakefile to
      generate the wrapper and perl module; this must of course be done when
      changes are made to the rmcp libs.
      
        * GNUmakefile.in, configure, configure.in: add tools/rmanage
        * tbsetup/GNUmakefile.in, tbsetup/power*.in: add rmcp to power command
        * tools/GNUmakefile.in: add rmanage
        * tools/rmanage/*.c,*.h: bugfixes, swig helper methods, etc.
        * tools/rmanage/rmcp.i: swig import control file
        * tools/rmanage/rmcp.pm,rmcp_wrap.c: rmcp wrapper/module generated by swig
      d31ab2bd
  2. 02 Feb, 2007 1 commit
    • Mike Hibler's avatar
      The paint wasn't even dry on the last plab tarball before I have moved on... · c2570cfc
      Mike Hibler authored
      Rev 20 of the tarball has no new function, it is just slimmed down.
      I replaced our large statically linked binaries with dynamically linked ones.
      Also found and stripped a couple of other binaries.
      
      The resulting tarball goes from 5.7MB to 0.9MB.
      
      The Makefile changes are to incorporate the NOSTATIC=1 environment hack
      to enable building the dynamic binaries above.
      c2570cfc
  3. 05 Dec, 2006 1 commit
  4. 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:
      
      	SETUID_BIN_SCRIPTS   =
      	SETUID_SBIN_SCRIPTS  =
      
      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.
      7590f9c5
  5. 23 Oct, 2006 1 commit
  6. 03 Oct, 2006 1 commit
    • Mike Hibler's avatar
      What a hoot. The Linux (at least Fedora) version of libpcap · fb2aa805
      Mike Hibler authored
      will not timeout in the dispatch routine.  It apparently will stay
      in recvfrom() til it gets a packet.  This caused stop/snapshot events
      (as well as "kill -TERM") to not do anything.
      
      So we blast all the pthreads out of recvfrom with a signal after setting
      the flag to force them to return from dispatch (pcap_breakloop).
      fb2aa805
  7. 19 Sep, 2006 2 commits
  8. 14 Sep, 2006 1 commit
    • Leigh B. Stoller's avatar
      Add completion event to pcapper SNAPSHOT so that the caller (say, loghole) · 53c3944c
      Leigh B. Stoller authored
      knows when the logfiles are actually rolled.
      
      Event groups complicated things a bit. To make this work properly, we
      no longer subscribe to the link-tracemon event, but instead use a
      real event group, created by assign wrapper for all of the linktrace
      agents. So, you can know do things like this:
      
      	tevc -w -e testbed/TT now link0_tracemon snapshot
      or
      	tevc -w -e testbed/TT now __all_tracemon snapshot
      
      where __all_tracemon is a group of all tracemon agents for all links and
      lans. I plan to change loghole to use this.
      53c3944c
  9. 25 Jul, 2006 1 commit
  10. 19 Jun, 2006 1 commit
  11. 08 Mar, 2006 1 commit
  12. 27 Jan, 2006 1 commit
  13. 27 Dec, 2005 1 commit
  14. 14 Dec, 2005 2 commits
  15. 02 Nov, 2005 1 commit
  16. 15 Sep, 2005 1 commit
    • Leigh B. Stoller's avatar
      Minor interface changes for Jay. · 93fc47db
      Leigh B. Stoller authored
      Major interface change; the default mode in the map is that click
      on a node now *adds* to a highlight (used to be shift-click), and that
      click over the floor area deselects everything.
      
      Add a "Distances between highlighted node" menu item, that uses the
      x,y,z coords of nodes to determine the distance between them. Okay
      so there might be a small constant in there, say 14 feet, that just
      happens to be the distance between floors in MEB.
      93fc47db
  17. 12 Sep, 2005 1 commit
  18. 11 Sep, 2005 1 commit
  19. 31 Aug, 2005 1 commit
  20. 29 Aug, 2005 1 commit
  21. 24 Aug, 2005 1 commit
  22. 22 Aug, 2005 1 commit
  23. 08 Aug, 2005 1 commit
  24. 01 Aug, 2005 1 commit
  25. 11 Jul, 2005 1 commit
  26. 30 Jun, 2005 2 commits
  27. 23 Jun, 2005 1 commit
  28. 22 Jun, 2005 1 commit
    • Leigh B. Stoller's avatar
      Added my simplistic link tracing and monitoring. Example usage and · 7942119e
      Leigh B. Stoller authored
      some details can be found in the advanced tutorial that I wrote up.
      See this link:
      
      http://www.emulab.net/tutorial/docwrapper.php3?docname=advanced.html#Tracing
      
      The basic idea is that each virt_lan entry gets a couple of new slots
      describing the type of tracing that is desired.
      
        traced tinyint(1) default '0',
        trace_type enum('header','packet','monitor') NOT NULL default 'header',
        trace_expr tinytext,
        trace_snaplen int(11) NOT NULL default '0',
        trace_endnode tinyint(1) NOT NULL default '0',
      
      There is a new physical table called "traces" that is a little bit
      like the current delays table. A new tmcd command returns the trace
      configuration to the client nodes (tmcd/common/config/rc.trace).
      
      The delays table got a new boolean called "noshaping" that tells the
      delay node to bridge, but not set up any pipes. This allows us to
      capture traffic at the delay node, but without much less overhead on
      the packets.
      
      The pcapper got bloated up to do packet capture and more event stuff.
      I also had to add some mutex locking around calls into the pcap
      library and around malloc, since the current setup used linuxthreads,
      which is not compatable with the standard libc_r library. I was
      getting all kinds of memory corruption, and I am sure that if someone
      breathes on the pcapper again, it will break in some new way.
      7942119e
  29. 12 Jun, 2005 1 commit
    • Leigh B. Stoller's avatar
      Couple of changes ... · 64b87b07
      Leigh B. Stoller authored
      * Add a packet capture mode (-c) option so that pcapper can be used
        the same way that tcpdump is used, to write captured packets to an
        output file. When using capture mode, stats are not collected or spit
        out. I need to think about how feasible it is to do both at once; it
        started to look like a mess.
      
        I added a snaplen (-l) option to be used with capture mode, to
        specify the snaplen that is passed to the pcap library.
      
      * Beef up the event interface, adding a TRACEINFO event type, so that
        you can send START, STOP, KILL events to the pcapper. So, you can
        start and stop packet capture for a link/lan, or for a single node
        on a link/lan (much the same way as you acn control the delay
        agent).
      64b87b07
  30. 11 Jun, 2005 1 commit
  31. 09 Jun, 2005 1 commit
  32. 08 Jun, 2005 1 commit
  33. 19 Mar, 2005 1 commit
  34. 18 Mar, 2005 1 commit
  35. 11 Mar, 2005 1 commit
  36. 03 Mar, 2005 1 commit
    • Leigh B. Stoller's avatar
      In an attempt to solve the webcam problem ... I have used my · 5d74fed7
      Leigh B. Stoller authored
      burgeoning Java Applet skills to to write a little applet to decode
      the motion jpeg stream that the webcams spit out. Not exactly
      efficient, but at least it works everyplace I tried, even with
      Internet Explorer.
      
      For the web page, the default view is still static, with an option
      near the top to use the applet version of the page. The nice thing is
      that when you leave the page (go someplace else) the data stream
      actually stops (cause the applet is stopped).
      5d74fed7
  37. 30 Aug, 2004 1 commit
    • Leigh B. Stoller's avatar
      The bulk of the event system changes. · 9aa6b5ca
      Leigh B. Stoller authored
      * The per-experiment event scheduler now runs on ops instead of boss.
        Boss still runs elvind and uses events internally, but the user part
        of the event system has moved.
      
      * Part of the guts of eventsys_control moved to new script, eventsys.proxy,
        which runs on ops and fires off the event scheduler. The only tricky part
        of this is that the scheduler runs as the user, but killing it has to be
        done as root since a different person might swap out the experiment. So,
        the proxy is a perl wrapper invoked from a root ssh from boss, which
        forks, writes the pid file into /var/run/emulab/evsched/$pid_$eid.pid,
        then flips to the user and execs the event scheduler (which is careful
        not to fork). Obviously, if the kill is done as root, the pid file has to
        be stored someplace the user is not allowed to write.
      
      * The event scheduler has been rewritten to use Tim's C++ interface to the
        sshxmlrpc server on boss. Actually, I reorg'ed the scheduler so that it
        can be built either as a mysql client, or as RPC client. Note that it can
        also be built to use the SSL version of the XMLRPC server, but that will
        not go live until I finish the server stuff up. Also some goo for dealing
        with building the scheduler with C++.
      
      * Changes to several makefiles to install the ops binaries over NFS to
        /usr/testbed/opsdir. Makes life easier, but only if boss and ops are
        running the same OS. For now, using static linking on the event scheduler
        until ops upgraded to same rev as boss.
      
      * All of the event clients got little tweaks for dealing with the new CNAME
        for the event system server (event-sever). Will need to build new images
        at some point. Old images and clients will continue to work cause of an
        inetd hack on boss that uses netcat to transparently redirect elvind
        connections to ops.
      
      * Note that eventdebug needs some explaining. In order to make the inetd
        redirect work, elvind cannot be listening on the standard port. So, the
        boss event system uses an alternate port since there are just a few
        subsystems on boss that use the server, and its easy to propogate changes
        on boss. Anyway, the default for eventdebug is to connect to the standard
        port on localhost, which means it will work as expected on ops, but will
        require -b argument on boss.
      
      * Linktest changes were slightly more involved. No longer run linktest on
        boss when called from the experiment swapin path, but ssh over to ops to
        fire it off. This is done as the user of course, and there are some
        tricks to make it possible to kill a running linktest and its ssh when
        experiment swapin is canceled (or from the command line) by forcing
        allocation of a tty. I will probably revisit this at some point, but I
        did not want to spend a bunch of time on linktest.
      
      * The upgrade path detailed in doc/UPDATING is necessarily complicated and
        bound to cause consternation at remote sites doing an upgrade.
      9aa6b5ca