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
andcaida 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
withmemcmp
- 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
- eliminate too-common messages like
- handle broken data from old Quagga implementation
- more details in CAIDA/libparsebgp@0257efd
- 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