Skip to content

V2.0 RC 1

Pre-release
Pre-release
Compare
Choose a tag to compare
@digizeph digizeph released this 30 Sep 15:59
· 82 commits to master since this release
158ebb3

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