ncStateByNa4Nonce - Verifying State Machine: NA vs. No neighbor cache entry
Host and Router
Clear a neighbor cache entry for TN.
ncStateByNa4Nonce verifies that state transition for a NUT in NONCE state when receiving a NA.
TN NUT ----------------------
State: No neighbor cache entry (for TN)
==== NA ===> src=TN's link-local dst=NUT's link-local or all-node w/o or w/ TLLA r=0, s=0/1, o=0/1
Judgment: Examining NUT's neighbor cache state
Any NA should be ignored if no Neighbor Cache entry exists.
================================+===============+============= NA |New State |cached LLA ---------------+-+--+-+---------+ | Destination |r| s|o|TLLA | | ===============+=+==+=+=========+===============+============= Unicast 0 0 0 none none unchanged ---------------+-+--+-+---------+---------------+------------- Unicast 0 0 1 none none unchanged ---------------+-+--+-+---------+---------------+------------- Unicast 0 1 0 none none unchanged ---------------+-+--+-+---------+---------------+------------- Unicast 0 1 1 none none unchanged ===============+=+==+=+=========+===============+============= Unicast 0 0 0 exist none unchanged ---------------+-+--+-+---------+---------------+------------- Unicast 0 0 1 exist none unchanged ---------------+-+--+-+---------+---------------+------------- Unicast 0 1 0 exist none unchanged ---------------+-+--+-+---------+---------------+------------- Unicast 0 1 1 exist none unchanged ===============+=+==+=+=========+===============+============= *Multicast 0 0 0 *none none unchanged *invalid ---------------+-+--+-+---------+---------------+------------- *Multicast 0 0 1 *none none unchanged *invalid ---------------+-+--+-+---------+---------------+------------- *Multicast 0 *1 0 *none none unchanged *invalid ---------------+-+--+-+---------+---------------+------------- *Multicast 0 *1 1 *none none unchanged *invalid ===============+=+==+=+=========+===============+============= Multicast 0 0 0 exist none unchanged ---------------+-+--+-+---------+---------------+------------- Multicast 0 0 1 exist none unchanged ---------------+-+--+-+---------+---------------+------------- *Multicast 0 *1 0 exist none unchanged *invalid ---------------+-+--+-+---------+---------------+------------- *Multicast 0 *1 1 exist none unchanged *invalid ===============+=+==+=+=========+===============+=============
N/A
The test does not invoke any remote command.
RFC2461
7.2.5. Receipt of Neighbor Advertisements
When a valid Neighbor Advertisement is received (either solicited or unsolicited), the Neighbor Cache is searched for the target's entry. If no entry exists, the advertisement SHOULD be silently discarded. There is no need to create an entry if none exists, since the recipient has apparently not initiated any communication with the target.
perldoc V6evalTool perldoc V6evalRemote