NAME

V6LC_2_1_12_B - NS Processing, NCE State STALE (Unicast NS with a different SLLA)


TARGET

Host/Router


TOPOLOGY

   TN     NUT
    |       |
----+-------+--- Link0

Link0 link-local fe80::/64
TN 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
    TN     NUT
    |       |
    | ----> | Echo Request
    |   <-- | NS (multicast)
    | ----> | NA
    | <---- | Echo Reply
    |       |
    | ----> | Echo Request
    | <---- | Echo Reply
    |       |
    *       | Wait (REACHABLE_TIME * MAX_RANDOM_FACTOR)
    |       |
    | ----> | NS (unicast)
    | ----> | Echo Request
    | <---- | NA           [Judgment #1]
    | <---- | Echo Reply
    |       |
    *       | Wait (DELAY_FIRST_PROBE_TIME)
    |       |
    | <---- | NS (unicast) [Judgment #2]
    | <---- | NS (unicast)
    | <---- | NS (unicast)
    |       |
    V       V

    State: NONE (TN) (link-local)
1. Send Echo Request
        IPv6 header
            source      = TN  (link-local)
            destination = NUT (link-local)
        Echo Request
    State: INCOMPLETE (TN) (link-local)
2. Observe NS
        IPv6 header
            hop limit   = 255
            source      = NUT (link-local)
            destination = TN  (solicited-node multicast address)
        NS
            target      = TN  (link-local)
        SLL option
3. Send NA
        IPv6 header
            hop limit   = 255
            source      = TN  (link-local)
            destination = NUT (link-local)
        NA
            R           = 0
            S           = 1
            O           = 1
            target      = TN  (link-local)
        TLL option
    State: REACHABLE (TN) (link-local)
4. Observe Echo Reply
        IPv6 header
            source      = NUT (link-local)
            destination = TN  (link-local)
        Echo Reply
5. Send Echo Request
        IPv6 header
            source      = TN  (link-local)
            destination = NUT (link-local)
        Echo Request
6. Observe Echo Reply
        IPv6 header
            source      = NUT (link-local)
            destination = TN  (link-local)
        Echo Reply
    State: REACHABLE (TN) (link-local)
7. Wait (REACHABLE_TIME * MAX_RANDOM_FACTOR)
        Node constants:
            REACHABLE_TIME   : 30,000 milliseconds
            MAX_RANDOM_FACTOR: 1.5
    State: STALE (TN) (link-local)
8. Send NS
        IPv6 header
            hop limit   = 255
            source      = TN  (link-local)
            destination = NUT (link-local)
        NS
            target      = NUT (link-local)
        SLL option
            address     = H0  (ether)
9. Send Echo Request
        IPv6 header
            source      = TN  (link-local)
            destination = NUT (link-local)
        Echo Request
10. Observe NA [Judgment #1]
        IPv6 header
            source      = NUT (link-local)
            destination = TN  (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
        IPv6 header
            source      = NUT (link-local)
            destination = TN  (link-local)
        Echo Reply
    State: DELAY (TN) (link-local)
12. Wait (DELAY_FIRST_PROBE_TIME)
        Node constants:
            DELAY_FIRST_PROBE_TIME: 5 seconds
    State: PROBE (TN) (link-local)
13. Observe MAX_UNICAST_SOLICIT NSs [Judgment #2]
        IPv6 header
            hop limit   = 255
            source      = NUT (link-local)
            destination = TN  (link-local)
        NS
            target      = TN  (link-local)
        SLL option
        Node constants:
            MAX_UNICAST_SOLICIT: 3 transmissions
    State: NONE (TN) (link-local)


JUDGEMENT

[Judgment #1] NUT must transmit NA to TN
[Judgment #2] NUT must transmit NS to TN


Index NS Previous New
Source Addr Destination Addr SLL option State Cached LLA State Cached LLA
V6LC_2_1_12_A unicast unicast same STALE exist STALE unchanged
V6LC_2_1_12_B unicast multicast same STALE exist STALE unchanged
V6LC_2_1_12_C unicast unicast different STALE exist STALE updated
V6LC_2_1_12_D unicast multicast different STALE exist STALE updated


CLEANUP

none


REFERENCE

RFC 2461 - Neighbor Discovery for IPv6