NAME

v6LC_2_2_16_K-v3_8_2 - Router Advertisement Processing, Neighbor Cache (RA without SLLA, NCE STALE)


TARGET

Host


TOPOLOGY

    |
   TR1     HUT
    |       |
----+-------+--- Link0

Link0 link-local fe80::/64
TR1 link-local fe80::200:ff:fe00:a0a0
ether 00:00:00:00:a0:a0
HUT link-local fe80::<NutDef.Link0_addr>
ether <NutDef.Link0_addr>


SETUP

none


TEST PROCEDURE

Verify that a host properly updates its Neighbor Cache upon receipt of a Router Advertisement.
   TR1     HUT
    |       |
    | ----> | Echo Request
    |   <-- | NS (multicast) [Judgment #1]
    | ----> | NA
    | <---- | Echo Reply     [Judgment #2]
    |       |
    *       | Wait (REACHABLE_TIME * MAX_RANDOM_FACTOR)
    |       |
    | -->   | RA
    |       |
    | ----> | Echo Request
    | <---- | Echo Reply     [Judgment #3]
    |       |
    *       | Wait (DELAY_FIRST_PROBE_TIME)
    |       |
    | <---- | NS             [Judgment #4]
    | <---- | NS
    | <---- | NS
    |       |
    V       V

1. Send Echo Request
        IPv6 header
            source      = TR1 (link-local)
            destination = HUT (link-local)
        Echo Request
2. Observe NS
        IPv6 header
            hop limit   = 255
            source      = RUT (link-local)
            destination = TR1 (solicited-node multicast address)
        NS
            target      = TR1 (link-local)
        SLL option
3. Send NA
        IPv6 header
            hop limit   = 255
            source      = TR1 (link-local)
            destination = HUT (link-local)
        NA
            R           = 1
            S           = 1
            O           = 1
            target      = TR1 (link-local)
        TLL option
4. Observe Echo Reply
        IPv6 header
            source      = HUT (link-local)
            destination = TR1 (link-local)
        Echo Reply
5. Wait (REACHABLE_TIME * MAX_RANDOM_FACTOR)
        Node constants:
            REACHABLE_TIME   : 30,000 milliseconds
            MAX_RANDOM_FACTOR: 1.5
6. Send RA
        IPv6 header
            hop limit          = 255
            source             = TR1 (link-local)
            destination        = all-nodes multicast address
        RA
            cur hop limit      = 64
            M                  = 0
            O                  = 0
            router lifetime    = 0
            reachable time     = 10000
            retrans timer      = 1000
7. Send Echo Request
        IPv6 header
            source      = TR1 (link-local)
            destination = HUT (link-local)
        Echo Request
8. Observe Echo Reply
        IPv6 header
            source      = HUT (link-local)
            destination = TR1 (link-local)
        Echo Reply
9. Wait (DELAY_FIRST_PROBE_TIME)
        Node constants:
            DELAY_FIRST_PROBE_TIME: 5 seconds
10. Observe MAX_UNICAST_SOLICIT NSs
        IPv6 header
            hop limit   = 255
            source      = HUT (link-local)
            destination = TR1 (link-local)
        NS
            target      = TR1 (link-local)
        SLL option
        Node constants:
            MAX_UNICAST_SOLICIT: 3 transmissions


JUDGEMENT

[Judgment #1] The HUT should create a Neighbor Cache Entry for TR1 and set the state of the Entry to INCOMPLETE. The HUT should send a multicast Neighbor Solicitation to TR1.
[Judgment #2] The HUT should update the state of TR1's NCE to REACHABLE and record TR1's Link-layer Address. Because the HUT is in state REACHABLE, after receiving the earlier Echo Request from TR1, the HUT should send an Echo Reply using the received Link-Layer Address.
[Judgment #3] The HUT must not change the state of TR1's NCE, send an Echo Reply to TR1 using the same Link-Layer address and enter state DELAY.
[Judgment #4] The HUT should update the state of TR1's NCE to PROBE by sending a unicast Neighbor Solicitation to TR1.


CLEANUP

The Cleanup procedure should cause the NUT to transition Neighbor Cache entries created in this test to state INCOMPLETE and remove any entries from its Default Router and Prefix Lists.
   TR1     HUT
    |       |
    | -->   | RA
    |       |
    V       V

1. Send RA
        IPv6 header
            hop limit          = 255
            source             = TR1 (link-local)
            destination        = all-nodes multicast address
        RA
            cur hop limit      = 64
            M                  = 0
            O                  = 0
            router lifetime    = 0
            reachable time     = 30000
            retrans timer      = 1000
        Prefix Information option
            prefix length      = 64
            L                  = 1
            A                  = 1
            valid Lifetime     = 0
            preferred lifetime = 0
            prefix             = 3ffe:501:ffff:100::


REFERENCE

RFC 2461 - Neighbor Discovery for IPv6