Releases: bgpkit/bgpkit-parser
V0.10.0-alpha.5 BMP listener example
What's Changed
Full Changelog: v0.10.0-alpha.4...v0.10.0-alpha.5
V0.10.0-alpha.4 MRT encoder
What's Changed
- add support for RFC 9069 by @digizeph in #133
- 🔥 MRT message encoder for BGP updates by @digizeph in #118
MRT encoder
This version adds the MRT encoding support for BGP4MP and TableDump v1 (V2 will be supported later). This means users can now writes MRT files for BGP updates received/filtered/crafted. This enables a bunch of potential applications such as per-AS MRT archiver, or BMP-to-MRT data stream.
Examples:
- Stream BGP messages, filter for AS3356's originated messages, archive to a destination MRT file: https://github.com/bgpkit/bgpkit-parser/blob/main/examples/mrt_filter_archiver.rs
- Stream from RouteViews Kafka stream, and write all messages directly to a MRT file: https://github.com/bgpkit/bgpkit-parser/blob/main/examples/real-time-routeviews-kafka-to-mrt.rs
Full Changelog: v0.10.0-alpha.3...v0.10.0-alpha.4
V0.10.0-alpha.3
What's Changed
Full Changelog: v0.10.0-alpha.2...v0.10.0-alpha.3
V0.10.0-alpha.2
What's Changed
- add a few utility functions for
BgpElem
by @digizeph in #114 - update library documentation by @digizeph in #115
- restructure project by @digizeph in #116
- Fix broken link in README by @bswinnerton in #119
- Add full serde support by @jmeggitt in #122
- Misc quality of life improvements by @jmeggitt in #123
- Add support for rustls by @bswinnerton in #126
New Contributors
- @bswinnerton made their first contribution in #119
Full Changelog: v0.10.0-alpha.1...v0.10.0-alpha.2
V0.10.0 Alpha 1
What's Changed
- store raw bytes for unknown and deprecated attrs by @digizeph in #112
- this allows downstream applications to display and handle raw bytes for such attributes, useful during BGP debug sessions.
- clean up features and dependencies by @digizeph in #113
- revise features into three major groups:
models
: only exporting BGP structsparser
: the main featurebuild-binary
: buildingbgpkit-parser
cli tool
- revise features into three major groups:
Full Changelog: v0.9.4...v0.10.0-alpha.1
V0.9.4: handle opening errors
What's Changed
Full Changelog: v0.9.3...v0.9.4
V0.9.3 Aggregator parsing fix, time string filters
New feature:
- PR #107: Users can now pass RFC3999-compliant time strings for time filters.
Fixes
- PR #107: Issue #104 has been resolved. Users can now pass
ts_start
,start_ts
,ts_end
,end_ts
for filter types. - PR #108: Issue #75 has been fixed by ensuring that the BGP aggregator's identifier is always a 4-byte IPv4 address.
- Previously, there was an issue with parsing IPv6 addresses as aggregator identifiers in IPv6 RIB dumps, which caused warnings to be displayed.
- This issue only affected the parsing of the aggregator attribute itself and should not have caused any other inaccuracies in parsing results for other path attributes.
Dependencies
- The
chrono="0.4.24"
package has been added to handle time string parsing.
Full Changelog: v0.9.2...v0.9.3
V0.9.2 submodule, bytes, rib parsing fix
V0.9.1 fix cache directory issue
See details in #100
V0.9.0 Major refactor, RFC9234
Overview
This release primarily focused on improving code quality and performance, with several essential refactorings made to the codebase, including:
- changing the repository to a monorepo (#77)
- replacing the ipnetwork library with ipnet (#78)
- removing custom
DataBytes
struct from the codebase (#80 and #86) - applying and enforcing
cargo fmt
(#89)
In addition to these improvements, several new features were added, including:
- the addition of
only-to-customer
attributes to elem (#93) - support for the new RFC9234 for route leak prevention BGP path attribute (#65)
Furthermore, new documentation was added for BGP extended and large communities (#98), and new benchmarks were written to improve cross-platform support (#90). Finally, extensive unit tests were added to enhance the reliability of the library (#97).
Details
New Features
- Support RFC9234 by @digizeph in #65
- Add only-to-customer attributes to elem; add example by @digizeph in #93
- Create cache reader for parser constructor by @digizeph in #99
Refactors
- Change repository to monorepo by @digizeph in #77
- Replace ipnetwork lib with ipnet by @digizeph in #78
- Fix #82 and lazily create header bytes by @jmeggitt in #83
- Make BgpkitParser Generic For Any Reader by @jmeggitt in #81
- Remote custom
DataBytes
struct, allow generic overRead
for parser constructor by @digizeph in #80 and #86 - Apply
cargo fmt
changes by @digizeph in #89 - Rewrite existing benchmarks to improve cross-platform support and cover additional tools by @jmeggitt in #90
- Check MD5 checksum after downloading new test data by @jmeggitt in #91
Tests
Documentation
- Add example to search for AS set messages by @digizeph in #94
- Document display formats for BGP extended and large communities by @digizeph in #98
New Contributor
@jmeggitt made significant code refactor and performance contributions to this release, including:
- Fix #82 and lazily create header bytes in #83
- Make BgpkitParser Generic For Any Reader in #81
- Rewrite existing benchmarks to improve cross-platform support and cover additional tools in #90
- Check MD5 checksum after downloading new test data in #91
Thank you @jmeggitt for your contribution!
Full Changelog: v0.8.1...v0.9.0