Re: how to tweak ARP timer on kernel 2.6.9

From: Eric Dumazet
Date: Tue Mar 09 2010 - 17:10:26 EST


Le mardi 09 mars 2010 Ã 12:32 -0700, Tom Ammon a Ãcrit :
> Hi,
>
> I've been trying to figure out how to adjust the ARP timeout on kernel
> 2.6.9 and I found the following in /proc/sys/net/ipv4/neigh/ib0 (its an
> IB interface I am interested in changing) with the following values.
> This is on kernel 2.6.9-89ELsmp (RHEL4) :
>

> When I test this, along with per-flow ECMP (using the iproute2 utils), I
> see that the ARP cache is timing out about every 10 minutes (I observe
> this by load balancing an iperf flow between two different gateway
> machines and then graphing the interface traffic)
>

10 minutes seems out of specs.

> On a newer kernel, 2.6.18-164.11.1.el5 (RHEL5), I see mostly the same
> parms available, but a few new ones have been added. However, all of the
> parms that are the same name between the two kernels are the same values:
>

> Yet when I observe the same traffic flow with this machine, the ARP
> cache times out about once per minute.
>

This seems normal, old kernels were a bit lazy about arp.


> Is there another set of parameters somewhere that govern how often the
> kernel times out the ARP cache? If so, where might I find that? Is there
> any kernel documentation that talks about changing ARP timers on the
> linux kernel?
>

I would suggest :

man 7 arp

http://linux.die.net/man/7/arp



base_reachable_time
Once a neighbour has been found, the entry is considered to be
valid for at least a random value between base_reachable_time/2
and 3*base_reachable_time/2. An entry's validity will be
extended if it receives positive feedback from higher level
protocols. Defaults to 30 seconds.

gc_interval
How frequently the garbage collector for neighbour entries
should attempt to run. Defaults to 30 seconds.

gc_stale_time
Determines how often to check for stale neighbour entries. When
a neighbour entry is considered stale it is resolved again
before sending data to it. Defaults to 60 seconds.



and "ip -s neigh"


--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/