pub struct RipDaemon { /* private fields */ }Expand description
RIP v2 routing daemon
Implementations§
Source§impl RipDaemon
impl RipDaemon
Sourcepub fn new(router_address: Ipv4Address) -> Self
pub fn new(router_address: Ipv4Address) -> Self
Create a new RIP daemon
Sourcepub fn is_update_due(&self) -> bool
pub fn is_update_due(&self) -> bool
Check if periodic update is due
Sourcepub fn has_triggered_update(&self) -> bool
pub fn has_triggered_update(&self) -> bool
Check if a triggered update is pending
Sourcepub fn mark_update_sent(&mut self)
pub fn mark_update_sent(&mut self)
Clear triggered update flag and record update time
Sourcepub fn remove_route(
&mut self,
destination: Ipv4Address,
prefix_len: u8,
) -> Option<RipRoute>
pub fn remove_route( &mut self, destination: Ipv4Address, prefix_len: u8, ) -> Option<RipRoute>
Remove a route by destination
Sourcepub fn get_route(
&self,
destination: Ipv4Address,
prefix_len: u8,
) -> Option<&RipRoute>
pub fn get_route( &self, destination: Ipv4Address, prefix_len: u8, ) -> Option<&RipRoute>
Get a route by destination
Sourcepub fn route_count(&self) -> usize
pub fn route_count(&self) -> usize
Get total number of routes
Sourcepub fn age_routes(&mut self)
pub fn age_routes(&mut self)
Age routes: mark timed-out routes for garbage collection, remove expired garbage
Sourcepub fn process_message(&mut self, msg: &RipMessage, source: Ipv4Address)
pub fn process_message(&mut self, msg: &RipMessage, source: Ipv4Address)
Process an incoming RIP message from a neighbor
Sourcepub fn generate_response(&self, neighbor: Ipv4Address) -> Vec<RipMessage>
pub fn generate_response(&self, neighbor: Ipv4Address) -> Vec<RipMessage>
Generate a RIP response message for a neighbor (split horizon with poisoned reverse)