[][src]Crate mrt_rs

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.