RFC3626 specifies three levels of TC redundancy deciding the amount of information passed in TC messages. This indirectly also sets what nodes should generate TC messages. A TC redundancy of 0 means that only MPR selectors should be listed in TC messages. This is the standard used in core-OLSR. A TC redundancy of 1 specifies that all selected MPRs should be listed in TC messages as well, and a setting of 2 specifies that all symmetric neighbors should be listed. The TC redundancy parameter can be set in the configuration file, and it defaults to 0. This value can vary on individual nodes in the MANET, and no transmission of the actual parameter value is needed. Nodes just store the announced links from the TC message with no consideration for the TC redundancy used by the sender.
Implementing TC redundancy was a matter of updating the TC generation
function to add more than just the MPR selector set if the redundancy
parameter is 1 or 2. The TC generation function is ran by the scheduler
regardless of the MPR selector set. It is up
to the function itself to decide whether or not a TC should be
sent. If a TC message has been built, containing
one or more links or if the send_empty_tc timer is valid,
the message will be sent. Because of this, adding
TC redundancy was only a matter of checking the TC redundancy value
when adding addresses to the TC message being built.
The main TC generation function is located in the file
src/packet.c.
Andreas 2004-07-29