Releases: bgpfix/bgpipe
v0.17.3
Full Changelog: v0.17.2...v0.17.3
v0.17.2
v0.17.1
v0.17.0
RouteViews live
This release brings live RouteViews data streaming (using Kafka), along many smaller bug fixes and improvements.
Full Changelog: v0.15.2...v0.17.0
v0.15.2
RPKI validation on-the-fly
This release brings real-time RPKI validation, so bgpipe can now secure old BGP routers that do not support RPKI.
By default, the RTR server run by Cloudflare is used, but any RTR server or ROA file can be used instead. The stage supports many options, see bgpipe rpki -h for more details:
Stage usage: rpki [OPTIONS]
Description: validate UPDATEs using RPKI
Options:
--rtr string RTR server address (host:port) (default "rtr.rpki.cloudflare.com:8282")
--rtr-refresh duration RTR refresh interval (default 1h0m0s)
--rtr-retry duration RTR retry interval (default 10m0s)
--timeout duration connect timeout (0 means none) (default 15s)
--retry retry connection on temporary errors (default true)
--retry-max int maximum number of connection retries (0 means unlimited)
--tls connect over TLS
--insecure do not validate TLS certificates
--no-ipv6 avoid IPv6 if possible
--file string use a ROA file instead of RTR (JSON/CSV, auto-reloaded)
--invalid string action for INVALID prefixes: withdraw|filter|drop|split|keep (default "withdraw")
--strict treat NOT_FOUND same as INVALID
--tag add RPKI validation status to message tags (default true)
--event string emit event on RPKI INVALID messages
--asap do not wait for ROA cache to become ready
Common Options:
-L, --left operate in the L direction
-R, --right operate in the R direction
-A, --args consume all CLI arguments till --
-W, --wait strings wait for given event before starting
-S, --stop strings stop after given event is handled
-I, --if string stage input filter (skip non-matching input)
--rate-limit float delay messages if over the rate limit
--rate-sample float sample messages if over the rate limit
Another new feature is the addition of stage rate limiting and sampling.
Many smaller bugs were fixed and the overall performance improved. The underlying BGPFix library now has a more comprehensive BGP wire format unit test coverage.
Full Changelog: v0.14.0...v0.15.2
v0.14.0
RIPE RIS Live streaming
This release adds a new ris-live stage that streams BGP messages real-time from the RIPE RIS Live endpoint, with automatic retry logic and configurable timeouts.
It also adds a new --guess-asn (short -g) flag for automatic ASN byte size detection. From now, we always set UTC as the default timezone globally. The release updates the bgpfix library dependency from v0.8.0 to v0.9.0.
- Merge dev by @pforemski in #17
- Full Changelog: v0.13.0...v0.14.0
v0.13.0
What's Changed
This release adds bzip2 compression support and signal handling capabilities to bgpipe. Thanks to underlying improvements to bgpfix, this release brings +10% performance improvements in handling BGP message streams.
The changes replace the standard library's read-only bzip2 implementation with the dsnet/compress library to enable both reading and writing bzip2-compressed files. Additionally, it introduces OS signal handling to allow graceful shutdown on SIGINT, SIGTERM, and SIGPIPE.
Key changes:
- Fixes #15
- Adds bidirectional bzip2 compression/decompression support using github.com/dsnet/compress
- Implements OS signal handling for graceful shutdown
- Updates dependencies including bgpfix, klauspost/compress, and golang.org/x/sys
Full Changelog: v0.12.0...v0.13.0
v0.12.0
What's new
From #13, this release introduces automatic data format detection for read/write operations and migrates from individual format flags (--raw, --mrt, --exa) to a unified --format flag with auto-detection support. It adds a bind address feature to the connect stage, refactors utility functions, and includes comprehensive JSON format documentation.
From #14, the release implements connection retry logic with exponential backoff and jitter for TCP and WebSocket client connections, addressing issue #12. The changes introduce new command-line flags --retry and --retry-max to enable configurable retry behavior, along with supporting infrastructure for safe channel operations and unified timeout handling.
Many thanks to @mwichtlh for work on this release!
Full Changelog: v0.11.0...v0.12.0
v0.11.0
This release brings basic ExaBGP line API compatibility + fixes a few bugs
Full Changelog: v0.10.0...v0.11.0