Support for IPv6 mobility can be enabled in Linux by installing the MIPL2 implementation found at: http://www.mobile-ipv6.org/
This implementation is compliant with RFC 3775. It is composed of a kernel patch and a mobility daemon called mip6d. Version 2.0.1 applies on Linux kernel 2.6.15.
Installation and setup are described in the Linux Mobile IPv6 HOWTO.
There also exists an implementation of network mobility for Linux, it is called NEPL and is based on MIPL. It can also be downloaded from: http://www.mobile-ipv6.org/.
The HOWTO document describing setup and configuration is available at: http://www.nautilus6.org/doc/nepl-howto/.
Mobile IPv6 for Linux (MIPL) project: http://www.mobile-ipv6.org/
Nautilus6 working group: http://nautilus6.org/
Fast Handovers for Mobile IPv6 for Linux project: http://www.fmipv6.org/
USAGI-patched Mobile IPv6 for Linux (UMIP):http://umip.linux-ipv6.org/
Deploying IPsec/IKE-protected MIPv6 under Linux:http://natisbad.org/MIPv6/
RFC 3776 / Using IPsec to Protect Mobile IPv6 Signaling Between Mobile Nodes and Home Agents
HIP implementations: http://infrahip.hiit.fi/, http://hip4inter.net/, http://www.openhip.org/