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-net" 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>