Flexible FlowMon Probe

Date: October 2009
Version: 1.0.0
Author: The Liberouter Project Team
Organization: CESNET, z.s.p.o.

Contents

1   Purpose of this README

This README document is used as short manual to install and simple use (functionality test). More detailed information about Flexible FlowMon is available in Flexible FlowMon Probe Handbook.

Please do not use this README only as a step-by-step manual and read all README files first to familiarize with all available features.

2   Installation instructions

2.1   Supported platforms

Flexible FlowMon is based on NetCOPE platform, which supports PC-AT compatible computers only. It has been tested only on computers with 32-bit x86 architecture processors.

2.3   RPM Supported GNU/Linux Distribution

Only CentOS 5.3 distribution is currently supported.

2.4   Installing COMBO cards

After plugging COMBO card into your PCI slot, you should test connection between the card and your PC. We use lspci(8) utility for this purpose. lspci(8) is a utility for displaying information about all PCI buses in the system and all devices connected to them. For correct recognition of the COMBO card you need update PCI ID Database used by lspci(8) or download pciutils-2.2.2 (program collection containing lspci(8)) or later. If the lspci(8) output contains the following line (according to the type of installed COMBO card), your COMBO card is connected properly.

$ lspci -d 18ec:
03:01.0 Ethernet controller: Cesnet, z.s.p.o. COMBO6X (rev 01)
NOTE:Numbers at the beginning of any output line could be different.

2.5   Obtaining packages

The Liberouter project has a common centralized RPM repository for all it's subprojects, available from URL https://www.liberouter.org/repo/ Repository works over secured HTTPS channel. To obtain packages from this repository, you have to authorize yourself with login and password which you have received as our client. (Eventually, use login and password for SVN account.)

To make the standard tool yum(1) work properly with our repository, you should create a new file /etc/yum.repos.d/liberouter.repo with this content:

[liberouter]
name=The Liberouter project RPM repository
baseurl=https://<LOGIN>:<PASSWORD>@www.liberouter.org/repo/
enabled=1
gpgcheck=0
NOTE:You have to substitute <LOGIN> and <PASSWORD> with your real login and password.

Now you should check your repository configuration using yum(1):

# yum repolist | grep liberouter
liberouter           The Liberouter project RPM repository    enabled :   XXX

2.6   RPM packages structure

Flexible FlowMon is distributed in form of several RPM packages. It requires these RPM packages:

combo6-linux-driver
combo6-linux-driver-udev-rules
fflowmon
fflowmon-config
fflowmon-exporters
fflowmon-fflowread
fflowmon-fw-combo6x-xfp2
fflowmon-handbook
libcombo
libcommlbr
libcsfflow
libsze2
liberouter-tools-common
liberouter-scripts-common

2.7   Installing RPM packages

Because default CentOS linux kernel contains bug, that makes use of combo6 kernel modules impossible, it is necessary to install and use our provided kernel which fixes this bug. Unfortunately this fixed kernel is older than current CentOS kernel and yum(1) will not allow to downgrade any package by default. This is possible with yum-allowdowngrade plugin, so installation of this plugin is also necessary. Run:

# yum install yum-allowdowngrade
# yum --allow-downgrade install kernel-2.6.18-128.1.6.el5.slab_fix

Reboot to this new kernel after installation. Make sure, that computer reboots to this kernel (check /etc/grub.conf).

Before installation of Liberouter packages, you should remove some conflicting packages, which you can install again after successful installation described below. Run:

# yum remove isdn4k-utils ppp libpcap

Proceed with installation of fflowmon RPM packages:

# yum install fflowmon

You can check installed/uninstalled packages by these commands:

# yum list --disablerepo=* --enablerepo=liberouter
# yum list | grep liberouter
# yum list | grep fflowmon

You can check info belonging to RPM package by command:

$ rpm -qi <package>

Also you can check installed files belonging to any RPM package:

$ rpm -ql <package>
NOTE:Commands which begin with '#' must be run by root.

2.8   Installation paths

/lib/modules/$(uname -r)/kernel/drivers/net/combo6 - drivers
/usr/include/linux/combo6 - drivers header files
/usr/bin - binary tools
/usr/lib - libraries
/usr/lib/pkgconfig - pkg-config files
/usr/include - header files
/usr/share/mcs - firmware files
/usr/share/mcs/index - auxiliary symlinks to design.xml files
/usr/share/fflowmon - README.html (this document), RELNOTES.html, handbook

2.9   Granting User Privileges

If you want to allow non-privileged user to use COMBO cards, add him to combo-rw group:

# usermod -G $(id -G <user> | sed 's/ /,/g'),combo-rw <user>

Or simply edit /etc/group file which should look like this:

combo-rw:x:10001:xluser00

3   Demonstration of work with Flexible FlowMon probe

When all kernel modules are loaded, csid(1) is able to detect type of plugged cards and provide more detailed information.

After reboot, you should get following output on PC with installed COMBO6X card:

$ csid
combo6x xfp2.2 xc2vp30

HW number detected by csid -s reflects firmware version, e.g. HW: 0x00010003 reflects version 01_03.

NOTE:Proper interface card detection is not working yet, so don't worry about unknown values

To load proper kernel modules run fflowmonlkm(1) tool under root privileges:

# fflowmonlkm -l

To boot the design into the card, use the fflowmon(1) tool:

$ fflowmon

After booting the design into the COMBO card, you should get following output:

$ csid -s
Board    : combo6x
Addon0   : xfp2.2
Chip0    : xc2vp30
Channels : 3/3 (RX/TX)
Firmware : ok
SW       : 0xf1010101
HW       : 0x00010003
Text     : Flexible_FlowMon
PCI brver: c610.05.0c

Then use fflowmonctl(1) to alter the probe settings and to display current status:

$ fflowmonctl -c status
Active timeout:   30.0 sec
Inactive timeout: 10.0 sec
Sampling type:    constant (0)
Sampling value:   1
Repeater:         enabled

4   Contacting Flexible FlowMon team

4.2   Mailing list

For any questions or general technical support issues, please send mail to the netflow-group@liberouter.org general mailing list.