NL_NEIGHBOR_STATE (Compact 2013)
3/26/2014
This enumeration type defines the state of a network layer neighbor IP address, as described in RFC 2461, section 7.3.2.
Syntax
typedef enum _NL_NEIGHBOR_STATE {
NlnsUnreachable,
NlnsIncomplete,
NlnsProbe,
NlnsDelay,
NlnsStale,
NlnsReachable,
NlnsPermanent,
NlnsMaximum,
} NL_NEIGHBOR_STATE, *PNL_NEIGHBOR_STATE;
Values
- NlnsUnreachable
The IP address is unreachable.
- NlnsIncomplete
Address resolution is in progress and the link-layer address of the neighbor has not yet been determined. Specifically for IPv6, a Neighbor Solicitation has been sent to the solicited-node multicast IP address of the target, but the corresponding neighbor advertisement has not yet been received.
- NlnsProbe
The neighbor is no longer known to be reachable, and probes are being sent to verify reachability. For IPv6, a reachability confirmation is actively being sought by regularly retransmitting unicast Neighbor Solicitation probes until a reachability confirmation is received.
- NlnsDelay
The neighbor is no longer known to be reachable, and traffic has recently been sent to the neighbor. However, instead of probing the neighbor immediately, sending probes is delayed for a short time to give upper layer protocols an opportunity to provide reachability confirmation. For IPv6, more time has elapsed than is specified in the ReachabilityTime.ReachableTime member of the MIB_IPNET_ROW2 structure since the last positive confirmation was received that the forward path was functioning suitably and a packet was sent. If no reachability confirmation is received within a period of time (used to delay the first probe) of entering the NlnsDelay state, a neighbor solicitation is sent, and the State member of MIB_IPNET_ROW2 is changed to NlnsProbe.
- NlnsStale
The neighbor is no longer known to be reachable, but until traffic is sent to the neighbor, no attempt should be made to verify its reachability. For IPv6, more time has elapsed than is specified in the ReachabilityTime.ReachableTime member of the MIB_IPNET_ROW2 structure since the last positive confirmation was received that the forward path was functioning suitably. While the State member of MIB_IPNET_ROW2 is NlnsStale, no action occurs until a packet is sent. The NlnsStale state is entered upon receiving an unsolicited neighbor discovery message that updates the cached IP address. Receipt of such a message does not confirm reachability, and entering the NlnsStale state insures reachability is verified quickly if the entry is actually being used. However, reachability is not actually verified until the entry is actually used.
- NlnsReachable
The neighbor is known to have been reachable recently (within tens of seconds ago). For IPv6, a positive confirmation was received within the time that is specified in the ReachabilityTime.ReachableTime member of the MIB_IPNET_ROW2 structure that the forward path of the neighbor was functioning suitably. While the State member of MIB_IPNET_ROW2 is NlnsReachable, no special action occurs as packets are sent.
- NlnsPermanent
The IP address is a permanent address.
- NlnsMaximum
A maximum value for testing.