NAME

V6LC_2_1_1_D - On-Link Determination (Global Address, On-link Prefix does not cover TN2)


TARGET

Host


TOPOLOGY

           TN2
            |
----+-------+--- Link1
    |
   TN1     NUT
    |       |
----+-------+--- Link0

Link0 link-local fe80::/64
TN global 3ffe:501:ffff:100::<TnDef.Link0_addr>
link-local fe80::<TnDef.Link0_addr>
ether <TnDef.Link0_addr>
NUT global 3ffe:501:ffff:100::<NutDef.Link0_addr>
link-local fe80::<NutDef.Link0_addr>
ether <NutDef.Link0_addr>
H0 global 3ffe:501:ffff:101:200:ff:fe00:a0a0


SETUP

If the NUT is a router, configure a default route with TR1 as next hop.


TEST PROCEDURE

- Verify that NUT assumes the destination is off-link
    H0     TR1     NUT
    |       |       |
    |       | -->   | RA
    |       |       |
    |       *       | Wait (MAX_RTR_SOLICITATION_DELAY + RetransTimer * DupAddrDetectTransmits)
    |       |       |
    | ------------> | Echo Request
    |       |   <-- | NS (multicast) [Judgment #1]
    |       |   <-- | NS (multicast)
    |       |   <-- | NS (multicast)
    |       |       |
    V       V       V

    State: NONE (TN) (link-local)
1. Send RA
        IPv6 header
            hop limit          = 255
            source             = TN (link-local)
            destination        = all-nodes multicast address
        RA
            cur hop limit      = 64
            M                  = 0
            O                  = 0
            router lifetime    = 1800
            reachable time     = 0
            retrans timer      = 0
        Prefix Information option
            prefix length      = 64
            L                  = 1
            A                  = 1
            valid Lifetime     = 2592000
            preferred lifetime = 604800
            prefix             = 3ffe:501:ffff:100::
2.  Wait (MAX_RTR_SOLICITATION_DELAY + RetransTimer * DupAddrDetectTransmits)
        Host constants:
            MAX_RTR_SOLICITATION_DELAY: 1 second
        Node constants:
            RETRANS_TIMER             : 1,000 milliseconds
        Host Variables:
            RetransTimer
                Default               : RETRANS_TIMER milliseconds
        Node Variables:
            DupAddrDetectTransmits
                Default               : 1
    State: NONE (TN) (link-local)
3. Send Echo Request
        IPv6 header
            source      = H0  (global)
            destination = NUT (global)
        Echo Request
    State: INCOMPLETE (TN) (link-local)
4. Observe MAX_MULTICAST_SOLICIT NSs [Judgment #1]
        IPv6 header
            hop limit   = 255
            source      = NUT (global)
            destination = TN  (solicited-node multicast address)
        NS
            target      = TN  (link-local)
        SLL option
        Node constants:
            MAX_MULTICAST_SOLICIT: 3 transmissions
    State: NONE (TN) (link-local)


JUDGEMENT

[Judgment #1] NUT must transmit 3 NSs to TN (solicited-node multicast address)


CLEANUP

- Remove global address
- Clear default router
    TN     NUT
    |       |
    | ----> | RA (rltime=0, vltime=0, pltime=0)
    |       |
    V       V

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


REFERENCE

RFC 2461 - Neighbor Discovery for IPv6