From owner-freebsd-net Thu Aug 2 15: 4:17 2001 Delivered-To: freebsd-net@freebsd.org Received: from mailtoaster1.pipeline.ch (mailtoaster1.pipeline.ch [62.48.0.70]) by hub.freebsd.org (Postfix) with SMTP id 6AB7637B405 for ; Thu, 2 Aug 2001 15:04:09 -0700 (PDT) (envelope-from oppermann@telehouse.ch) Received: (qmail 41034 invoked from network); 2 Aug 2001 22:03:37 -0000 Received: from unknown (HELO telehouse.ch) ([62.48.21.178]) (envelope-sender ) by mailtoaster1.pipeline.ch (qmail-ldap-1.03) with SMTP for ; 2 Aug 2001 22:03:37 -0000 Message-ID: <3B69CE3F.1BCCB280@telehouse.ch> Date: Fri, 03 Aug 2001 00:03:43 +0200 From: Andre Oppermann X-Mailer: Mozilla 4.76 [en] (Windows NT 5.0; U) X-Accept-Language: en MIME-Version: 1.0 To: freebsd-hackers@freebsd.org Cc: freebsd-net@freebsd.org Subject: 303,000 routes in kernel Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: 7bit Sender: owner-freebsd-net@FreeBSD.ORG Precedence: bulk List-ID: List-Archive: (Web Archive) List-Help: (List Instructions) List-Subscribe: List-Unsubscribe: X-Loop: FreeBSD.org 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