From owner-freebsd-stable Mon May 20 10:37: 5 2002 Delivered-To: freebsd-stable@freebsd.org Received: from mail.sandvine.com (sandvine.com [209.167.74.226]) by hub.freebsd.org (Postfix) with ESMTP id C73D137B865 for ; Mon, 20 May 2002 10:35:32 -0700 (PDT) Received: by mail.sandvine.com with Internet Mail Service (5.5.2653.19) id ; Mon, 20 May 2002 13:35:32 -0400 Message-ID: From: Don Bowman To: "'freebsd-stable@FreeBSD.ORG'" Subject: tens of thousands of ip alias, part 2 Date: Mon, 20 May 2002 13:35:29 -0400 MIME-Version: 1.0 X-Mailer: Internet Mail Service (5.5.2653.19) Content-Type: text/plain Sender: owner-freebsd-stable@FreeBSD.ORG Precedence: bulk List-ID: List-Archive: (Web Archive) List-Help: (List Instructions) List-Subscribe: List-Unsubscribe: X-Loop: FreeBSD.ORG I posted a few weeks ago about the performance of ip aliases when used for tens of thousands of IP's. The numbers are in, the performance is quite poor. I think the culprit is: if.c: ifa_ifwithaddr(addr) The application is a test tool to simulate a larger network. It is directly connected to the device under test. I need to be able to have TCP sockets (well, UDP too). I already have tools to craft raw packets, but its difficult to simulate real TCP behaviour that way. The server side seems to take care of itself with ipfw and a fwd rule. I want that performance and flexibility, but on the initiate side. I think I need to change my direction here. I'm thinking that I should add a mode so that bind() doesn't check the local address passed in, it just uses it as-is. That plus removing the check in the stack that a packet we received is for one of our IP address'. I'd like to do this in a generic way so that I can merge the changes back. Does anybody have any suggestions before i start? Is this the best way? It seems like this is something that application-level proxies must need (e.g. in a firewall). To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-stable" in the body of the message