NAME

V6LC_2_1_17_B - NA Processing, NCE State INCOMPLETE (Receiving NA with S=1 and O=0)


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 REACHABLE
- Verify that NUT transmits Echo Reply in REACHABLE state
- Verify that NUT doesn't transmit any packets in REACHABLE state
    TN     NUT
    |       |
    | ----> | Echo Request
    |   <-- | NS (multicast)
    | ----> | NA
    | <---- | Echo Reply [Judgment #1]
    |       |
    *       | Observe any packets for (DELAY_FIRST_PROBE_TIME + RETRANS_TIMER * MAX_UNICAST_SOLICIT) [Judgment #2]
    |       |
    V       V

    State: INCOMPLETE (TN) (link-local)
1. Send NA
        IPv6 header
            hop limit   = 255
            source      = TN  (link-local)
            destination = NUT (link-local)
        NA
            R           = 0
            S           = 1
            O           = 0
            target      = TN  (link-local)
        TLL option
    State: NONE (TN) (link-local)
3. Send Echo Request
        IPv6 header
            source      = TN  (link-local)
            destination = NUT (link-local)
        Echo Request
    State: INCOMPLETE (TN) (link-local)
4. Observe NS
        IPv6 header
            hop limit   = 255
            source      = NUT (link-local)
            destination = TN  (solicited-node multicast address)
        NS
            target      = TN  (link-local)
        SLL option
    State: REACHABLE (TN) (link-local)
5. Observe Echo Reply [Judgment #1]
        IPv6 header
            source      = NUT (link-local)
            destination = TN  (link-local)
        Echo Reply
3. Observe any packets for (DELAY_FIRST_PROBE_TIME + RETRANS_TIMER * MAX_UNICAST_SOLICIT) [Judgment #2]
        Node constants:
            RETRANS_TIMER         : 1,000 milliseconds
            DELAY_FIRST_PROBE_TIME: 5 seconds
            MAX_UNICAST_SOLICIT   : 3 transmissions
    State: REACHABLE (TN) (link-local)


JUDGEMENT

[Judgment #1] NUT must transmit Echo Reply to TN
[Judgment #2] NUT must not transmit any packets


Index NA Previous New
Source Addr Destination Addr R S O TLL option State Cached LLA State Cached LLA
V6LC_2_1_17_A unicast unicast 0 1 1 exist INCOMPLETE none REACHABLE updated
V6LC_2_1_17_B unicast unicast 0 1 0 exist INCOMPLETE none REACHABLE updated
V6LC_2_1_17_C unicast unicast 0 0 1 exist INCOMPLETE none STALE updated
V6LC_2_1_17_D unicast unicast 0 0 0 exist INCOMPLETE none STALE updated
V6LC_2_1_17_E unicast unicast 0 1 1 none INCOMPLETE none INCOMPLETE unchanged


CLEANUP

- Set neighbor cache state for TN to NONE
    TN     NUT
    |       |
    | ----> | NS (unicast) (different cached address)
    | <---- | NA
    |       |
    *       | Wait (DELAY_FIRST_PROBE_TIME)
    |       |
    | <---- | NS (unicast)
    | <---- | NS (unicast)
    | <---- | NS (unicast)
    |       |
    V       V

    State: REACHABLE (TN) (link-local)
1. 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)
    State: STALE (TN) (link-local)
2. Observe NA
        IPv6 header
            source      = NUT (link-local)
            destination = TN  (link-local)
        NA
            R           = 0   (If NUT is Host)
                        = 1   (If NUT is Router)
            S           = 1
            O           = 1
            target      = NUT (link-local)
        TLL option
    State: DELAY (TN) (link-local)
3. Wait (DELAY_FIRST_PROBE_TIME)
        Node constants:
            DELAY_FIRST_PROBE_TIME: 5 seconds
    State: PROBE (TN) (link-local)
4. Observe MAX_UNICAST_SOLICIT NSs
        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)


REFERENCE

RFC 2461 - Neighbor Discovery for IPv6