Skip site navigation (1)Skip section navigation (2)
Date:      Tue, 14 Jun 2005 09:09:07 -0400
From:      "PSI, Mike Smith" <mlsmith@mitre.org>
To:        <freebsd-net@freebsd.org>
Subject:   Advice needed on running idiotic test for client
Message-ID:  <06e401c570e2$3f342930$1b321d80@MITRE.ORG>

next in thread | raw e-mail | index | archive | help

Hey all,

Need some probably fundamental help with an admitted idiotic "test" from a client. Is there any way to close a TCP connection such that all resources are immediately freed?

Standard operation: Sys B Listen -> Sys A connect -> Sys B Accept -> Sys A Send -> Sys B Receive -> Sys A Close -> Sys B Close (still listening). Very small packets. Maximum connect rate is less than 50 or so per minute, often much less. No problems at all.

Idiot test requested by client - Same as above but see how fast 10,000 can be sent (will never come close to happening in the real world).

Problem: Because among other things I am using let's say minimal and ancient computer power, I hit a DOS state after about 3700 connects. I know (think?) I am running out of mbufs because of the 2MSL delay on the close.

Is there any way to close a TCP connection and have all resources immediately freed? I KNOW this is really violating all the data integrity features of TCP, but this is an idiotic test remember. And in this case I am not concerned about data integrety. I have noticed that LINUX has a TCP_LINGER2 option that can at least minimize the closing delay (freeing resources) but I haven't found anything comparable in FreeBSD.

Since this is probably fundamental and of little or no interest to anyone designing or operating even a minimally competent system, off-list response is probably best if someone would be so kind as to help me out.

Mike Smith



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?06e401c570e2$3f342930$1b321d80>