Skip to content

Releases: CAIDA/libbgpstream

V2.3.0

19 Feb 02:00
04e7b30
Compare
Choose a tag to compare

Release notes for libbgpstream version 2.3.0

Changes:

  • Downgrade parsebgp invalid message log to warning.
  • Return parsebgp-invalid as corrupted message.
  • Remove valid-record check from bgpreader.
  • Add -J option to exclude collector peers by ASN.
  • Fix "infinite" batch size bug when update timestamps are not in sync.
  • Remove repeated call to AM_INIT_AUTOMAKE in configure.ac.
  • Update ax_pthread.m4.
  • Bring the common submodule up to date.
  • Resource manager: place limit on number of unconfirmed opened elements.

V2.2.0

16 Apr 21:24
d1e1deb
Compare
Choose a tag to compare

Kafka Transport

  • Kafka: Kafka transport performance improvements
  • Kafka: try blocking for a while before returning EOF
  • Kafka: prefer roundrobin rebalance strategy

Message Parsing

  • Parse: Ensure we move past an invalid message
  • Parse: Fix "incompatible pointer type" warning in pfx_set code
  • Parse: Update to latest libparsebgp
    • Support RFC 8050 MRT Additional Path extension
    • Fix parsing of missing OPEN/UPDATE messages

V2.1.0

25 Nov 21:03
c9f752d
Compare
Choose a tag to compare

Release note for libbgpstream V2.1.0

Feature

  • Add utility functions to iterate over a prefix set (e3c2013)

V2.0.0

21 Aug 22:53
7232a39
Compare
Choose a tag to compare

Release note for libbgpstream version 2.0.0.

Features

  • add bgpreader -A/--aspath option
  • switching to V2 broker
  • allow mixing of stream resources (ris-live and caida bmp) with batch
    resources (e.g. mrt files from routeviews)
  • run bgpreader without any parameter now defaults to stream from both stream
    and batch resources
  • accept human-readable time format in bgpreader -w

Fixes

  • fix bgpstream_di_mgr_get_next_record() returns garbage if interrupted
  • fix ipv6 mask bug when mask_len==0
  • fix error handling in community parsing
  • fix memory corruption printing community set
  • fix backreferences in new cisco regexp code
  • fix potential cast alignment issues (-Wcast-align)
  • fix ipv6 addr and pfx hash functions
  • fix handling of bad bgpreader -w option
  • fix swapped values of AS_PATH_SEG_CONFED_{SET,SEQ}
  • fix conversion warning / simplify ipv4_addr_mask
  • fix overruns and bad output in snprintf-ish funcs
  • fix clang++ compilation error
  • fix patricia glue node prefix
  • fix compilation error for building libbgpstream with sqlite support
  • fix an issue where kafka debug is outputed even if kafka transport is not used

Enhancement

general

  • improve filter error handling
  • simplify patricia code
  • don't fail on unknown AS path segment type
    • change format for bad aspath seg type to “<12 34>”
  • type safety for communities_hash
  • replace casts with union in AS path seg
  • simplify bgpstream_as_path_seg_snprintf()
  • format bgpreader –help based on terminal width
  • use standard fixed-size int types for hash values
  • suppress bogus warning from old clang -Wall
  • allow pybgpstream to check bgpstream versions with bgpstream.h

filter

  • improve community filter
  • improve aspath regex filter
  • optimize prefix filter with improved patricia
  • add filter string unit test
  • fail on invalid value in filter expression
  • extend filter parser to support origin ASN filtering

cache

  • fix/improve messages for cache file errors
  • fix multiple cache transport issues
  • overall improvements on the reliability of caching function

Documentations

  • fix obvious documentation errors
  • fix comment ending in backslash
  • fix documentaiton on the usage of filtering string

Code clean up

  • fixed unreachable code
  • code clean up
  • rename variables for less verbosity
  • remove duplicate function declaration (fixes #99)
  • releaced bcmp with memcmp
  • replace malloc/snprintf with bsasprintf
  • remove redundant unreachable breaks
  • clean up bgpreader exit
  • remove redundant log messages
  • fix invalid enum value
  • clean up some integer conversion safety
  • separate package and shared library versions

Testing

  • fix compiler warnings that break auto build test
  • clean up unused functions and variables in test
  • add more IP address mask tests
  • fix/improve patricia test
  • modify tests to not quit after first FAIL
  • fix compiler warning in test suite
  • add AS path unit tests
  • add exit status to work with automake script-based tests
  • add unit tests for snprintf-like functions
  • add test of snprintf-like funcs with bad input

libparsebgp

  • fix unused variable in STATIC_ASSERT
  • fix compiler warning that breaks auto build test
  • don’t warn about BGP capabilities with 0 length
  • store raw data for unimplemented open capabilities
    • eliminate too-common messages like WARN: NOT_IMPLEMENTED: OPEN Capability 64 is either unknown or currently unsupported
  • handle broken data from old Quagga implementation
  • initialize IP string buffer
    • otherwise we can print garbage if the AFI is invalid.
  • switch to checking AFI rather than ifindex
  • allow truncated bgp updates to be used, not just skipped

Known Issues

  • RIS live stream disconnects when mixing batch and real-time resources (#116)
  • Kafka transport appears to block when consuming from non-existent topic (#127)

V2.0 RC 5

10 Jun 21:25
b1b877e
Compare
Choose a tag to compare
V2.0 RC 5 Pre-release
Pre-release

This is the fifth public beta release for libbgpstream 2.0.0

Changes

  • fix configure checking error for HTTP transport
  • fix an issue where kafka debug is outputed even if kafka transport is not used
  • parse and output ris-live error messages
  • skip ris-live OPEN, NOTIFICATION, and KEEPALIVE messages

V2.0 RC 4

13 Apr 18:46
e661b6a
Compare
Choose a tag to compare
V2.0 RC 4 Pre-release
Pre-release

This is the forth release candidate for libbgpstream version 2.0.

Changes since rc3:

V2.0 RC 3

19 Feb 17:57
3496a8f
Compare
Choose a tag to compare
V2.0 RC 3 Pre-release
Pre-release

This is the third release candidate for libbgpstream version 2.0.

Changes since rc2:

V2.0 RC 2

22 Nov 19:38
64daa62
Compare
Choose a tag to compare
V2.0 RC 2 Pre-release
Pre-release

This is the second release candidate for libbgpstream version 2.0.

Changes since rc1:

  • Updated libparsebgp library for better BGP message parsing
  • Various improvements on Debian package configuration
  • Fixed documentation on the usage of filtering string
  • Fixed off by one parsing bug in BMP parser (credit: @duaa-abdelgadir)
  • Added checking for bgpstream broker version

V2.0 RC 1.2

25 Oct 21:55
0fe1915
Compare
Choose a tag to compare
V2.0 RC 1.2 Pre-release
Pre-release

This is a minor update to RC1. The changes focus on fixing Debian packaging and package dependencies.

V2.0 RC 1

30 Sep 15:59
158ebb3
Compare
Choose a tag to compare
V2.0 RC 1 Pre-release
Pre-release

This is the first release candidate for libbgpstream version 2.0.

Features

  • add bgpreader -A/--aspath option
  • switching to V2 broker
  • allow mixing of stream resources (ris-live and caida bmp) with batch
    resources (e.g. mrt files from routeviews)
  • run bgpreader without any parameter now defaults to stream from both stream
    and batch resources
  • accept human-readable time format in bgpreader -w

Fixes

  • fix bgpstream_di_mgr_get_next_record() returns garbage if interrupted
  • fix ipv6 mask bug when mask_len==0
  • fix error handling in community parsing
  • fix memory corruption printing community set
  • fix backreferences in new cisco regexp code
  • fix potential cast alignment issues (-Wcast-align)
  • fix ipv6 addr and pfx hash functions
  • fix handling of bad bgpreader -w option
  • fix swapped values of AS_PATH_SEG_CONFED_{SET,SEQ}
  • fix conversion warning / simplify ipv4_addr_mask
  • fix overruns and bad output in snprintf-ish funcs
  • fix clang++ compilation error
  • fix patricia glue node prefix
  • fix compilation error for building libbgpstream with sqlite support

Enhancement

general

  • improve filter error handling
  • simplify patricia code
  • don't fail on unknown AS path segment type
    • change format for bad aspath seg type to “<12 34>”
  • type safety for communities_hash
  • replace casts with union in AS path seg
  • simplify bgpstream_as_path_seg_snprintf()
  • format bgpreader –help based on terminal width
  • use standard fixed-size int types for hash values
  • suppress bogus warning from old clang -Wall
  • allow pybgpstream to check bgpstream versions with bgpstream.h

filter

  • improve community filter
  • improve aspath regex filter
  • optimize prefix filter with improved patricia
  • add filter string unit test
  • fail on invalid value in filter expression
  • extend filter parser to support origin ASN filtering

cache

  • fix/improve messages for cache file errors
  • fix multiple cache transport issues
  • overall improvements on the reliability of caching function

Documentations

  • fix obvious documentation errors
  • fix comment ending in backslash

Code clean up

  • fixed unreachable code
  • code clean up
  • rename variables for less verbosity
  • remove duplicate function declaration (fixes #99)
  • releaced bcmp with memcmp
  • replace malloc/snprintf with bsasprintf
  • remove redundant unreachable breaks
  • clean up bgpreader exit
  • remove redundant log messages
  • fix invalid enum value
  • clean up some integer conversion safety
  • separate package and shared library versions

Testing

  • fix compiler warnings that break auto build test
  • clean up unused functions and variables in test
  • add more IP address mask tests
  • fix/improve patricia test
  • modify tests to not quit after first FAIL
  • fix compiler warning in test suite
  • add AS path unit tests
  • add exit status to work with automake script-based tests
  • add unit tests for snprintf-like functions
  • add test of snprintf-like funcs with bad input

libparsebgp

  • fix unused variable in STATIC_ASSERT
  • fix compiler warning that breaks auto build test
  • don’t warn about BGP capabilities with 0 length
  • store raw data for unimplemented open capabilities
    • eliminate too-common messages like WARN: NOT_IMPLEMENTED: OPEN Capability 64 is either unknown or currently unsupported
  • handle broken data from old Quagga implementation
  • initialize IP string buffer
    • otherwise we can print garbage if the AFI is invalid.
  • switch to checking AFI rather than ifindex
  • allow truncated bgp updates to be used, not just skipped