# NAME

ReturningHome - NUT sends Binding Update to HA when returning home

# TARGET

    Host

# SYNOPSIS

    ReturningHome.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

    NUT sends Binding Update to HA when returning home

            HA0    NUT1     R1
            |       |       |
            |       | <---- | RA
            |       |       |
            | <---- |       | Binding Update (*1)
            | ----> |       | Binding Acknowledgement
            |       |       |
            |      NUT0     |
            |       |       |
            | ----> |       | RA
            |       |       |
            | <---- |       | Binding Update (*2)
            | ----> |       | Binding Acknowledgement
            |       |       |

# JUDGEMENT

    (*1) PASS: HA0 receives Binding Update from NUT1

    (*2) PASS: HA0 receives Binding Update from NUT0

# REFERENCE

    draft-ietf-mobileip-ipv6-20.txt

    11.5.4 Returning Home

       A mobile node detects that it has returned to its home link through
       the movement detection algorithm in use (Section 11.5.1), when the
       mobile node detects that its home subnet prefix is again on-link.
       The mobile node SHOULD then send a Binding Update to its home agent,
       to instruct its home agent to no longer intercept or tunnel packets
       for it.  In this home registration, the mobile node MUST set the
       Acknowledge (A) and Home Registration (H) bits, set the Lifetime
       field to zero, and set the care-of address for the binding to the
       mobile node's own home address.  The mobile node MUST use its home
       address as the source address in the Binding Update.

       When sending this Binding Update to its home agent, the mobile node
       must be careful in how it uses Neighbor Solicitation [12] (if needed)
       to learn the home agent's link-layer address, since the home agent
       will be currently configured to intercept packets to the mobile
       node's home address for Duplicate Address Detection (DAD).  In
       particular, the mobile node is unable to use its home address as the
       Source Address in the Neighbor Solicitation until the home agent
       stops defending the home address.