To keep up-to-date information on what links exist between a node
and its neighbors, the link set is maintained. In HELLO messages
a node emits all information about the links to neighbors from
the interface on which the HELLO is transmitted.
When declaring links, the IP addresses of the actual interfaces making
up the link is used. When declaring the neighbor state of neighbors
not reachable on the interface on which the HELLO is transmitted, the
main address of the neighbor node is used.
Figure:
Nodes A and B runs OLSR on multiple interfaces. B
uses the address of b1 as its main address. Nodes D and C runs on
single interfaces(d1 and c1).
|
|
In a scenario like the one depicted in
figure 3.12, A would send the following
information in its HELLO message on interface a1:
- Its current link and neighbor state for d1.
- Its current link and neighbor state for c1.
- Its current neighbor state for the main address of node
B which
is b1.
When building a HELLO to be transmitted on a2, node A
will include the following information:
- Its current neighbor state for d1.
- Its current neighbor state for c1.
- Its current link and neighbor state for b2.
Upon receiving a HELLO from a neighbor, a node checks to see if the
HELLO message contains the IP address of the interface the message was
received. The link set is then updated as follows:
- If no link entry exists for the tuple (originating IP,
IP of received interface) then such an entry is created. The
originating IP is fetched from the IP header of the received
packet. Whenever a
link entry is created a corresponding neighbor entry is created as well if no such
entry exists.
- An asymmetric timer is then updated according to the validity
time received. This timer decides for how long the link entry
is to be considered asymmetric if the symmetric
timer times out.
- If the address of the receiving interface is located in the
received HELLO message, the symmetric timer is updated and the status of
the link is updated if necessary. The status of the neighbor entry
according to this link entry is also updated if necessary.
- Finally the actual holding time for this entry is set to be
the maximum of the asymmetric timer and the symmetric timer.
Andreas
2004-07-29