15 unstable releases (6 breaking)
| 0.7.3 | Oct 31, 2024 |
|---|---|
| 0.6.0 | Jun 26, 2024 |
| 0.5.2 | Mar 21, 2024 |
| 0.4.3 | Nov 29, 2023 |
#1240 in Network programming
220 downloads per month
Used in bgpkit-broker
77KB
2K
SLoC
BGPKIT Commons
This readme is generated from the library's doc comments using cargo-readme. Please refer to the Rust docs website for the full documentation
Overview
BGPKIT-Commons is a library for common BGP-related data and functions.
It provides the following modules:
mrt_collectors: public RouteViews and RIPE RIS MRT mrt_collectors information extracted from their official APIsasinfo: Autonomous System (AS) information and country lookupcountries: country code to name and other information lookuprpki: RPKI validation data. Historical data from RIPE NCC and real-time data from Cloudflarebogons: IP prefix and ASN bogon lookupas2rel: AS-level relationship data, generated by BGPKIT
Basic Usage
Add bgpkit-commons to your Cargo.toml's dependencies section:
bgpkit-commons = "0.7"
bgpkit-commons is designed to load only the data you need. Here is an example of checking if an ASN is a bogon ASN:
use bgpkit_commons::BgpkitCommons;
let mut bgpkit = BgpkitCommons::new();
bgpkit.load_bogons().unwrap();
assert!(bgpkit.bogons_match("23456").unwrap());
The common steps include:
- create a mutable
BgpkitCommonsinstance - load the data you need by calling
bgpkit.load_xxx()functions - use the data by calling the corresponding functions, named as
bgpkit.xxx_yyy()
For detailed usages, please refer to the module documentation.
Feature Flags
rustls(default): use rustls instead of native-tls for the underlying HTTPS requestsnative-tls: use native-tls as the backend
License
MIT
Dependencies
~6–23MB
~374K SLoC