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: http://gnist.org/~lars/doc/Mobile-IPv6-HOWTO/Mobile-IPv6-HOWTO.html (temporary link)
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/
RFC 3776 / Using IPsec to Protect Mobile IPv6 Signaling Between Mobile Nodes and Home Agents