Every PC in the testbed (except the Mobile Host) has a pair of interfaces: one interface is connected to the upper part of the tree and the other to the lower PCs:
The radvd (Router Advertisement daemon) sends periodically packets informing about its subnetwork prefix. A Mobile Host that receives these messages can automatically configure its IPv6 address and attach to this subnetwork. An example message sent by a radvd is:
Router advertisement from fe80::250:4ff:fe47:d29a (hoplimit 255) AdvCurHopLimit: 64 AdvManagedFlag: off AdvOtherConfigFlag: off AdvHomeAgentFlag: off AdvReachableTime: 0 AdvRetransTimer: 0 Prefix fec0:0:0:1::/64 AdvValidLifetime: 2592000 AdvPreferredLifetime: 604800 AdvOnLink: on AdvAutonomous: on AdvRouterAddr: off AdvSourceLLAddress: 00 50 04 47 D2 9A
This message means that it has been sent by a host with fe80::250:4ff:fe47:d29a IPv6 address and it advertises that the subnetwork prefix is fec0:0:0:1::/64.
The configuration file (in /etc/radvd.conf) for this message is the next:
interface eth0 { AdvSendAdvert on; MaxRtrAdvInterval 10; #AdvSourceLLAddress off; prefix fec0:0:0:1::/64 { AdvOnLink on; AdvAutonomous on; }; };
When a Mobile Host receives a Router Advertisement, it automatically configures an adequated IPv6 address for this subnetwork. It takes the subnetwork prefix and adds its MAC address. For example, a host with MAC address 00:50:DA:4F:A7:87 and the previous Router Advertisement obtains the IPv6 address fec0::1:250:daff:fe4f:a787.
To configured the fixed IPv6 address you have to specify them in the /etc/network/interfaces file. You sould add lines like these (for example, for the subnetwork 4):
iface eth2 inet6 static address fec0::5:202:a5ff:fe6e:5209 netmask 64