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
statebecomes [EntryState.STALE]. - Static entries are explicitly added by a user with
[
Controller.AddEntry] and have no expiration. Theirstateis 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> Decode<Entry, D> for Entrywhere
D: ResourceDialect,
impl<D> Decode<Entry, D> for Entrywhere
D: ResourceDialect,
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.Source§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 moreSource§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
Source§type Borrowed<'a> = &'a Entry
type Borrowed<'a> = &'a Entry
Encode<Self>
type cheaply obtainable from &Self::Owned. There are three cases: Read moreSource§fn borrow(
value: &<Entry as TypeMarker>::Owned,
) -> <Entry as ValueTypeMarker>::Borrowed<'_>
fn borrow( value: &<Entry as TypeMarker>::Owned, ) -> <Entry as ValueTypeMarker>::Borrowed<'_>
&Self::Owned to Self::Borrowed.