1. 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
      Most Utah-copyrighted files related to ProtoGENI are distributed under
      the terms of the GENI Public License, which is a BSD-like open-source
      Some Utah-copyrighted files in the Emulab source tree are distributed
      under the terms of the GNU Lesser General Public License, version 2.1
  2. 16 Feb, 2007 1 commit
  3. 13 Feb, 2007 1 commit
    • Robert Ricci's avatar
      Add two new features to libnetmon. First, it now reports on the · fe86dd4e
      Robert Ricci authored
      line of the application it's instrumenting, so that we can find the
      source of some mysterious lines in the libnetmon.out files. Second,
      report when sendmsg gets called, so that we can find out whether we
      need to instrument this for any of our applications or not.
      I also fixed several minor almost-bugs caught by -pedantic.
  4. 02 Feb, 2007 1 commit
  5. 08 Jan, 2007 1 commit
  6. 04 Jan, 2007 1 commit
    • Robert Ricci's avatar
      Finish sendto() support for UDP sockets. Should now be totally · 7f75430b
      Robert Ricci authored
      compliant with the Version 3 line format, as described in
      libnetmon-format3.txt .
      Note that I have made a couple small changes to the output format:
      Write was renamed Send to be consistent, and I'm allowing Connected
      events for UDP sockets, in the case that the application actually does
      connect() the UDP socket. I'm not sure what we'd use this information
      for, but it seems useful and is easy to ignore.
      libnetmon is getting big enough that I should probably spend some time
      soon doing code hygiene.
  7. 18 Dec, 2006 1 commit
    • Robert Ricci's avatar
      Added preliminary support for version 3 of libnetmon output. In this · 54711915
      Robert Ricci authored
      version, the unique identifier is the pid + fd, rather than anything
      involving port numbers. UDP sockets won't necessarily have any of
      I've made a few tweaks to Jon's v3 format. The format is not
      finalized, so some details could still change.
      Added preliminary support for UDP sockets. Right now, only handles
      sockets that are connect()ed, not ones that are used with sendto().
      We need to decide what the best way to report on sendto() is.  UDP
      support can be enabled by passing the new '-u' argument to netmond.
      Needs support for handling applications that fork(), since the PID
      changes. Shouldn't be too hard, just one more syscall to wrap.
      At some point, we should stop supporting earlier output versions,
      because that will allow me to clean up a lot of code.
  8. 15 Aug, 2006 1 commit
    • Robert Ricci's avatar
      Add the ability for libnetmon to only output certain reports - this · 5f290b2c
      Robert Ricci authored
      is so that when we use a monitor that doesn't care about, say, writes,
      we can avoid waisting the CPU required to parse them.
      The four supported reports are:
          connect - connect() and close() notifications
          sockopt - Information about socket options
          io - read()s and write()s
          all - Duh. The default if none are given
      You can specify reports by setting LIBNETMON_REPORTS or using the
      new -r option to netmond. If you want more than one report type,
      seperate them with commas.
      Added a new control message, CM_REPORTS, to pass these back and forth
      from netmond to libnetmon.
      Added a long overdue LIBNETMON_NETMOND option which just uses the
      standard socket paths to talk to netmond - this way, you don't have
      to set them by hand when debugging, which is a huge PITA.
  9. 10 Aug, 2006 1 commit
  10. 19 Apr, 2006 1 commit
  11. 21 Mar, 2006 2 commits
  12. 20 Feb, 2006 1 commit
    • Robert Ricci's avatar
      Keep some state about the connections we're monitoring, so that we · 78db03dc
      Robert Ricci authored
      can report it once the connection is successful.
      Now decides whether or not to monitor an FD in socket(), rather than
      connect(), since we now have to start collecting data before connect()
      is called.
      Move code to report on connection state changes into inform*()
      Warning: Tested, but not exhaustively.
  13. 16 Feb, 2006 1 commit
    • Robert Ricci's avatar
      Add support for reporting if the application changes a few sockopts: · 4d565e26
      Robert Ricci authored
      There is a problem, though. Right now, we identify a connection by a
      triple of (local port, remote IP, remote port). However, some apps
      (iperf, at least), set these options before calling connect(). Thus,
      we don't know these things yet. To fix this, we could either:
        Delay notification of sockopt changes until after connect() is
          called for the socket
        Use something else (ie. (pid,fd)) as the ID for connections.
      We should probably talk about this (at least Jon and I) at the
      next meeting.
  14. 15 Feb, 2006 1 commit
    • Robert Ricci's avatar
      Make a new control channel between libnetmon and netmond. Right now, · b195dbd5
      Robert Ricci authored
      there are only a few control messages implemented:
      The client can ask the server for the current operating parameters
      The server can tell the client about maximum sockbuf sizes, or
        sockbuf sizes that should be force
      The server can tell the client which version of the output format to
      The plan is that there will be more in the future: ie., the client
        and server will be able to exchange messages about new socket
        buffer sizes set by client apps, and exchange information about
        sockopts, etc. the client app may have set.
      Add support to libnetmon for capping the socket buffer size.
  15. 01 Feb, 2006 2 commits
    • Robert Ricci's avatar
      Add support for announcing the closing and opening of sockets to the · 3be966cd
      Robert Ricci authored
      monitor. (output version 2)
      Wrap read(), recv(), and recvmsg() so that we can detect EOF on a
      socket by a zero-length read.
      Run a function to announce the closing of sockets at exit time, in
      case any are still open.
      Wrap accept() so that we can deal with traffic sent (NOT recieved) by
      servers as well.
      Fix minor bug where I was forgetting to ntohs() a port number.
    • Robert Ricci's avatar
      Add the ability to include the local port number when reporting · bec90b34
      Robert Ricci authored
      on sockets, so that we can correctly handle multiple sockets between
      two hosts.
      The version of output used is controlled by the new
      LIBNETMON_OUTPUTVERSION environment variable. The old output is
      version 1, which is the default for now. The new version is 2.
      Version 2 is still in ASCII. The address format has chaged from
      'remoteip.remoteport' to 'localport:remoteip:remoteport'.
      Version 2 will soon get the ability include information about when
      sockets are created and destroyed.
  16. 31 Jan, 2006 1 commit
  17. 23 Jan, 2006 1 commit
  18. 20 Jan, 2006 2 commits
  19. 19 Jan, 2006 1 commit
  20. 18 Jan, 2006 1 commit