# NAME

SendingPacketAtForeignLink1 - Sending Packets at foreign link (1)

# TARGET

    Host

# SYNOPSIS

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

    11.2.1.2. Sending Packets at foreign link

            HA0    NUT1     R1      TN
            |       |       |       |
            |       | <---- |       | RA
            |       | <---- |       | NA
            |       |       |       |
            | <---- |       |       | Binding Update (*1)
            | ----> |       |       | Binding Acknowledgement
            |       |       |       |
            |       | <------------ | Echo Request (out: HA0->NUT1, in: TN->NUT0)
            |       | ------------> | Echo Reply (Home Address Option) (*2)
            |       | ----> | ----> | Home Test Init(HoTI)
            |       | ------------> | Care-of Test (CoTI)
            |       | <---- | <---- | Home Test (HoT)
            |       | <------------ | Care-of Test (CoTI)
            |       | ------------> | Binding Update(*3)
            |       |       |       |
            |       | <------------ | Echo Request (RH: Home Address)
            |       | ------------> | Echo Reply (Home Address Option) (*4)
            |       |       |       |

# JUDGEMENT

    (*1) PASS: HA0 receives Binding Update

    (*2) PASS: TN receives Echo Reply

    (*3) PASS: TN receives Binding Update

    (*4) PASS: TN receives Echo Reply(w/ HAO)

# REFERENCE

    draft-ietf-mobileip-ipv6-20.txt

    11.3 Packet Processing

    11.3.1 Sending Packets While Away from Home

       Direct Delivery

          This manner of delivering packets does not require going through
          the home network, and typically will enable faster and more
          reliable transmission.  A mobile node SHOULD arrange to supply the
          home address in a Home Address option, and allowing the IPv6
          header's Source Address field to be set to one of the mobile
          node's care-of addresses; the correspondent node will then use the
          address supplied in the Home Address option to serve the function
          traditionally done by the Source IP address in the IPv6 header.
          The mobile node's home address is then supplied to higher protocol
          layers and applications.

          Specifically:

          *  Construct the packet using the mobile node's home address as
             the packet's Source Address, in the same way as if the mobile
             node were at home.  This includes the calculation of upper
             layer checksums using the home address as the value of the
             source.

          *  Insert a Home Address option into the packet, with the Home
             Address field copied from the original value of the Source
             Address field in the packet.

          *  Change the Source Address field in the packet's IPv6 header to
             one of the mobile node's care-of addresses.  This will
             typically be the mobile node's current primary care-of address,
             but MUST be an address assigned to the interface on the link
             being used.

          By using the care-of address as the Source Address in the IPv6
          header, with the mobile node's home address instead in the Home
          Address option, the packet will be able to safely pass through any
          router implementing ingress filtering [27].