NAME

v6LC_2_3_16_A - Redirect - Transmit (Send Redirect)


TARGET

Router


TOPOLOGY

    |
   TR1     TN1     TN2
    |       |       |
----+-------+-------+-------+--- Link0
                            |
                           RUT
                            |

Link0 global 3ffe:501:ffff::/64
global 3ffe:501:ffff:100::/64
link-local fe80::/64
TR1 global 3ffe:501:ffff:100:200:ff:fe00:a0a0
link-local fe80::200:ff:fe00:a0a0
ether 00:00:00:00:a0:a0
TN1 global 3ffe:501:ffff:100::<TnDef.Link0_addr>
link-local fe80::<TnDef.Link0_addr>
ether <TnDef.Link0_addr>
TN2 global 3ffe:501:ffff::<TnDef.Link0_addr>
link-local fe80::<TnDef.Link0_addr>
ether <TnDef.Link0_addr>
RUT global 3ffe:501:ffff:100::<NutDef.Link0_addr>
link-local fe80::<NutDef.Link0_addr>
ether <NutDef.Link0_addr>


SETUP

This minimal setup procedure provides the NUT with a default router TR1, a global prefix, and ensures that the NUT can communicate with TR1. TN2 is an on-link neighbor on Link B to TN1 (instead of residing on Link A depicted in Common Topology). RUT advertises prefix X on Link B.
   TR1     RUT
    |       |
    | ----> | Echo Request
    |   <-- | NS
    | ----> | NA
    | <---- | Echo Reply
    |       |
    V       V

1. Send Echo Request
        IPv6 header
            source      = TR1 (link-local)
            destination = RUT (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 = RUT (link-local)
        NA
            R           = 1
            S           = 1
            O           = 1
            target      = TR1 (link-local)
        TLL option
4. Observe Echo Reply
        IPv6 header
            source      = RUT (link-local)
            destination = TR1 (link-local)
        Echo Reply


TEST PROCEDURE

Verify that a router properly handles transmission of Redirect messages.
   TN1     RUT     TN2
    |       |       |
    | ------+-----> | Echo Request (via RUT)
    |   <-- |       | NS                     [Judgment #1]
    | ----> |       | NA
    | <---- |       | Redirect               [Judgment #2]
    |       |       |
    |       | -->   | NS
    |       | -->   | NS
    |       | -->   | NS
    |       |       |
    V       V       V

1. Send Echo Request (via RUT)
        IPv6 header
            source      = TN1 (global)
            destination = TN2 (global)
        Echo Request
2. Observe NS
        IPv6 header
            hop limit   = 255
            source      = RUT (link-local)
            destination = TN1 (solicited-node multicast address)
        NS
            target      = TN1 (global)
        SLL option
3. Send NA
        IPv6 header
            hop limit   = 255
            source      = TN1 (global)
            destination = HUT (link-local)
        NA
            R           = 0
            S           = 1
            O           = 1
            target      = TN1 (global)
        TLL option
4. Send Redirect
        IPv6 header
            source      = RUT (link-local)
            destination = TN1 (global)
        Redirect
            target      = TN2 (global)
            destination = TN2 (global)
        TLL option (if known)
        Redirect Header option (if needed)
5. Observe MAX_MULTICAST_SOLICIT NSs
        IPv6 header
            hop limit   = 255
            source      = RUT (link-local)
            destination = TN2 (solicited-node multicast address)
        NS
            target      = TN2 (global)
        SLL option
        Node constants:
            MAX_MULTICAST_SOLICIT: 3 transmissions


JUDGEMENT

[Judgment #1] RUT must transmit NS to TN1 (solicited-node multicast address)
[Judgment #2] The RUT should transmit a Redirect message with the following values:
IPv6 Source          Link-Local address of RUT
IPv6 Destination     TN1's address (used in Echo Request's Source Address)
Target               TN2's unicast global address with prefix X
Destination          TN2's unicast global address with prefix X
TLL Option           TN2's link-layer address if known
Redirected Header    TN1's Echo Request without total packet exceeding 1280 bytes.


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     TN1     RUT
    |       |       |
    |       | -->   | NA
    |       |       |
    |       | ----> | Echo Request
    |       | <---- | Echo Reply
    |       |       |
    |       *       | Wait (DELAY_FIRST_PROBE_TIME)
    |       |       |
    |       | <---- | NS
    |       | <---- | NS
    |       | <---- | NS
    |       |       |
    | -->   |       | NA
    |       |       |
    | ------------> | Echo Request
    | <------------ | Echo Reply
    |       |       |
    *       |       | Wait (DELAY_FIRST_PROBE_TIME)
    |       |       |
    | <------------ | NS
    | <------------ | NS
    | <------------ | NS
    |       |       |
    V       V       V

1. Send NA w/ TLL (diff)
        IPv6 header
            hop limit   = 255
            source      = TN1 (link-local)
            destination = all-nodes multicast address
        NA
            R           = 0
            S           = 0
            O           = 1
            target      = TN1 (global)
        TLL option
            address     = TRX (ether)
2. Send Echo Request
        IPv6 header
            source      = TN1 (global)
            destination = RUT (link-local)
        Echo Request
3. Observe Echo Reply
        IPv6 header
            source      = RUT (link-local)
            destination = TN1 (global)
        Echo Reply
4. Wait (DELAY_FIRST_PROBE_TIME)
        Node constants:
            DELAY_FIRST_PROBE_TIME: 5 seconds
5. Observe MAX_UNICAST_SOLICIT NSs
        IPv6 header
            hop limit   = 255
            source      = RUT (global)
            destination = TN1 (global)
        NS
            target      = TN1 (global)
        SLL option
        Node constants:
            MAX_UNICAST_SOLICIT: 3 transmissions
6. Send NA w/ TLL (diff)
        IPv6 header
            hop limit   = 255
            source      = TR1 (link-local)
            destination = all-nodes multicast address
        NA
            R           = 1
            S           = 0
            O           = 1
            target      = TR1 (link-local)
        TLL option
            address     = TRX (ether)
7. Send Echo Request
        IPv6 header
            source      = TR1 (link-local)
            destination = RUT (link-local)
        Echo Request
8. Observe Echo Reply
        IPv6 header
            source      = RUT (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      = RUT (link-local)
            destination = TR1 (link-local)
        NS
            target      = TR1 (link-local)
        SLL option
        Node constants:
            MAX_UNICAST_SOLICIT: 3 transmissions


REFERENCE

RFC 2461 - Neighbor Discovery for IPv6