bgpkit_parser/parser/bmp/messages/
mod.rs1pub use headers::*;
6pub use initiation_message::*;
7pub use peer_down_notification::*;
8pub use peer_up_notification::*;
9pub use route_mirroring::*;
10pub use route_monitoring::*;
11pub use stats_report::*;
12pub use termination_message::*;
13
14pub(crate) mod headers;
15pub(crate) mod initiation_message;
16pub(crate) mod peer_down_notification;
17pub(crate) mod peer_up_notification;
18pub(crate) mod route_mirroring;
19pub(crate) mod route_monitoring;
20pub(crate) mod stats_report;
21pub(crate) mod termination_message;
22
23#[derive(Debug, Clone, PartialEq)]
24#[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))]
25pub struct BmpMessage {
26 pub common_header: BmpCommonHeader,
27 pub per_peer_header: Option<BmpPerPeerHeader>,
28 pub message_body: BmpMessageBody,
29}
30
31#[derive(Debug, Clone, PartialEq)]
32#[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))]
33pub enum BmpMessageBody {
34 PeerUpNotification(PeerUpNotification),
35 PeerDownNotification(PeerDownNotification),
36 InitiationMessage(InitiationMessage),
37 TerminationMessage(TerminationMessage),
38 RouteMonitoring(RouteMonitoring),
39 RouteMirroring(RouteMirroring),
40 StatsReport(StatsReport),
41}