Releases: bgpfix/bgpfix
Release list
v0.22.1
Bug fix release for MRT table dump reading.
Fixed
Legacy TABLE_DUMP (v1) records name their peer inline, so a corrupt or hostile file could define peers without end:
- Peer index wraparound: the synthetic peer index was a
uint16, so past 65535 peers it wrapped and routes were silently attributed to an earlier, unrelated peer (wrongPEER_AS/PEER_IP). - Unbounded memory: the peer table and the per-peer pending UPDATEs grew without limit. A 16 MB file with 70k distinct peers consumed 757 MB; it now takes 61 MB.
Peer indexes are now int, the tracked peer table is capped, and pending UPDATEs are flushed once too many peers are in flight. Records past the cap are dropped and counted as garbled, never folded onto an existing peer.
Real-world dumps carry well under 100 peers and are unaffected: output still matches bgpkit-parser exactly on RouteViews v1/v2/v6 RIBs and a RIPE RIS bview.
v0.22.0
MRT TABLE_DUMP support
Stream MRT RIB snapshots (RouteViews rib.*, RIPE RIS bview.*) as BGP UPDATE messages:
mrt.Table: parse TABLE_DUMP_V2 (PEER_INDEX_TABLE, RIB_IPV4/IPV6_UNICAST) and legacy TABLE_DUMP v1 recordsmrt.Reader: convert RIB entries to synthetic UPDATEs - every peer's routes, taggedPEER_AS/PEER_IP, with consecutive same-attribute prefixes bundled into one UPDATE per peer;Reader.Flush(cb)emits pending bundles at end of stream- handles both RIB-entry MP_REACH encodings found in the wild: truncated (RFC 6396/4.3.4) and full RFC 4760 (RouteViews)
- validated against bgpkit-parser on real RouteViews v1/v2/v6 RIBs and RIPE RIS bviews: exact row-level match
Other changes
metapackage: per-message parser metadata (replaces thedirpackage); AS4/AddPath overrides for MRT/BMP parsers- allocation reductions: reuse of attribute objects and scratch buffers across UPDATE parse/marshal cycles, MP value reuse
NoCtxrenamed back toNoTagsin mrt/bmp readers- package documentation for all packages
What's Changed
- Dev0724 by @pforemski in #26
Full Changelog: v0.21.0...v0.22.0
v0.21.0
v0.20.2
v0.20.1
What's Changed
- rpki: RPKI cache package with ROV and ASPA validation by @pforemski in #22
- flowspec: fix value truncation in JSON numeric operators by @pforemski in #23
Full Changelog: v0.19.0...v0.20.1
v0.20.0
v0.19.0
What's Changed
- feat: RTR client, ASPA helpers, speaker validation, misc protocol fixes by @pforemski in #21
Full Changelog: v0.18.0...v0.19.0
v0.18.0
What's Changed
- filter: add json, attr, time, dir, seq filters and fix != semantics by @pforemski in #19
Full Changelog: v0.17.2...v0.18.0