NAME

  Test v6LC.2.1.11 - Neighbor Solicitation Processing, NCE State STALE
  Part A: Unicast Neighbor Solicitation with the same 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 A: Unicast Neighbor Solicitation with the same SLLA
   1. TN1 transmits Echo Request A.
   2. Check the NCE of TN1 on the NUT and observe the packets transmitted by the NUT.
   3. TN1 transmits a solicited Neighbor Advertisement B.
   4. Check the NCE of TN1 on the NUT and observe the packets transmitted by the NUT.
   5. TN1 transmits Echo Request A.
   6. Check the NCE of TN1 on the NUT and observe the packets transmitted by the NUT.
   7. Wait (REACHABLE_TIME * MAX_RANDOM_FACTOR) seconds.
   8. Check the NCE of TN1 on the NUT and observe the packets transmitted by the NUT.
   9. TN1 transmits Neighbor Solicitation C.
   10. TN1 transmits an Echo Request to the NUT.
   11. Check the NCE of TN1 on the NUT and observe the packets transmitted by the NUT.


Observable Results

  Part A
   Step 2:
   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 4:
   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 6:
   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 8:
   The NUT should update the NCE of TN1 to state STALE. (See Note in Section 2
   title page.)
   Step 11:
   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. 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.


Possible Problems

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