use crate::models::{Asn, BgpMessage, BgpState};
use std::net::IpAddr;
#[derive(Debug, Clone, PartialEq, Eq)]
#[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))]
pub enum LegacyBgp {
Message(LegacyBgpMessage),
StateChange(LegacyBgpStateChange),
}
#[derive(Debug, Clone, PartialEq, Eq)]
#[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))]
pub struct LegacyBgpMessage {
pub peer_asn: Asn,
pub peer_ip: IpAddr,
pub local_asn: Asn,
pub local_ip: IpAddr,
pub bgp_message: BgpMessage,
}
#[derive(Debug, Clone, PartialEq, Eq)]
#[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))]
pub struct LegacyBgpStateChange {
pub peer_asn: Asn,
pub peer_ip: IpAddr,
pub old_state: BgpState,
pub new_state: BgpState,
}