Increase ARP age time?


Hello all,

I have replaced a cisco router with a Vyos router.
The old cisco had an arp age timeout of something long like 4 hours.
On Vyos it appears to be 60 secs, which appears to be a linux standard.
This causes all sorts of problems with monitoring devices on my network thinking they are unreachable.
We monitor hundreds of switches, routers, access points, etc… with Nagios and this is causing tons of unreachable issues.

Is there a way to have the router hold the entries for more like 30 minutes to 1 hour versus dropping off every 60 secs?
Are there any ramifications of editing the sysctl.conf file and increasing the default gc_stale_time?
net.ipv4.neigh.default.gc_stale_time = 1800

Any help would be appreciated.


man 7 arp

If you have a bunch of devices that have not sent any data thru the vyos router in the last 60 seconds, then yes, their arp entries will go stale. So when nagios tries to poke at that device, the router will need to refresh the arp cache.

I am not sure at what point /etc/sysctl.conf gets picked up, but you might want to put your fixup in /opt/vyatta/etc/config/scripts/vyatta-postconfig-bootup.script and reset each interface gc_stale_time. The obvious side effect is when an access point fails and gets replaced, it won’t work until the vyos arp cache entry times out, since vyos will still be trying to send to the old mac address.