Skip to content

Releases: SNAS/openbmp

Release 0.14.0

06 Mar 20:31
Compare
Choose a tag to compare

Stability fixes and enhancements to include loc-rib, adj-rib-out, and large communities. Added message
bus type header to support topic multiplexing.

Change Log

New Features

  • Message Bus Schema now version 1.7
  • Added large community RFC8092 support
  • Added librdkafka queue.buffering.max.kbytes config
  • Enhanced detection of peer encoding of ASN as 2 octet verses 4 octet
  • Updated librdkafka configuration to request api version for
    support of new/old kafka versions
  • Added support for draft-ietf-grow-bmp-local-rib
  • Added support for draft-ietf-grow-bmp-adj-rib-out
  • Added T (object type) header field for msgbus messages
  • Added support to disable topics by configuring the topic as either null or ''

Fixes

  • Fixed issue with handling extended attribute length
  • Fixed complier issues with changes with librdkafka
  • When in v4v6 mode, resolved issue with polling resulting in many POLLERR log messages
  • Adjusted kafka default config to resolve too large of message issue
  • Fixed race condition causing segfault during router disconnect
  • Changed unsupported attributes log warn to debug
  • Added error handling of BMP header microsecond values
  • Fixed issue with segfault caused by empty sysName with JunOS

Release 0.13.0

29 Mar 19:18
Compare
Choose a tag to compare

This release includes Segment Routing, Labeled Unicast, L3VPN, Add-Paths, and EVPN support, among many other features listed below.

New Features

  • Added Segment Routing egress peer engineering (EPE) bgp-ls link NLRI support
  • Add-Paths support added; field added to unicast_prefix as unsigned 32 bit value
  • Label unicast is now supported; field added to unicast_prefix as string list delimited by comma
  • L2VPN EVPN decoding and topic added
  • MPLS L3VPN decoding and topic added (vpnv4 and vpnv6)
  • Additional segment routing support in bgp-ls
    • Decoding for SR capabilities, SR global block information.
    • SR global block information
    • Decoding for SR Prefix SID
  • Added NAT/PAT feature to support routers behind NAT as well as replaying BMP feeds
  • Added connection pacing feature to prevent global sync on collector startup
  • Add support for Adj-RIB-Out, O-flag and add pre/post policy boolean to unicast_prefix
  • Added DNS PTR lookup on OSPF router id
  • Added OSPF DR support by including the DR in the IGP_Router_ID
  • Added support for default route advertisements in BMP server
  • Added Kafka Producer configurations to openbmpd.conf
  • Added router init TLV INIT_TYPE_ROUTER_BGP_ID=65531
  • Added unreserved bandwidth parsing
  • Added bgp-ls node flag decoding
  • Added bgp-ls node MT-ID decode; updated message bus API for mt_id to be a list
  • Added bgp-ls prefix tag decode
  • Added better handling of malformed BMP/BGP messages from router
  • Added configuration option to specify the binding address for both IPv4 and IPv6

Fixes

  • Fixed issue with unicast v4 parsing causing segfault.
  • Fixed issue with parsing >10G links with ieee 754 float
  • Fixed TE default metric so that it prints correctly
  • Fixed two-octet ASN detection when first AS path is empty
  • Fixed debug and config file conflicts. CLI will now override the config file.
  • Fixed issue with peer info not persisting peer up capabilities

Release 0.12.0

02 Apr 17:46
Compare
Choose a tag to compare
  • Kafka 0.9.0 support
  • Configuration file support
  • Advanced topic mapping
  • Full IPv6 listening support
  • Minor bug fixes

Release 0.11.0

18 Nov 22:41
Compare
Choose a tag to compare

Release Notes - Version 0.11.0

Added Apache Kafka for support of multiple consumers and backends.

IMPORTANT

This release uses Apache Kafka and requires mysql consumer for MySQL integration. Same over functionality is available in the mysql consumer.

Change Log

New Features/Changes

  • Completely changed to use Apache Kafka (0.8.2.2)
  • Initial Apache Kafka partitioning support (partition by peer)
  • Added MySQL Consumer
  • Added File Consumer
  • Added IPv6 BMP listening/feed support
  • Added docker containers for all in one (aio), collector, MySQL, and Kafka
  • Added MP_REACH IPv4 support (fixes ODL peering)

Defects/Fixes

  • Fixed issue with Alcatel peering via JunOS with received capabilities being empty
  • Fixed various segfaults
  • Fixed parsing issue of MT-ID on links and prefixes for BGP-ls
  • minor bug fixes

Release 0.10.0

22 Jul 22:49
Compare
Choose a tag to compare

Release Notes - Version 0.10.0

Added ingress buffering of BMP, which is more efficient than buffering parsed data.

IMPORTANT

This is the last release with direct MySQL integration. From now
one integration with MySQL is via the Kafka consumer.
This will continue to be supported via branch 0.10.0-mysql

Change Log

New Features/Changes

  • Added circular buffer for ingress BMP buffering
  • Added new openbmpd option -b and OPENBMP_BUFFER to configure the buffer
  • Added parallel query support for gen-asn-stats

Defects/Fixes

  • Fixed issue with withdrawn prefixes not having correct hash ID

Release 0.9.0-1

22 Jul 22:39
Compare
Choose a tag to compare

Release Notes - Version 0.9.0

Significant performance improvements to support routers with millions of pre-rib (10M+) prefixes with hundreds of peers. Improvements are for large edge peering routers and route-reflectors.

Important

Update your MySQL configuration to increase the max_allowed_packet to at least 384M. This is to support the large bulk inserts/updates and transactions.

Update your schema (no alter table syntax currently)

Change Log

New Features/Changes

  • Schema updates to improve large tables and complex queries
  • Introduced post parsed queueing to improve performance and to support situations where the DB may be offline or if tables are locked
  • Added BGP-LS (Linkstate IS-IS/OSPF) support
  • Added withdrawn view to enable looking at past withdrawn prefixes
  • Added support for microsecond tracking on updates and withdraws
  • Updated whois import to support DB name and wide characters
  • Added support for retries for deadlocks and failed updates/inserts (possible now with the queueing)
  • Changed RIB table to use "isWithdrawn" column to mark prefix as withdrawn instead of deleting the prefix. This enables better performance while also supporting better past reporting of prefixes that have been deleted.
  • Added binary IP forms to support range searching with GEO data
  • Added 2-octet ASN support

Defects/Fixes

  • Fixed issue with inserts/updates for MySQL strict modes
  • Temporarily disabled hashing peer bgp_id because XR has an issue where it sends 0.0.0.0 on subsequent peer up events.
  • Fixed issue with IPv6 next-hop parsing
  • Fixed issues with ASN statistics generation

Notes

Router Up/Down via conn_count

To properly set conn_count in the DB, openbmpd should be stopped via the init script. If you use SIGKILL, the db will not get updated by openbmpd when its shutdown.

2-Octet ASN Support

Cisco IOS XR/XE will send unmodified UPDATES, which will contain 2-octet ASN's if 4-octet is not negotiated. Section-5 specifies that all UPDATES should use 4-octet ASN regardless of sent/received capabilities. Most of the time 4-octet ASN's are used, so this is normally not an issue. Legacy hardware/software still exists and therefore 2-octet ASN peering will be used. This update attempts to auto-detect if 2-octet ASN parsing should be used by using the following logic:

Default to 4-octet and attempt to parse the ASN's (path), regardless of the negotiated peering capabilities as per draft-07. If this fails, then check both sent/received capability to confirm 4-octet ASN support is not available. If not 4-octet, attempt to parse using 2-octet.

AS4_PATH/aggregator is not currently implemented, but will be if this is really needed.

Release v0.8.0

11 Feb 22:20
Compare
Choose a tag to compare

Release Notes - Version 0.8.0

Fully compliant with bmp draft 07 and now backwards compatible with older version of BMP draft to support JunOS < 13.x.

Change Log

New Features/Changes

  • Added Extended community support for most extended communities
  • Restored backwards compatibility with BMPv1 (support for < JunOS 13.x)
  • Added cron scripts to import whois data and to populate asn statistics
  • Added cmake RPM packaging
  • Added upstart script for DEB packaging
  • Added TCP keepalive support - enabled by default now
  • Added DNS resolution for peer and router IP addresses
  • Added extended communities, isPeerVPN, isPeerIPv4 to both v_routes and v_routes_history
  • Changed term reason and code to be empty when router is connected
  • Updated database indexes and partitioning for faster queries.
  • Changed requirement of boost 0.49 to 0.46 to support Ubuntu 12.04 builds
  • Updated deb_package to support install prefix
  • Changed database schema to use latin1 consistently to support reduced key sizes
  • Changed path_attr_log to support history of all changed updates - this supports better reporting like seen with withdrawn_log

Defects/Fixes

  • Fixed issue where malformed BMP messages result in router entries in the DB
  • Fixed issue where openbmpd would core if the log file couldn't be accessed for read/write
  • Fixed peer_rd parsing to correctly parse VPN peer RD types
  • Fixed issue where extended communities were not being updated in the DB on change
  • Fixed issues with router disconnects not being recorded correctly in DB
  • Fixed issue with BMP peer down notification type 2 causing thread close
  • Fixed minor issues with the various views - this includes better optimization for v_routes_history
  • Corrected CMakeList.txt MPReachAttr to support older versions of cmake, was a typo.
  • Fixed various file mode permissions in the source tree
  • Corrected some code to support C++0x and OSX builds

Release v0.7.1

10 Sep 17:34
Compare
Choose a tag to compare

Fully compliant with bmp draft 07

BMP version 1 (older draft versions) will no longer be supported after this release. This release still supports older BMP versions, but future releases will not. JunOS >= 13.1, IOS XE >= 3.12, and IOS XR >= 5.2.2 fully support the latest BMP draft. It is advised that going forward current router images be used to support the latest BMP version.

Change Log

  • Added initiation and termination message support (fully compliant with bmp draft 07)
  • Added peer_up message support (compliant with bmp draft 07)
  • Added v_peers VIEW to display BGP peer information (including open/sent message info)
  • Added initial deb package support
  • Changed field name in routers to init_data
  • Fixed some typos
  • Fixed v_routes view router and peer name to display IP address if name is not set
  • Fixed other minor issues - see commit log.