NAME

V6LC_2_1_11_B - NS Processing, NCE state REACHABLE (Unicast NS with a different SLLA)


TARGET

Host/Router


TOPOLOGY

   TN1     NUT      H0
    |       |       |
----+-------+-------+--- Link0

Link0 link-local fe80::/64
TN1 link-local fe80::<TnDef.Link0_addr>
ether <TnDef.Link0_addr>
NUT link-local fe80::<NutDef.Link0_addr>
ether <NutDef.Link0_addr>


SETUP

none


TEST PROCEDURE

- Verify that NUT updates entry's reachablity state to STALE
- Verify that NUT updates cached Link-Layer Address
- Verify that NUT transmits valid NA in STALE state
- Verify that NUT transmits valid NSs in PROBE state
   TN1     NUT
    |       |
    | ----> | Echo Request
    |   <-- | NS (multicast)
    | ----> | NA
    | <---- | Echo Reply
    |       |
    | ----> | Echo Request
    | <---- | Echo Reply
    |       |
    *       | Observe any packets for (DELAY_FIRST_PROBE_TIME + RETRANS_TIMER * MAX_UNICAST_SOLICIT) [Judgment #1]
    |       |
    | ----> | NS (unicast)
    | ----> | Echo Request
    | <---- | NA [Judgment #2]
    | <---- | Echo Reply [Judgment #3]
    |       |
    *       | Wait (DELAY_FIRST_PROBE_TIME)
    |       |
    | <---- | NS (unicast) [Judgment #4]
    | <---- | NS (unicast)
    | <---- | NS (unicast)
    |       |
    V       V

    State: NONE (TN1) (link-local)
1. Send Echo Request
        IPv6 header
            source      = TN1 (link-local)
            destination = NUT (link-local)
        Echo Request
    State: INCOMPLETE (TN1) (link-local)
2. Observe NS
        IPv6 header
            hop limit   = 255
            source      = NUT (link-local)
            destination = TN1  (solicited-node multicast address)
        NS
            target      = TN1 (link-local)
        SLL option
3. Send NA
        IPv6 header
            hop limit   = 255
            source      = TN1 (link-local)
            destination = NUT (link-local)
        NA
            R           = 0
            S           = 1
            O           = 1
            target      = TN1 (link-local)
        TLL option
    State: REACHABLE (TN1) (link-local)
4. Observe Echo Reply
        IPv6 header
            source      = NUT (link-local)
            destination = TN1 (link-local)
        Echo Reply
    State: REACHABLE (TN1) (link-local)
5. Send Echo Request
        IPv6 header
            source      = TN1 (link-local)
            destination = NUT (link-local)
        Echo Request
6. Observe Echo Reply
        IPv6 header
            source      = NUT (link-local)
            destination = TN1 (link-local)
        Echo Reply
    State: REACHABLE (TN1) (link-local)
7. Observe any packets for (DELAY_FIRST_PROBE_TIME + RETRANS_TIMER * MAX_UNICAST_SOLICIT) [Judgment #1]
        Node constants:
            RETRANS_TIMER         : 1,000 milliseconds
            DELAY_FIRST_PROBE_TIME: 5 seconds
            MAX_UNICAST_SOLICIT   : 3 transmissions
    State: REACHABLE (TN1) (link-local)
8. Send NS
        IPv6 header
            hop limit   = 255
            source      = TN1 (link-local)
            destination = NUT (link-local)
        NS
            target      = NUT (link-local)
        SLL option
            address     = H0  (ether)
    State: STALE (TN1) (link-local)
9. Send Echo Request
        IPv6 header
            source      = TN1 (link-local)
            destination = NUT (link-local)
        Echo Request
10. Observe NA [Judgment #2]
        IPv6 header
            source      = NUT (link-local)
            destination = TN1 (link-local)
        NA
            R           = 0   (If NUT is Host)
                        = 1   (If NUT is Router)
                        = any (If NUT is Embedded)
            S           = 1
            O           = 1
            target      = NUT (link-local)
        TLL option
11. Observe Echo Reply [Judgment #3]
        IPv6 header
            source      = NUT (link-local)
            destination = TN1 (link-local)
        Echo Reply
    State: DELAY (TN1) (link-local)
12. Wait (DELAY_FIRST_PROBE_TIME)
        Node constants:
            DELAY_FIRST_PROBE_TIME: 5 seconds
    State: PROBE (TN1) (link-local)
13. Observe MAX_UNICAST_SOLICIT NSs [Judgment #4]
        IPv6 header
            hop limit   = 255
            source      = NUT (link-local)
            destination = TN1 (link-local)
        NS
            target      = TN1 (link-local)
        SLL option
        Node constants:
            MAX_UNICAST_SOLICIT: 3 transmissions
    State: NONE (TN1) (link-local)


JUDGEMENT

[Judgment #1] NUT must not transmit any packets
[Judgment #2] NUT must transmit NA to TN1
[Judgment #3] NUT must transmit Echo Reply to TN1
[Judgment #4] NUT must transmit NS to TN1


Index NS Previous New
Source Addr Destination Addr SLL option State Cached LLA State Cached LLA
V6LC_2_1_11_A unicast unicast same REACHABLE exist REACHABLE unchanged
V6LC_2_1_11_B unicast multicast same REACHABLE exist REACHABLE unchanged
V6LC_2_1_11_C unicast unicast different REACHABLE exist STALE updated
V6LC_2_1_11_D unicast multicast different REACHABLE exist STALE updated


CLEANUP

none


REFERENCE

RFC 2461 - Neighbor Discovery for IPv6