[−][src]Crate bgpdump
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::{Reader, Record}; use mrt_rs::bgp4mp::BGP4MP; fn main() { // Open an MRT-formatted file. let file = File::open("res/bird-mrtdump_bgp").unwrap(); // Create a new Reader with a Cursor such that we can keep track of the position. let mut reader = Reader { stream: file }; // Keep reading (Header, Record) tuples till the end of the file has been reached. while let Some((header, record)) = reader.read().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. |
Reader | The Reader can read MRT records from an MRT-formatted stream. |
Enums
AFI | Represents an Address Family Idenfitier. Currently only IPv4 and IPv6 are supported. |
Record | Represents a single MRT record. |