NAME

  Test v6LC.2.1.11 - Neighbor Solicitation Processing, NCE State STALE
  Part B: Unicast Neighbor Solicitation with a different SLLA


Purpose

  Verify that a node properly updates its neighbor cache upon receipt of neighbor solicitations
  when the NCE of the neighbor is in state STALE.


References

  * [IPv6-ARCH]  Section 2, 2.8
  * [ND]  Sections 7.2.3 and 7.2.4


Resource Requirements

  * Packet generator
  * Monitor to capture packets


Test Setup

  No Common Test Setup is performed. Wait at least 3 seconds
  (MAX_MULTICAST_SOLICIT * RETRANS_TIMER) after any previous cleanup to make sure all
  previous NCE's are in state No NCE. The Common Test Cleanup procedure is performed after each part.
Packet A
IPv6 Header
Next Header: 58
Source Address: TN1's Link-local Address
Destination Address: NUT's Link-local Address
ICMPv6 Echo Request

Neighbor Advertisement B
IPv6 Header
Next Header: 58
Source Address: TN1's Link-local Address Destination Address: NUT's Link-local Address
Neighbor Advertisement
Router flag: 0
Solicited flag: 1
Override flag: 1
Target Address: TN1's Link-local Address

Neighbor Solicitation C
IPv6 Header
Next Header: 58
Destination Address: NUT's Link-local Address
Source Address: TN1's Link-local Address
Neighbor Solicitation
Target Address: NUT's Link-local Address
Source Link-Layer Address: TN1's Ethernet address
Neighbor Solicitation D
IPv6 Header
Next Header: 58
Destination Address: NUT's Solicited-node Multicast Link-local Address
Source Address: TN1's Link-local Address
Neighbor Solicitation
Target Address: NUT's Link-local Address
Source Link-Layer Address: TN1's Ethernet address


Procedure

  Part B: Unicast Neighbor Solicitation with a different SLLA
   12. TN1 transmits Echo Request A.
   13. Check the NCE of TN1 on the NUT and observe the packets transmitted by the NUT.
   14. TN1 transmits a solicited Neighbor Advertisement B.
   15. Check the NCE of TN1 on the NUT and observe the packets transmitted by the NUT.
   16. TN1 transmits Echo Request A.
   17. Check the NCE of TN1 on the NUT and observe the packets transmitted by the NUT.
   18. Wait (REACHABLE_TIME * MAX_RANDOM_FACTOR) seconds.
   19. Check the NCE of TN1 on the NUT and observe the packets transmitted by the NUT.
   20. TN1 transmits Neighbor Solicitation C with a different address as the Source Link-layer Address.
   21. TN1 transmits an Echo Request to the NUT.
   22. Check the NCE of TN1 on the NUT and observe the packets transmitted by the NUT.


Observable Results

  Part B
   Step 13:
   The NUT should create a Neighbor Cache Entry for TN1 and set the state of the
   Entry to INCOMPLETE. The NUT should send a multicast Neighbor Solicitation to TN1.
   Step 15:
   After receiving TN1's Neighbor Advertisement, the NUT should send its queued
   Echo Reply to TN1. The NUT should then update the NCE of TN1 to state REACHABLE
   and update its link-layer address for TN1 accordingly.
   Step 17:
   Because the NUT is in state REACHABLE, after receiving the Echo Request from
   TN1, the NUT should send an Echo Reply. After DELAY_FIRST_PROBE_TIME, the NUT
   should not send a unicast Neighbor Solicitation to TN1.
   Step 19:
   The NUT should update the NCE of TN1 to state STALE. (See Note in Section 2
   title page.)
   Step 22:
   The NUT should update TN1's Link-layer address to its new link-layer address
   from the received Neighbor Solicitation C. The NUT should not update the NCE of TN1 and
   should stay in state STALE. The NUT should reply to the Neighbor Solicitation by sending
   a Neighbor Advertisement to TN1's new Link-Layer address. After responding to the
   Neighbor Solicitation, the NUT should respond to the Echo Request by sending an Echo
   Reply and set the state of the TN1's Entry to DELAY. After
   DELAY_FIRST_PROBE_TIME, the NUT should send a unicast Neighbor Solicitation to
   TN1 using the new link-layer address as the Target.


Possible Problems

  * This test will be inaccurate if the NUT Failed Test v6LC.2.1.6 testing
    (REACHABLE_TIME*MAX_RANDOM_FACTOR).