The basic operations of the PAA-server is illustrated in figure 12.10.
The first thing PAA does when going from client- to server-mode is to
connect to the routing-daemon via a TCP socket to the
loopback device (
Upon receiving an Address Request from a PAA-client the
PAA-server queries the routing protocol for a free address.
In the implementation, this means querying the PAA-plugin via IPC.
If the Address Request contains a preferred address, this is
passed to the OLSR daemon in the query message. When using IPv6
the MAC address of the sender is always passed in the message.
If no free IP addresses can be allocated, the PAA-server will
transmit an Address Response message with the
FAILIURE flag set.
If an IP offer is received from the routing protocol, an Address
Response message is generated containing the offered IP, the
ID and SEQNO from the received Address Request.
Upon receiving an Address Test message link-local,
the PAA-server forwards this message to the
routing protocol if the
FORWARDED flag is not
set in the message. This is to prevent forwarding of messages
forwarded link-local from other PAA-servers, which can lead to loops.
The PAA-server then sends an Address Test Response message
back to the PAA-client to confirm that the message has been
received and is currently being processed.
A PAA-server should only forward messages link-local if there exists any
unconfigured 1 hop neighbors. To detect this, the PAA-server
listens for Forward Request messages which are sent periodically by
unconfigured nodes. Upon receiving a Forward Request the
forward timer of the server is set to current time + a
predefined holding time.
Upon receiving an Address Test message from the routing protocol,
the PAA-server broadcasts or multicasts this message
link-local, setting the
FORWARDED flag, if the forward
timer is not expired.