pub struct Entry {
pub interface: Option<u64>,
pub neighbor: Option<IpAddress>,
pub state: Option<EntryState>,
pub mac: Option<MacAddress>,
pub updated_at: Option<i64>,
/* private fields */
}
Expand description
Information on a neighboring device in the local network.
There are two types of entries available in the neighbor table.
- Dynamic entries are discovered automatically by neighbor discovery
protocols (e.g. ARP, NDP). These protocols will attempt to reconfirm
reachability with the device once its
state
becomes [EntryState.STALE
]. - Static entries are explicitly added by a user with
[
Controller.AddEntry
] and have no expiration. Theirstate
is always [EntryState.STATIC
].
Fields§
§interface: Option<u64>
Identifier for the interface used for communicating with the neighbor.
Required.
neighbor: Option<IpAddress>
IP address of the neighbor.
Required.
state: Option<EntryState>
State of the entry within the Neighbor Unreachability Detection (NUD) state machine.
Modeled after RFC 4861 section 7.3.2. Descriptions are kept implementation-independent by using a set of generic terminology.
,——————————————————————. | Generic Term | ARP Term | NDP Term | |—————————+———––+————————| | Reachability Probe | ARP Request | Neighbor Solicitation | | Reachability Confirmation | ARP Reply | Neighbor Advertisement | `—————————+———––+————————’
Required.
mac: Option<MacAddress>
MAC address of the neighboring device’s network interface controller.
May be absent for dynamic entries in [EntryState.UNREACHABLE
] or
[EntryState.INCOMPLETE
].
updated_at: Option<i64>
Timestamp when this entry has changed state
.
Required.
Trait Implementations§
Source§impl<D: ResourceDialect> Decode<Entry, D> for Entry
impl<D: ResourceDialect> Decode<Entry, D> for Entry
Source§impl TypeMarker for Entry
impl TypeMarker for Entry
Source§fn inline_align(_context: Context) -> usize
fn inline_align(_context: Context) -> usize
Source§fn inline_size(_context: Context) -> usize
fn inline_size(_context: Context) -> usize
inline_align
.§fn encode_is_copy() -> bool
fn encode_is_copy() -> bool
Self::Owned
matches the FIDL wire
format and encoding requires no validation. When true, we can optimize
encoding arrays and vectors of Self::Owned
to a single memcpy. Read more§fn decode_is_copy() -> bool
fn decode_is_copy() -> bool
Self::Owned
matches the FIDL wire
format and decoding requires no validation. When true, we can optimize
decoding arrays and vectors of Self::Owned
to a single memcpy.Source§impl ValueTypeMarker for Entry
impl ValueTypeMarker for Entry
impl Persistable for Entry
impl StructuralPartialEq for Entry
Auto Trait Implementations§
impl Freeze for Entry
impl RefUnwindSafe for Entry
impl Send for Entry
impl Sync for Entry
impl Unpin for Entry
impl UnwindSafe for Entry
Blanket Implementations§
§impl<T> Body for Twhere
T: Persistable,
impl<T> Body for Twhere
T: Persistable,
§type MarkerAtTopLevel = T
type MarkerAtTopLevel = T
§type MarkerInResultUnion = T
type MarkerInResultUnion = T
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§unsafe fn clone_to_uninit(&self, dst: *mut T)
unsafe fn clone_to_uninit(&self, dst: *mut T)
clone_to_uninit
)