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.