1. 19 Sep, 2006 2 commits
  2. 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
  3. 27 Jan, 2006 1 commit
  4. 08 Aug, 2005 1 commit
  5. 01 Aug, 2005 1 commit
  6. 11 Jul, 2005 1 commit
  7. 23 Jun, 2005 1 commit
  8. 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
  9. 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
  10. 09 Jun, 2005 1 commit
  11. 08 Jun, 2005 1 commit
  12. 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 ...
      9aa6b5ca
  13. 04 Sep, 2003 1 commit
  14. 02 Sep, 2003 1 commit
  15. 01 Jul, 2003 1 commit
  16. 29 Apr, 2003 1 commit
  17. 08 Jan, 2003 2 commits
  18. 18 Dec, 2002 1 commit
  19. 19 Nov, 2002 1 commit
  20. 07 Jul, 2002 1 commit
  21. 22 May, 2002 1 commit
    • Robert Ricci's avatar
      Belated checkin of a lot of new pcapper features. Highlights: · 58c7b4bb
      Robert Ricci authored
      Event system:
      
      When compiled with -DEVENTSYS, can be made to wait for time to start
      in an experiment before starting to count packets. Times are also
      reported relative to experiment time start. Use the '-e' flag to
      enable.
      
      SUID support:
      
      If compiled with -DDROPROOT, and it seems that pcapper was started
      setuid root (euid == 0, and ruid != 0), drops root permissions after
      opening BPF (or raw socket in Linux.) This allows it get permissions
      to read packets, but still be killed by the user. This is particularly
      useful with the testbed's program objects.
      
      New command-line options:
      
      -s: Print out packet counts to stdout, in addition to listening
              on a socket ('-f -' does the same thing, too)
      -p: Count only payload sizes, not header sizes
      -e: Wait for event system time to start in pid/eid
      -z: Don't count zero-length packets in the packet counts (useful
              with '-p')
      
      Also, now creates a GNUmakefile the _right_ way.
      58c7b4bb
  22. 12 Apr, 2002 1 commit
    • Robert Ricci's avatar
      New program: pcapper · 7c154d1d
      Robert Ricci authored
      Runs on a node and uses libpcap to count packets going by. Opens a
      socket, so that remote programs can connect and, say, graph its
      output. The client gets to specify the interval at which it wants
      counts reported. Supports multiple interfaces, and multiple clients
      (with different intervals.) It can also write packet counts to a file,
      for analysis later.
      7c154d1d