IPv6 Advanced Protocols Implementation

In this section, we describe the detailed Mobile IPv6 code implemented as a part of the KAME distribution. Note that the code we quote in this chapter is newer than the other code quoted in other chapters. In this book, most of the code fragments other than those in this chapter are copied from the snapshot code generated on April 21, 2003; however, the code used in this chapter is based on the snapshot code generated on July 12, 2004. We decided to use the latest Mobile IPv6 code as much as possible, since the Mobile IPv6 code was incomplete when we started writing this book. There are some inconsistent parts between this chapter and other chapters. One big difference is the way to keep address information of IPv6 packets in the kernel. The code discussed in this chapter refers to the IPv6 source and destination address fields to access address information, while the information is stored in the ip6_aux{} structure separately in older codes discussed in other chapters. We believe such inconsistency will not confuse readers in understanding the implementation of Mobile IPv6, since the framework of the KAME code itself has not been modified drastically.
Statistics are stored in the mip6stat{} structure. Table 5-10 describes the statistics variables.
| mip6sta{}member | Description |
|---|---|
| mip6s_mobility | # of Mobility Header packets received. |
| mip6s_omobility | # of Mobility Header packets sent. |
| mip6s_hoti | # of Home Test Init packets received. |
| mip6s_ohoti | # of Home Test... |