[NOTE WELL: Please download the pmacct-1.7.6.tar.gz asset; DO NOT download any of the assets called "Source code" in either tar.gz or zip format]
- Added dependency to libcdada in an effort to streamline basic
data structures needed for everyday coding. All new structures
will make use of libcdada, old ones will be ported over time.
Libcdada offers basic data structures in C: ie. list, set, map/
hash table, queue and is a libstdc++ wrapper. Many thanks to
Marc Sune ( @msune ) for his work with libcdada and his enormous
help facilitating the integration. - BGP daemon: added suppport for Accumulated IGP Metric Attribute
(AIGP) and Label-Index TLV of Prefix-SID Attribute. - BGP 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. - BGP daemon: if comparing source TCP ports among BGP peers is
being enabled (config directive tmp_bgp_lookup_compare_ports),
print also BGP Router-ID as distinguisher as part of log/dump
output. - BMP daemon: added support for HAProxy Proxy Protocol Header in
the first BMP message in order to determine the original sender
IP address and port. The new bmp_daemon_parse_proxy_header config
directive enables the feature. Contribution is by Peter Pothier
( @pothier-peter ). - BMP daemon: improved support and brought implementation on par
with the latest drafting efforts at IETF wrt draft-cppy-grow-bmp-
path-marking-tlv, draft-xu-grow-bmp-route-policy-attr-trace,
draft-ietf-grow-bmp-tlv and draft-lucente-grow-bmp-tlv-ebit. - BMP daemon: added 'bgp_agent_map' equivalent feature for BMP.
- nfacctd, nfprobe plugin: added support for collection and export
of NetFlow/IPFIX data over Datagram Transport Layer Security (in
short DTLS). The feature depends on the GnuTLS library. - nfacctd: added support for deprecated NetFlow v9 IE #104
(layer2packetSectionData) as it is implemented for NetFlow-lite
on Cisco devices. Reused code from IPFIX IE #315. - nfacctd: added support for MPLS VPN RD IE #90. This comes in two
flavours both found across vendor implementations: 1) IE present
in flow data and 2) IE present in Options data as a lookup from
IE #234 (ingressVRFID) and #235 (egressVRFID). - nfacctd: added a new timestamp_export aggregation primitive to
record the timestamp being carried in the header of NetFlow/IPFIX
messates (that is, the time at which the export was performed). - nfprobe plugin: added support for ICMP/ICMPv6 information as part
of the NetFlow/IPFIX export. The piece of info is encoded in the
destination port field as per the current common understandings
across vendors. As a result of that, the 'dst_port' primitive is
to be part of the aggregation method in order to leverage this
feature. - MySQL plugin: introduced support to connect to a MySQL server
via UNIX sockets. - tee plugin: added crc32 hash algorithm as a new balancing option
for nodes in the receiving pool. It hashes original exporter IP
address against a crc32 function. Thanks to @edge-intelligence
for the contribution. - Massive improvements carried out on the Continuous Integration
(CI) side, ie. to ensure better quality of the code, and on the
containerization side by offering official stable / bleeding edge
Docker images. Huge thanks to Marc Sune ( @msune ) to make all of
this possible.