Q: Why do we have to create the /dev/mipv6_dev entry?
A: The dev file is mainly so that the userspace tool, mipdiag, can make modifications to the kernel parameters using ioctl calls through the device file. mknod creates the special device file with paramters recognizable by the mobile-ip6 module.
Q: Is there any support for kernel 2.6.x?
A: Here is the answer from Henrik Petander on the MIPL mailinglist:
"Here is a short overview of the status of MIPL for 2.6 kernel series:"
"We have finished the kernel infrastructure for Mobile IPv6 in cooperation with the USAGI project. The infrastructure does route optimization, tunneling and policy routing."
"We are now working on the userspace daemon which handles the MIPv6 signaling and controls the operation of the kernel part. The userspace part is also progressing nicely. However, the protocol logic is still missing, so there isn't really anything for users to test yet. We should have a well working and tested prototype ready and by the end of March."
Q: Does MIPL support IPSec?
A: There is no support IPSec on 2.4.x. MIPL for 2.6 series will have IPSec support from the start. You may use a third-party IPSec implementation.
Q: How can I control the type of routing used for communication between the MN and a CN (through HA tunnel or by direct communication using binding update/acks)?
A: You can control this through:
/proc/sys/conf/net/ipv6/mobility/accept_return_routability
If you do not want to use return routability and route optimization, set it to 0 with:
# echo 0 > /proc/sys/..../accept_return_routability
Then MN will communicate with CNs only through the home tunnel.
Q: Can different wireless networks have different ESSIDs/WEP keys?
A: Yes, but you must change this upon arrival to the new network. MIPv6 from MIPL can't do this automatically.
Q: If MN has travelled through several visited LAN, and then returning home; the interface still has all the autogenerated IPv6 addresses from all the visited networks! Is there any way to "flush/delete" these addresses?
A: No, I do not know of any automatic way these adresses can be removed, but you can delete them manually:
# ifconfig eth0 inet6 del <ipv6-address>
Q: Host B has two interfaces with two different subnets assigned. When I ping B from host A, it does not answer! Why not? Host A knows where host B (subnets) are!
A: The host B doesn't know where host A is (B doesn't know where A's net is), so you must add a route entry:
# ip route add fec0:106:2700::/64 via fec0:106:2300::1
or
# route -A inet6 add fec0:106:2700::/64 gw fec0:106:2300::1 dev eth0
Q: How do I set a default gateway in IPv6?
A: You do that using the traditional "route":
# route -A inet6 add default gw <ipv6-host>
or the newer "ip" command:
# ip route ::/0 via <ipv6-host>
Q: Why does the host send a multicast address rather than an anycast address, requesting for router solicitation?
A: Because the host wants an answer from every router, not from just any router. The idea is to be able to get all parameters and to choose the "best" default router.
Q: Why doesn't MN notice that it has moved?
A: It thinks that it's previous router is still reachable. This may result from very large lifetimes in router advertisements. Check the configuration of the program sending router advertisements in the router. If the program supports router advertisement intervals, you can use this to help MN in movement detection by setting the use of interval to on. See man radvd.conf for details.