Support for IPv6 mobility can be enabled in Linux by installing the MIPL2 implementation found at: https://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: https://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: https://www.mobile-ipv6.org/.
The HOWTO document describing setup and configuration is available at: https://www.nautilus6.org/doc/nepl-howto/.
Mobile IPv6 for Linux (MIPL) project: https://www.mobile-ipv6.org/
Nautilus6 working group: https://nautilus6.org/
Fast Handovers for Mobile IPv6 for Linux project: https://www.fmipv6.org/
RFC 3775 / Mobility Support in IPv6
RFC 3776 / Using IPsec to Protect Mobile IPv6 Signaling Between Mobile Nodes and Home Agents
RFC 3963 / Network Mobility (NEMO)
RFC 4068 / Fast Handovers for Mobile IPv6