Date: Mon, 20 May 2002 13:35:29 -0400 From: Don Bowman <don@sandvine.com> To: "'freebsd-stable@FreeBSD.ORG'" <freebsd-stable@FreeBSD.ORG> Subject: tens of thousands of ip alias, part 2 Message-ID: <FE045D4D9F7AED4CBFF1B3B813C85337676212@mail.sandvine.com>
next in thread | raw e-mail | index | archive | help
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
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?FE045D4D9F7AED4CBFF1B3B813C85337676212>