ARPQuerier will stop trying to resolve an unresolved address once the poll
timeout elapses (60 seconds, by default).
Once poll timeout elapses, ARPTable::lookup returns a flag ( r == 1 ) to
indicate that the caller should re-probe this address. It assumes that this
re-probe will happen and sets the ARP entry's 'polled at' time to 'now'. The
problem is that the caller (ARPQuerier::handle_ip) ignores the return value
from lookup() if the returned entry is unresolved (dst_mac == broadcast) and
does not perform the probe. When ARPQuerier::handle_ip later calls
ARPTable::append_query, it gets a response back of "no need to re-probe"
because the entry is marked as having just been probed.
_______________________________________________
click mailing list
[email protected]
https://amsterdam.lcs.mit.edu/mailman/listinfo/click