#---------------------------------------------------------------------------
#  @(#) $Name: cflowd-2-1-b1 $
#---------------------------------------------------------------------------

Please see the file named INSTALL in this directory for installation
instructions.

Changes from 1-3b2 to 2.0
-------------------------

  cflowd has been completely redesigned and reimplemented for the 2.0 
  release.  The changes include:

    - Added support for v1 flow-export.
    - All tables are now per input interface.
    - New tabular data: port matrix, interface matrix, nexthop table.
      The old port table has been replaced by the more granular 
      port matrix.
    - a new cflowdmux process with which clients may communicate
      to receive raw flow streams.
    - A fully functional central collector is now included (cfdcollect).
      This allows you to archive time-series tabular data from multiple
      instances of cflowd.
    - All counters are 64 bits.
    - Local clients (cfdases, cfdnets, et. al.) will show the time interval
      for current data.
    - Local clients can show pkts/sec and bits/sec in addition to packet
      and byte counters.
    - Added manpages.
    - mmap() is gone for the tabular data; local clients connect to a
      UNIX domain socket to view current data.  This removed a lot
      of code complexity.
  
  Things still missing:

    - Need to store process IDs in pidfiles so I can easily manage
      the processes (cflowdmux, cflowd and cfdcollect).

Notes on source code
--------------------

  It has become my habit to document function calls in the header files
  and not in the implementation.  I do things this way because the
  documentation of functions, classes and members is then still
  available in a binary installation, assuming the header files and
  libraries are also installed.  It also lets me use a modified
  version of cocoon to generate class reference documentation in 
  HTML.  I don't put function documentation in the implementation
  because it becomes painful to duplicate documentation in multiple
  places (and like anything else that's duplicated, it has a tendency
  to get out of sync).
