Pyfixbuf Overview

Introduction to Pyfixbuf

pyfixbuf is a Python API for libfixbuf, an implementation of the IPFIX RFC 7011 protocol used for building collecting and exporting processes. pyfixbuf can be used to write applications, often called mediators, that collect and export IPFIX. Mediators are useful in modifying, filtering, or adding to the content of the message before forwarding to another IPFIX collection point, or in converting IPFIX to another format (text, database, JSON, etc.).

libfixbuf is a compliant implementation of the IPFIX Protocol, as defined in the Specification of the IPFIX Protocol for Export of IP Flow Information RFC 7011. It supports the Information Model defined in Information Model for IP Flow Information Export RFC 7012 extended as proposed by Bidirectional Flow Export using IPFIX RFC 5103 to support information elements for representing biflows. It also supports Exporting Type Information for IPFIX Information Elements RFC 5610 and structured data elements as described in Export of Structured Data in IPFIX RFC 6313.

libfixbuf, as well as pyfixbuf, supports UDP and TCP as transport protocols. It also supports operation as an IPFIX File Writer or IPFIX File Reader.

Installation

pyfixbuf is compatible with Python versions 2.6, 2.7, and 3.3 or later.

pyfixbuf requires the ipaddress library, which is standard in Python 3 since v3.3. Users of Python 2.6 or 2.7 should install it through pypi or from https://github.com/phihag/ipaddress.

pyfixbuf requires libfixbuf version 2.2 or later. libfixbuf should be built and installed before building and installing pyfixbuf. It may be necessary to set the PKG_CONFIG_PATH environment variable to the location of the libfixbuf.pc file before building pyfixbuf. Typically this file is located at /usr/local/lib/pkgconfig when libfixbuf is installed in the default location.

Building and installing pyfixbuf is done using the standard setup.py mechanism. The following commands should suffice in most cases:

python setup.py build

python setup.py install             #as root

You may need to use the -E option to sudo to preserve the PKG_CONFIG_PATH environment variable when installing.

API Documentation