- pmacct & Redis: pmacct daemons can now connect to a Redis cache.
The main use-case currenly covered is: registering every stable
daemon component in a table so to have, when running a cluster
comprising several daemons / components, an olistic view of what
is currently running and where; shall a component stop running
or crash it will disappear from the inventory. - BMP daemon: as part of the IETF 107 vHackaton, preliminar support
for draft-xu-grow-bmp-route-policy-attr-trace and draft-lucente-
grow-bmp-tlv-ebit was introduced. Also added support for Peer
Distinguisher field in the BMP Per-Peer Header. - BMP daemon: added support for reading from savefiles in libpcap
format (pcap_savefile, pcap_savefile_delay, pcap_savefile_replay,
pcap_filter) as an alternative to the use of bmp_play.py. - BMP daemon: re-worked, improved and generalized support for TLVs
at the end of BMP messages. In this context, unknown Stats data
is handled as a generic TLV. - BMP daemon: added SO_KEEPALIVE TCP socket option (ie. to keep the
sessions alive via a firewall / NAT kind of device). Thanks to
Jared Mauch ( @jaredmauch ) for his patch. - nfacctd, nfprobe plugin: added usec timestamp resolution to IPFIX
collector and export via IEs #154, #155. For export, this can be
configured via the new nfprobe_tstamp_usec knob. - nfacctd: new nfacctd_templates_receiver and nfacctd_templates_port
config directives allow respectively to specify a destination
where to copy NetFlow v9/IPFIX templates to and a port where to
listen for templates from. If nfacctd_templates_receiver points to
a replicator and the replicator exports to nfacctd_templates_port
of a set of collectors then, for example, it gets possible to share
templates among collectors in a cluster for the purpose of seamless
scale-out. - pmtelemetryd: in addition to existing TCP, UDP and ZeroMQ inputs,
the daemon can now read Streaming Telemetry data in JSON format
from a Kafka broker (telemetry_daemon_kafka_* config knobs). - pmgrpcd.py: Use of multiple processes for the Kafka Avro exporter
to leverage the potential of multi-core/processors architectures.
Code is from Raphael P. Barazzutti ( @rbarazzutti ). - pmgrpcd.py: added -F / --no-flatten command-line option to disable
object flattening (default true for backward compatibility); also
export to a Kafka broker for (flattened) JSON objects was added (in
addition to existing export to ZeroMQ). - nDPI: introduced support for nDPI 3.2 and dropped support for all
earlier versions of the library due to changes to the API. - Docker: embraced the technology for CI purposes; added a docker/
directory in the file distribution where Dockerfile and scripts to
build pmacct and dependencies are shared. Thanks to Claudio Ortega
( @claudio-ortega ) for contributing his excellent work in the area.