dst cache overflow

From: Ed Taranto (etaranto@axent.com)
Date: Thu Oct 12 2000 - 11:39:09 EST

I'm running kernel version 2.2.14 as a firewall with moderately high load.

After a few hours, i start getting "dst cache overflow" log messages. That
apparently comes from rt_garbage_collect in route.c

I have seen a few discussions about this in the archives, but nothing ever
seemed too conclusive.

One suggestion was that the kernel needed a patch which changed the line

rt_del(hash, rt) to
rt_del(hash, rth)

But that appears to be in my kernel, that is if it's in the code for

Another suggested a problem where thousands of connections were stuck in
LAST_ACK state, presumably keeping the cache entry tied up and therefore
not eligible to expire. But I am only seeing a few connections in this
state - i.e., this doesn't appear to be what's causing my problem.

Anyone out there have any further information or insight into this?

One thing that concerns me is that rt_garbage_collect will only make one
pass through the main loop while in_interrupt() ... thus perhaps that is
why it doesn't make it's goal of getting the cache entries below
ip_rt_max_size. if i am under heavy load, perhaps i am spending too much
time in_interrupt() which is why I can't trim down the cache sufficiently??

Or does this perhaps sound like a memory leak or something?

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

This archive was generated by hypermail 2b29 : Sun Oct 15 2000 - 21:00:23 EST