The handover code is based on draft-nikander-hip-mm-00 specification. Not all of the features all yet implemented and the code quality is still far from bullet proof.
A naive handover test example is below. It assumes that you have already established the base exchange between the hosts. You also need to have the nc6 tool which can be found from e.g. "www.freshmeat.net". The example is based on IPv6 addresses but you can also use IPv4.
<first, establish a HIP connection as intructed in Chapter 6, Testing a HIP connection between two locally connected hosts>
oops # nc6 -l -p 12345
crash # nc6 <the HIT of oops> 12345
crash # <type some text and press enter>
oops # <the text that you typed in crash should appear in oops console>
crash # ifconfig eth0 inet6 del 3ffe::1/64
crash # ifconfig eth0 inet6 add 3ffe::3/64
crash # <type some text and press enter>
oops # <the text that you typed in crash should appear in oops console>
Do not use link local addresses for the mobility scenarios for the hosts, unless you know what you are doing! For example, you are asking for trouble if you establish HIP SA between the mobile and correspondent node using link local addresses, and move the mobile node to a different network. The readdressing fails, because either node has no way of reaching the other node.
Make sure to add the route for the new address as soon as the new address is added. If the route is missing, the update packets might not get sent at all. The daemon waits for a couple of seconds if a transmit of an update fails for restransmitting it.