As the same message can be received several times, due to different
nodes forwarding it, one needs some system to avoid duplicate processing
of data. This is what the duplicate set is used for as described
in section 3.4.2.
The duplicate set can be queried through this function, implemented in
src/duplicate_set.c:
int
olsr_check_dup_table_proc(union olsr_ip_addr *,
olsr_u16_t);
This function also
updates the duplicate set if no match is found, so that the message
queried for is registered as processed.
Note that no standard olsrd functionality calls this function
directly. The olsr_forward_message function, presented
in section 6.10, takes care of both querying
the duplicate table and queuing the message for forwarding
if necessary.