#bgp #data-processing #bgpkit #api

bin+lib ribeye

ribeye -- a Rust library for BGP RIB data processing

8 unstable releases (3 breaking)

0.3.0 Jan 9, 2024
0.2.0 Jan 4, 2024
0.1.0 Dec 10, 2023
0.0.5 Aug 25, 2023

#1817 in Network programming

MIT license

40KB
907 lines

ribeye

BGP RIB processing framework written in Rust.

Progress

Processors:

  • peer-stats: collector peer information from a given RIB dump file
  • pfx2as: prefix-to-AS mapping from a given RIB dump file
  • as2rel: AS-level relationship

Aggregator (aggregate from all files of the same day):

  • peer-stats
  • pfx2as
  • as2rel

Run

Set up a cronjob (ideally 2+ hours after UTC midnight) and run the following command to generate daily data:

ribeye cook --dir /DATA/PATH/TO/OUTPUT/DIRECTORY

See the Hashicorp Nomad job spec for an example Nomad deployment.

Examples

See examples/ directory for usage examples.


lib.rs:

RibEye

RibEye is a framework library for processing RIB dumps using BGPKIT Parser.

The key concept of ribeye is the [MessageProcessor] trait, which defines the interface for processing RIB data.

Dependencies

~1–18MB
~247K SLoC