Date: Fri, 03 Aug 2001 00:03:43 +0200 From: Andre Oppermann <oppermann@telehouse.ch> To: freebsd-hackers@freebsd.org Cc: freebsd-net@freebsd.org Subject: 303,000 routes in kernel Message-ID: <3B69CE3F.1BCCB280@telehouse.ch>
next in thread | raw e-mail | index | archive | help
Hello guys
have got a small problem. I'm running a secondary DNS server for the
ccTLD .ch here in Switzerland.
The box is a Intel ISP2150 with a PIII-750 and 512MB RAM plus 18GB
SCSI disk. Two fxp cards inside.
This machine is running FreeBSD 4.3-RELEASE and tinydns as DNS server.
It answering approximatly 100 dns requests per second for the .ch ccTLD
zone. These DNS requests come from all over the world so I see basically
the whole allocated IP address space here.
The problem I've got now is that for every packet I get the kernel is
making one host entry in the routing table. Because of the many UDP
DNS requests from all over the world I've got 303'000 (yes, three-
hundredthreethousand) entries in the kernel routing table which have
not expired yet. So I'm getting error messages like this now:
Aug 2 23:57:14 ccTLD /kernel: arpresolve: can't allocate llinfo for
194.42.48.126 rt
Aug 2 23:57:14 ccTLD /kernel: arplookup 194.42.48.126 failed: could
not allocate llinfo
# netstat -m
149/640/6144 mbufs in use (current/peak/max):
146 mbufs allocated to data
3 mbufs allocated to packet headers
128/304/1536 mbuf clusters in use (current/peak/max)
768 Kbytes allocated to network (16% of mb_map in use)
0 requests for memory denied
0 requests for memory delayed
0 calls to protocol drain routines
# netstat -rn | wc -l
303875
# vmstat -m
Memory statistics by type Type Kern
Type InUse MemUse HighUse Limit Requests Limit Limit Size(s)
...
routetbl607857 85480K 85480K 85480K 2420956 0 0
16,32,64,128,256
...
Memory Totals: In Use Free Requests
91073K 2948K 786316696
So many routing entries are total overkill, all I would need in reality
are the default route plus some other, or in worst case a full view of
the Internet prefixes (approx. 105,000 at the moment) but definatly not
a host route for every UDP packet I get. The network route would be
absolutely sufficient for delivering the packet back to it's origin.
Any ideas on how to deal with this?
TIA
--
Andre
To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe freebsd-hackers" in the body of the message
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?3B69CE3F.1BCCB280>
