Re: nd6 'stale' timer unreasonably long?
[email protected] (Michael van Elst) Sun, 22 Feb 2026 11:07:58 -0000 (UTC)
| Newsgroups | gmane.os.netbsd.devel.network |
|---|---|
| Organization | Serpens User Group |
| Message-ID | <[email protected]> |
[email protected] (Timo Buhrmester) writes: >Our neighbor discovery cache ends up exceeding its limit (net.inet6.ip6.neighborgcthresh) leading to packet loss. I don't understand why the lifetime for stale entries (ND_TIMER_GC) is so long -- 24 hours! Why? Keeping entries is supposed to make resolving them faster once they come back. Age wasn't a reason to purge an entry. With current random adresses, that is obviously a weak argument. Many other systems tend to drop stale entries after 20 minutes, but some keep them for several hours. Making it configurable gives the operator a choice for this. The other question is: why do you see packet loss ? There is no cache limit, the garbage collection just tries to keep the cache size below the threshold. The problem seems to be that the lists are truncated from the head, which is the newest entries. So you often have to resolve them again, and that loses packets. N.B. the garbage collection also removes only up to 10 entries, but iterates over the whole cache. IMHO that's a bug, but it mostly wastes CPU time.