Subject: [mobile-ip] Mipv6 issue #150: de-reg and failure

From: Jari Arkko <[email-masked]>
Date: Sun, 27 Oct 2002 22:58:15 +0200

This issue deals with mobile node returning home, sending
a valid de-reg BU but due to wrong sequence number it gets
a BA back with Status=135.

The question is, will the BA reach the mobile node? The
de-reg BU has been sent using the home address of the mobile
node as a source. Luckily, our latest draft specifies that
the binding cache information will not be used in sending
a BA. Unfortunately, since the BU failed, the IPv6
Neighbor/Destination cache in the home agent must apperently
still contain the HA's own link-layer address for this
home address. This means that the BA is only delivered to the
home agent itself, and the mobile node which is listening on
its own hardware address will not hear it.

The solution for this appears to be that the home agent must
send the packet to the same link-layer address it came on, without
regard for the current contents of the IPv6 Neighbor/Destination
cache.

Here's a text proposal for 10.4:

      When the Status field in the Binding Acknowledgement is
      greater than or equal to 128, the home agent MUST send
      it to the same link-layer address as the Binding Update
      came from.

Question: can this be implemented easily? Note that there are
multiple ways to do this, including flushing the neigh/dst
cache for the home address when responding to the MN.

Jari

---

From: Brian Haley <[email-masked]>
Date: Mon, 28 Oct 2002 12:12:53 -0500

> its own hardware address will not hear it.

Just curious, can this happen in more than one case?  The MN is
away and turns-off without deleting it's home binding.  Then it
comes home and picks a random sequence number for the BU to
it's home agent, oops.  If the MN knows enough to delete it's
binding, shouldn't it know what the last sequence number it used
was?  Or did it try and do DAD and fail, and noticed it's HA was
the one defending the address?

>       it to the same link-layer address as the Binding Update

I don't think this is right since it doesn't cover the case where a MN is
deleting it's binding while off-link - a MN might do that if it's doing
a "graceful" shutdown.  This would only apply if the IPv6 source address
is the home address of the MN.

> cache for the home address when responding to the MN.

The MN shouldn't respond to NS's for its home address, so flushing
the neighbor cache wouldn't work, right?

-Brian

---

From: Jari Arkko <[email-masked]>
Date: Tue, 29 Oct 2002 01:04:38 +0200

> the one defending the address?

Good questions!

Sequence number failure while the mobile node is away from home
clearly seems possible. The node reboots, and wishes to send
a new registration.

When the reboot happens right before the mobile node returns
home, three things can happen:

1. The mobile node is clueless about the situation and
    can't figure out why there's some other node defending
    its address (i.e. the home agent). This would be bad.
2. The mobile node remembers it had a binding, but does
    not remember the sequence number (!).
3. Combination of 1 & 2, i.e., the mobile node thinks
    it is the holder of the address might be its home agent
    and tries to de-register.

All of the above alternatives seem hairy, but at least #3
works and allows you to use your home address even if the
reboot comes at the worst moment.

> is the home address of the MN.

Yes. Add "... and the Source Address of the Binding Update is on the
home link ...".

> the neighbor cache wouldn't work, right?

Yes. Looks like forcing the address is the only possibility.

Jari