Crate mrt_rs

Source
Expand description

The mrt-rs crate provides functionality to parse an MRT-formatted streams.

§Examples

§Reading a MRT file containing BPG messages

use std::fs::File;
use mrt_rs::Record;
use mrt_rs::bgp4mp::BGP4MP;

// Open an MRT-formatted file.
let mut file = File::open("res/bird-mrtdump_bgp").unwrap();

// Keep reading (Header, Record) tuples till the end of the file has been reached.
while let Some((header, record)) = mrt_rs::read(&mut file).unwrap() {
    match record {
        Record::BGP4MP(x) => match x {
            BGP4MP::MESSAGE(y) => println!("{:?}", y),
            BGP4MP::MESSAGE_AS4(y) => println!("{:?}", y),
            _ => continue,
        },
        _ => continue,
    }
}

Re-exports§

pub use records::bgp;
pub use records::bgp4mp;
pub use records::bgp4plus;
pub use records::isis;
pub use records::ospf;
pub use records::rip;
pub use records::tabledump;

Modules§

records
Contains the implementation of all MRT record types.

Structs§

Header
Represents the MRT header accompanying every MRT record.

Enums§

AFI
Represents an Address Family Idenfitier. Currently only IPv4 and IPv6 are supported.
Record
Represents a single MRT record.

Functions§

read
Reads the next MRT record in the stream.