#--------------------------------------------------------------------------- # $Name: cflowd-2-1-b1 $ #--------------------------------------------------------------------------- Requirements ------------ arts++ This release requires the arts++ package from CAIDA. You may retrieve the arts++ package from ftp://ftp.caida.org/pub/arts++/ GNU flex GNU flex is also required, and lex is not supported (and never will be). You *must* use GNU flex and not lex when compiling this package. GNU bison GNU bison is required. In all likelihood, AT&T yacc will work as well, but it's not supported because I never use it. Quick installation procedure ---------------------------- ./configure make make strip (optional) make install make install-lib (optional) 'make install' will install binaries and example configuration files. 'make install-lib' will install header files and the Cfd library, and is only needed if you intend on writing new application using the Cfd library. configure options ----------------- --prefix=/foo/bar By default, everything will be installed under /usr/local/arts (--prefix=/usr/local/arts). You can change the default installation path using --prefix=/some/other/install/directory when running ./configure --with-artspp=/foo/bar By default, configure assumes you installed arts++ in /usr/local/arts (--artspp=/usr/local/arts). You can specify the location of your arts++ installation using --with-artspp=/path/to/arts/installation when running ./configure --with-flexdir=/foo/bar By default, configure will attempt to find the location of flex and guess at the base directory of your flex installation. This directory is needed to link to the flex library (-lfl) and to find the flex header file(s). Normally, if flex is in your path you will not need to use --with-flexdir. However, you can force the locaiton of flex lib and include directories using --with-flexdir=/path/to/flex/installation. For example, if libfl.a is in /opt/flex-2.5.4/lib, you would use --with-flexdir=/opt/flex-2.5.4 NOTE: you still need to have flex in your path. Runtime Configuration --------------------- There is a configuration guide in doc/configuration/configuration.ps You should read the guide before configuring cflowd, even if you've used previous versions of cflowd (since the configuration file has changed). Tested Platforms ---------------- This package has been compiled and used at CAIDA on the platforms listed below. This does not in any way indicate the portability of this software nor the stability. It merely indicates what operating systems on which this package is relatively easy for CAIDA to support. Note I always use g++ for this package, as CAIDA does not currently own commercial C++ compiler licenses. If you're using another compiler, my odds of being able to help you with problems are slim to none, but that doesn't mean I won't try. Here's the list for the current release: Operating System Compiler Date -------------------- ------------------------------ ------------ FreeBSD 3.3 Intel g++ 2.95.1 Oct 18, 1999 Linux 2.2.10 Intel (debian) g++ 2.95.1 Oct 18, 1999 Linux 2.0.34 Intel (debian) g++ 2.95.1 Oct 18, 1999 Sparc/Solaris 2.7 g++ 2.95.1 Oct 18, 1999 Sparc/Solaris 2.6 g++ 2.95.1 Oct 18, 1999 And for previous releases (not tested recently): Operating System Compiler Date -------------------- ------------------------------ ------------ FreeBSD 3.2 Intel g++ 2.95 Aug 11, 1999 Linux 2.2.10 Intel (debian) g++ 2.95 Aug 18, 1999 Linux 2.0.34 Intel (debian) g++ 2.95 Aug 18, 1999 Sparc/Solaris 2.7 g++ 2.95 Aug 18, 1999 Sparc/Solaris 2.6 g++ 2.95 Aug 18, 1999 FreeBSD 3.0 Intel g++ 2.8.1, libstdc++ 2.8.1.1 Jan 10, 1999 FreeBSD 2.2.5 g++ 2.8.1, libstdc++ 2.8.1.1 Oct 10, 1998 Linux 2.0.35 Intel (debian) g++ 2.7.2.3 Oct 10, 1998 Sparc/Solaris 2.6 g++ 2.8.1, libstdc++ 2.8.1.1 Oct 10, 1998 Sparc/Solaris 2.5.1 g++ 2.7.2.3 Oct 10, 1998 Other Platforms --------------- I've received reports from the field that cflowd works on the following platforms: Operating System Compiler Date -------------------- ------------------------------ ------------ BSDI BSD/OS 3.1 g++ 2.8.1, libstdc++ 2.8.1.1 Jan 10, 1999 BSDI BSD/OS 4.0 g++ 2.7.2.1 Jan 11, 1999 Digital UNIX 4.0B g++ 2.8.1 Jan 4, 1999 Specific Platform Notes ----------------------- FreeBSD ------- cflowdmux and cflowd use System V IPC facilities (shared memory and semaphores). Hence you must have these facilities in your kernel on the host running cflowdmux and cflowd (they are not required for cfdcollect). You should have these lines in your kernel configuration: options SYSVSHM options SYSVSEM See /sys/i386/conf/LINT for more information. Solaris ------- cflowdmux uses shared memory for inter-process communication. The shared memory is used for packet buffering, and cflowdmux uses a default shared memory segment of 1 megabyte (which can be changed with the PKTBUFSIZE setting in cflowd.conf). Solaris is usually installed with a low default for the maximum shared memory segment size (typically 1 megabyte). If you want to use a larger shared memory packet buffer for cflowdmux, you may need to increase the system limit before starting cflowdmux by adding a line like the following to /etc/system: set shmsys:shminfo_shmmax=16777216 This sets the maximum shared memory segment size to 16 megabytes. No resources are allocated by this setting, so it's generally safe to increase it. You can view the current setting by running 'sysdef'. After changing /etc/system, you need to reboot for the new setting to take effect.