NAME

HA_1_1_9 - Receiving invalid BU (piggybacking)


TARGET

Router


TOPOLOGY

                       MN1X
                        |
        --------+-------+------- Link1X
                |
                R1
                |
--------+-------+--------------- Link1
        |
       NUT
        |
--------+---------------+------- Link0
                        |
                       MN0
Link0 global 3ffe:501:ffff:100::/64 home link
Link1 global 3ffe:501:ffff:101::/64 foreign link
Link1X global 3ffe:501:ffff:1101::/64 foreign link
R1 (Link1) global 3ffe:501:ffff:101::a1a1  
ether 00:00:00:00:a1:a1
MN0 global 3ffe:501:ffff:100:200:ff:fe00:a2a2 home address
MN1X global 3ffe:501:ffff:1101:200:ff:fe00:a2a2 care-of address


INITIALIZATION

Check Link1 routing table
  NUT
(Link0)   MN1X
   |       |
   | <---- | Echo Request
   | ----> | Echo Reply
   |       |

1. MN1X sends Echo Request
2. MN1X receives Echo Reply


TEST PROCEDURE

Check home registration
  NUT
(Link0)   MN1X
   |       |
   | <---- | Echo Request w/ BU (A=1, lifetime=0x0010) (SPI=0x101)
   | ----> | Parameter Problem (*1)
   |       |

1. MN1X sends Echo Request w/ BU
    packet format is:
        IPv6 header (source = care-of address, destination = home agent)
        Destination Options header
            Home Address option (home address)
        ESP header in transport mode
        Mobility header
            Binding Update
                Alternate Care-of Address option (care-of address)
        ICMPv6 header
            Echo Request
2. MN1X receives Parameter Problem (*1)
Check BCE
  NUT
(Link0)   MN1X
   |       |
   | <---- | Echo Request w/ HaO
   | ----> | BE (*2)
   |       |

1. MN1X sends Echo Request w/ HaO
2. MN1X receives BE (*2)
    packet format is:
        Binding_Error_message_from_HA_to_MN.gif


JUDGEMENT

(*1) PASS: MN1X receives Parameter Problem
(*2) PASS: MN1X receives BE


REFERENCE

9.2 Processing Mobility Headers
   Mobility Header processing MUST observe the following rules:
   o  The checksum must be verified as per Section 6.1.  Otherwise, the
      node MUST silently discard the message.
   o  The MH Type field MUST have a known value (Section 6.1.1).
      Otherwise, the node MUST discard the message and issue a Binding
      Error message as described in Section 9.3.3, with Status field set
      to 2 (unrecognized MH Type value).
   o  The Payload Proto field MUST be IPPROTO_NONE (59 decimal).
      Otherwise, the node MUST discard the message and SHOULD send ICMP
      Parameter Problem, Code 0, directly to the Source Address of the
      packet as specified in RFC 2463 [14].  Thus no Binding Cache
      information is used in sending the ICMP message.  The Pointer
      field in the ICMP message SHOULD point at the Payload Proto field.
   o  The Header Len field in the Mobility Header MUST NOT be less than
      the length specified for this particular type of message in
      Section 6.1.  Otherwise, the node MUST discard the message and
      SHOULD send ICMP Parameter Problem, Code 0, directly to the Source
      Address of the packet as specified in RFC 2463 [14].  (The Binding
      Cache information is again not used.) The Pointer field in the
      ICMP message SHOULD point at the Header Len field.
   Subsequent checks depend on the particular Mobility Header.