All interfaces used in normal IP routing must be set up with a unicast address to receive unicasted traffic. In IPv6 there are several classes of unicast addresses. The different classes are:
Since interfaces often are configured with multiple IPv6 addresses from
both the site local and global address space, there is the question of
what address olsrd should use for the interface.
The address-type to use can be set in the configuration file using the
IP6ADDRTYPE statement. By default it is set to use site local
addresses since a MANET often is seen as a private
network. However, if Internet connectivity is desired one needs to use
global addresses or one must use some address translation scheme in
the Internet gateways. Optionally, a node could send all its
site-local and global addresses in MID messages to ensure that
all of its addresses are route-able.
In olsrd, configuration of interfaces is done different when using IPv6 from IPv4. While IPv4 configuration uses ioctl calls, IPv6 operation reads all info from the proc file /proc/net/if_inet6. This file lists all configured IPv6 addresses and the interfaces they are configured to. This way a network interface can have multiple entries in the file, one for each configured IPv6 address. Each entry includes information about the address type as well. When fetching interface information, this proc file is parsed and the first located address of the correct type for the specific network interface is used. If no address of the desired class is located for a network interface, then that network interface will not be set up for use by olsrd.
Andreas 2004-07-29