Hi, The arp(7) page's description of gc_stale_time doesn't quite describe the behaviour correctly, at least as I understand it. The current description suggests this is the time interval at which a loop will look for stale entries. However, this field is the threshold for marking an entry dead for removal, based on when it was last used (see net/core/neighbour.c lines 935-942) and whether the table is over gc_thresh1. How often this check is done appears to be determined by base_reachable_time (/2) and the third option gc_interval is not involved in this process as far as I can tell, despite its name. Perhaps a draft alternate description could be something along the lines of: Determines the threshold for removing a cache entry after it was last used and when the cache is larger than gc_thresh1. Defaults to 60 seconds. Thanks, Adam