Skip to content

Common utility data and functions.

License

Notifications You must be signed in to change notification settings

bgpkit/bgpkit-commons

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

63 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

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

Crates.io Docs.rs License Discord

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 APIs
  • asinfo: Autonomous System (AS) information and country lookup
  • countries: country code to name and other information lookup
  • rpki: RPKI validation data. Historical data from RIPE NCC and real-time data from Cloudflare
  • bogons: IP prefix and ASN bogon lookup
  • as2rel: 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:

  1. create a mutable BgpkitCommons instance
  2. load the data you need by calling bgpkit.load_xxx() functions
  3. 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 requests
  • native-tls: use native-tls as the backend

License

MIT