# NAME

ReceivingPacketWRH - MN away from home can receive a `packet(w/RH)` from CN

# TARGET

    Host

# SYNOPSIS

    ReceivingPacketWRH.seq [-tooloption ...] -pkt MN_Common.def

>     -tooloption: v6eval tool option

# TOPOLOGY

                                          |
                                          R       TN
                                          |       |
                                  --------+-------+--------------- LinkZ

                                          |
                                          R2             NUT2
                                          |               |
                                  --------+---------------+------- LinkY

                                          |       |
                                          HA2     R1     NUT1
                                          |       |       |
                                  --------+-------+-------+------- LinkX

                              |           |
                 NUT0        HA1          HA0
                  |           |           |
    Link0 --------+-----------+-----------+-----------------------

> `Link0` | `3ffe:501:ffff:100::/64` | `home link`
> `LinkX` | `3ffe:501:ffff:102::/64` | ``
> `LinkY` | `3ffe:501:ffff:103::/64` | ``
> `LinkZ` | `3ffe:501:ffff:104::/64` | ``
> `HA0(Link0)` | `3ffe:501:ffff:100:200:ff:fe00:a1a1/64` | ``
> `HA1(Link0)` | `3ffe:501:ffff:100:200:ff:fe00:a2a2/64` | ``
> `HA2(LinkX)` | `3ffe:501:ffff:102:200:ff:fe00:a3a3` | ``
> `R1(LinkX)` | `3ffe:501:ffff:102:200:ff:fe00:a4a4` | ``
> `R2(LinkY)` | `3ffe:501:ffff:103:200:ff:fe00:a5a5` | ``
> `TN(LinkZ)` | `3ffe:501:ffff:104:200:ff:fe00:a6a6` | ``

# TEST PROCEDURE

    MN away from home can receive a packet(w/RH) from CN

            HA0    NUT1     R1      TN
            |       |       |       |
            |       | <---- |       | RA
            |       |       |       |
            | <---- |       |       | Binding Update (*1)
            | ----> |       |       | Binding Acknowledgement
            |       |       |       |
            |       | <------------ | Echo Request (out: HA0->NUT1, in: TN->NUT0)
            | <==== |       | ----> | reversed tunneled Echo Reply (out:NUT1->HA0, in:NUT0->TN)
            | <==== |       | ----> | Home Test Init(HoTI)
            |       | ------------> | Care-of Test (CoTI)
            | ====> |       | <---- | Home Test (HoT)
            |       | <------------ | Care-of Test (CoTI)
            |       | ------------> | Binding Update
            |       |       |       |
            |       | <------------ | Echo Request (w/ RH Type 2)
            |       | ------------> | Echo Reply (w/ HAO)  (*2)
            |       |       |       |

# JUDGEMENT

    (*1) PASS: HA0 receives Binding Update

    (*2) PASS: TN receives Echo Reply (w/ Binding Update, Home Address Option)

# REFERENCE

    draft-ietf-mobileip-ipv6-20.txt

    11.3 Packet Processing

    11.3.3 Receiving Packets While Away from Home

       While away from home, a mobile node will receive packets addressed to
       its home address, by one of three methods:

       o  Packets sent by a correspondent node that does not have a Binding
          Cache entry for the mobile node, will be tunneled to the mobile
          node via its home agent.

       o  Packets sent by a correspondent node that has a Binding Cache
          entry for the mobile node that contains the mobile node's current
          care-of address, will be sent by the correspondent node using a
          type 2 routing header.  The packet will be addressed to the mobile
          node's care-of address, with the final hop in the routing header
          directing the packet to the mobile node's home address; the
          processing of this last hop of the routing header is entirely
          internal to the mobile node, since the care-of address and home
          address are both addresses within the mobile node.

       For packets received by the first of these methods, the mobile node
       MUST check that the IPv6 source address of the tunneled packet is the
       IP address of its home agent.  In this method the mobile node SHOULD
       also send a Binding Update to the original sender of the packet, as
       described in Section 11.7.2, subject to the rate limiting defined in
       Section 11.8.  The mobile node MUST also process the received packet
       in the manner defined for IPv6 encapsulation [15], which will result
       in the encapsulated (inner) packet being processed normally by
       upper-layer protocols within the mobile node, as if it had been
       addressed (only) to the mobile node's home address.