FastNetMon Advanced 2.0.381
Changes:
- Fully working BGP Flow Spec IPv6 manual announcement logic
- Complete test coverage for encode_bgp_subnet_encoding_ipv6 and encode_bgp_subnet_encoding_ipv4
- Upgrade fcli to address problem with lack of gzip compression
- Upgraded inja to v3.5.0
- Added logic to restart GoBGP when we do upgrades
- Added information about source IP of malformed Netflow v9 packets to log file
- Allow invalid certificates for mongodb when mongodb_tls_allow_invalid_certificates is set to true in /etc/fastnetmon/fastnetmon.conf
- Added MongoDB via TLS using mongodb_tls in /etc/fastnetmon/fastnetmon.conf
- Added workaround for build issue of cppkafka on RedHat, explicitly added zlib path
- Added workaround for Clickhouse compilation issues ClickHouse/clickhouse-cpp#524
- Fixed SSL build for cppkafka and removed clang dependency entirely
- Upgrade cmake 3.23.4 to 3.31.8
- Mongo c driver 1.23.0 upgrade 1.30.5
- Mongo cxx 3.7.0 upgrade to mongo_cxx_3_11_0
- Upgrade Boost ASIO API as in Community edition: pavel-odintsov/fastnetmon@f020632
- Upgrade cppkafka from 0.3.1 to 0.4.1
- Upgrade rdkafka from 1.7.0 to 2.14.2
- Removed system depdency in Boost as it's not used anymore and changed Boost version pinning
- Upgrade Boost from 1.81.0 to 1.91.0
- Upgrade gcc from 12.1.0 to 16.1.0
- Upgrade zlib from 1.2.13 to 1.3.2
- Upgrade bpf from 1.0.1 to 1.7.0
- No more 18.04 and 20.04
- Upgrade libelf to 0.195
- Get rid of unusual dependency on Digest::MD5::File which is not packaged on RHEL 10
- Moved dependencies to YAML
- Fixed s3cmd build for Ubuntu 26.04 and enabled RHEL 10 builds
- Added --disable-libsanitizer to address build issues on Ubuntu 26.04
- Added libcrypt-dev to address compilation problems with gcc on Ubuntu 26.04
- Upgrade GoBGP to GoBGP 4.6.0
- Fixed typo in connection tracking logic
- Added safeguard to prevent bugs when TYPE_EXACT is not honored by GoBGP
- Added logic to propagate connection tracking
- Added logic to explicitly pass Flow Spec rules everywhere
- Propagated Flow Spec and conntrack structure to attack callbacks for per host bans
- Upgrade nlohman json to 3.12.0
- Upgraded fmt to 12.1.0
- Added logic to propagate Flow Spec rules in Blackhole IPv4 mode to JSON callback and script in field flow_spec_rules
- Introduced logic to queue batches in traffic_db before sending them to Clickhouse, clickhouse_queue_max_batches defines max number of entries in queue, set to 64 by default, addresses problem with Failed to push data to clickhouse: cannot execute query while inserting, use SendInsertData instead
- Upgraded fcli - Extended fcli timeout for reload_hostgroups, reload_networks and reload_bgp to 60 seconds instead of default 5 second one
- Changed logic to show field subnet_learning in sudo fcli show bgp
- Aligned naming of class generated from configuration with fcli upstream
- Upgrade Golang to 1.26.4
- Upgrade all dependencies for fastnetmon_client
- Added logic to prevent fastnetmon from crashing when /etc/fastnetmon/fastnetmon.conf has JSON syntax issues
- Added logic when we have multiple announces during withdrawal
- We must use remote_ip address of BGP peer to get adj-in instead of name
- Added logic to print unknown attributes when debug mode is enables
- Added logic to add communities for mirrored announce
- Added lists bgp_announce_network_communities_ipv4 and bgp_announce_network_communities_ipv6
- Implemented full logic to mirror BGP announces on per prefix basis for IPv4
- Added bgp_announce_network_mirror_attributes_peer_name_ipv4 and bgp_announce_network_mirror_attributes_peer_name_ipv6 to define peer names for mirroring
- Added new options bgp_announce_network_ipv4, bgp_announce_network_ipv6, bgp_announce_network_mirror_attributes_ipv4, bgp_announce_network_mirror_attributes_ipv6
- Added logic to set GoBGP announce timestamp to address strange looking 20600d timestamps in GoBGP
- Unified Flow Spec announced/withdrawal logic
- Moved flow spec code to actions
- Added full support for extended length BGP attributes, addresses CVE-2026-48685