Skip to content

Releases: bgpfix/bgpipe

v0.17.3

12 Feb 13:17

Choose a tag to compare

v0.17.2

12 Feb 12:59
34dd9f9

Choose a tag to compare

What's Changed

Full Changelog: v0.17.1...v0.17.2

v0.17.1

10 Feb 15:52
c1cbc9b

Choose a tag to compare

The release updates bgpipe documentation and navigation, bumps the bgpfix dependency, and introduces a configurable stage stop timeout along with lifecycle unit tests to validate stage start/stop behavior (see #29).

v0.17.0

07 Feb 01:53
960b02e

Choose a tag to compare

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

17 Jan 16:52

Choose a tag to compare

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

19 Dec 13:21
88bd75e

Choose a tag to compare

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.

v0.13.0

12 Dec 13:47
1605863

Choose a tag to compare

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

21 Nov 14:45
44331b3

Choose a tag to compare

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

10 Oct 23:59
e85cf82

Choose a tag to compare

This release brings basic ExaBGP line API compatibility + fixes a few bugs

Full Changelog: v0.10.0...v0.11.0

v0.10.0

13 Jun 14:26

Choose a tag to compare

This release brings a few notable features:

  • advanced message filtering on stage inputs and outputs
  • a few new stages, eg. update for modifying BGP update messages on-the-fly
  • HTTP streaming support in the read stage