The common neighbours count is subtracted from its own neighbour count. It results in uncovered neighbour count of the corresponding node. If uncovered neighbours count is greater than threshold then the packet is again forwarded(rebroadcast) otherwise it is discarded. It reduces the control packets.
if (uncovered_neighbours_count[index] > threshold ) {
forward((aodv_rt_entry*) 0, p, DELAY);
}
else {
Packet::free(p);
return;
}