rtnetlink/neighbour/
handle.rs1use crate::{Handle, NeighbourAddRequest, NeighbourDelRequest, NeighbourGetRequest};
4use netlink_packet_route::NeighbourMessage;
5use std::net::IpAddr;
6
7pub struct NeighbourHandle(Handle);
8
9impl NeighbourHandle {
10 pub fn new(handle: Handle) -> Self {
11 NeighbourHandle(handle)
12 }
13
14 pub fn get(&self) -> NeighbourGetRequest {
16 NeighbourGetRequest::new(self.0.clone())
17 }
18
19 pub fn add(&self, index: u32, destination: IpAddr) -> NeighbourAddRequest {
21 NeighbourAddRequest::new(self.0.clone(), index, destination)
22 }
23
24 pub fn add_bridge(&self, index: u32, lla: &[u8]) -> NeighbourAddRequest {
26 NeighbourAddRequest::new_bridge(self.0.clone(), index, lla)
27 }
28
29 pub fn del(&self, message: NeighbourMessage) -> NeighbourDelRequest {
31 NeighbourDelRequest::new(self.0.clone(), message)
32 }
33}