Releases: bgpkit/bgpkit-commons
Releases · bgpkit/bgpkit-commons
v0.8.2
v0.8.1
Highlights
- Added support for loading previously generated and cached AS information directly from BGPKIT cache files.
- Introduced
get_asinfo_map_cached()
function andBgpkitCommons::load_asinfo_cached()
method for fast, offline
loading of AS info. - Added examples in the documentation for using the cached AS info.
- Introduced
- Improved AS name resolution:
- New
get_preferred_name()
method forAsInfo
struct, prioritizing PeeringDB, as2org, then default name.
- New
- Enhanced PeeringDB integration:
- Added
website
field to PeeringDB data.
- Added
- Dependency updates:
- Bumped
peeringdb-rs
to0.1.1
andoneio
to0.18.1
with new features. - Cleaned up unused dependencies.
- Bumped
- Documentation improvements for new features and updated code examples.
- Added and improved integration tests for cached AS info loading and preferred name resolution.
- Removed outdated or redundant test code.
Other changes
- Updated
README.md
and crate docs to reference version 0.8. - Minor internal refactoring and code cleanup.
v0.8.0
Highlights
- add support for loading PeeringDB (https://www.peeringdb.com) data for
asinfo
module- it uses the [
peeringdb-rs
][peeringdb-rs] module for loading the data - users should supply a
PEERINGDB_API_KEY
when using this feature to avoid frequent rate limiting
- it uses the [
The PeeringDB data for the asinfo
module is simplified to contain only the following fields:
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct PeeringdbData {
pub asn: u32,
pub name: Option<String>,
pub name_long: Option<String>,
pub aka: Option<String>,
pub irr_as_set: Option<String>,
}
Breaking change
The commons.load_asinfo()
now takes four arguments, adding a new load_peeringdb
boolean argument at the end.
For getting all other data, including organization and IX information, please check out the [peeringdb-rs
][peeringdb-rs] crate.
[peerindb-rs][https://github.com/bgpkit/peeringdb-rs]
v0.7.4
Highlights
- Update
as2org-rs
crate tov1.0.0
which fixes an issue of latin-1 encoding for org names
v0.7.3
Highlights
- add MRT collector peers information
- struct exposed as
crate::mrt_collectors::MrtCollectorPeer
- fetch data by calling
commons.load_mrt_collector_peers()
first - access all peers by calling
commons.mrt_collector_peers()
- access full-feed peers only by calling
commons.mrt_collector_peers_full_feed()
- struct exposed as
MrtCollectorPeer
struct definition:
pub struct MrtCollectorPeer {
/// latest available dated
pub date: NaiveDate,
/// collector peer IP
pub ip: IpAddr,
/// collector peer ASN
pub asn: u32,
/// collector name
pub collector: String,
/// number of IPv4 prefixes
pub num_v4_pfxs: u32,
/// number of IPv6 prefixes
pub num_v6_pfxs: u32,
/// number of connected ASNs
pub num_connected_asns: u32,
}
Example usage:
use bgpkit_commons::BgpkitCommons;
fn main() {
let mut commons = BgpkitCommons::new();
commons.load_mrt_collector_peers().unwrap();
let peers = commons.mrt_collector_peers();
for peer in peers {
println!("{:?}", peer);
}
let full_feed_peers = commons.mrt_collector_peers_full_feed();
for peer in full_feed_peers {
println!("{:?}", peer);
}
}
v0.7.2
Highlights
- allow exporting all bogon prefixes and asns
- update cloudflare RPKI data parsing, also added ASPA data
- added examples/list_aspas.rs to demonstrate how to list all ASPAs
v0.7.1
Highlights
- add new asinfo_all() function to return information for all ASNs in a single call
Other changes
- improve documentation
- improve ci testing workflow
- add integration tests
- update dependencies
v0.7.0
- consolidate all functionalities into a single
BgpkitCommons
instance
Example usage:
use bgpkit_commons::BgpkitCommons;
let mut bgpkit = BgpkitCommons::new();
bgpkit.load_bogons().unwrap();
assert!(bgpkit.bogons_match("23456").unwrap());
v0.6.0
- Added
bogons
module to check if an IP prefix or an ASN is a
bogon - Added
as2rel
module to provide access to AS-level relationship
data generated by BGPKIT - Added APNIC population data to
asnames
module - Added CAIDA
as2org
data toasnames
module - Added IIJ IHR Hegemony score to
asnames
module
v0.5.2
Highlights
- update
oneio
to0.16.5
to fix route-views collector API issue