lkml.org 
[lkml]   [2002]   [Nov]   [27]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
Date
From
SubjectRe: Wierd listen/connect: accept queue never fills up


What was the sysctl value for net.ipv4.tcp_syn_max_backlog set to
while running this test? That's the value you are testing, not the
listen() queue size.

Ivan...


On 27 Nov 2002, Philippe Troin wrote:

> [Andi, I've CC'ed you since you're listed as the author of the `new
> listen' code in net/ipv4/tcp_ipv4.c]
>
> Seen on linux 2.4.20rc2.
>
> This program is always able to establish new connections to itself:
> the accept queue never fills up and connections always succeed
> (although they take quite some time after the first four):
>
> #include <stdio.h>
> #include <sys/types.h>
> #include <sys/socket.h>
> #include <netinet/in.h>
>
> int main(void)
> {
> int fd;
> struct sockaddr_in sin;
> socklen_t sinlen;
>
> if ((fd = socket(PF_INET, SOCK_STREAM, 0)) == -1)
> perror("socket"), exit(1);
>
> sin.sin_family = AF_INET;
> sin.sin_addr.s_addr = htonl(INADDR_LOOPBACK);
> sin.sin_port = htons(0);
> if (bind(fd, (struct sockaddr*)&sin, sizeof(sin)) == -1)
> perror("bind"), exit(1);
> if (listen(fd, 1) == -1)
> perror("listen"), exit(1);
>
> sinlen = sizeof(sin);
> getsockname(fd, (struct sockaddr*)&sin, &sinlen);
>
> while (1)
> {
> int fdc;
>
> if ((fdc = socket(PF_INET, SOCK_STREAM, 0)) == -1)
> perror("socket"), exit(1);
> printf("%c", connect(fdc, (struct sockaddr*)&sin, sinlen) == -1
> ? 'F' : '.');
> fflush(stdout);
> }
>
> exit(0);
> }
>
> I've tried enabling and disabling tcp_syncookies, without any effect.
>
> The same program starts returning errors after two successful connects
> on Solaris and one on HP-UX. Linux keeps returning new connections...
>
> Phil.
> -
> To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
> the body of a message to majordomo@vger.kernel.org
> More majordomo info at http://vger.kernel.org/majordomo-info.html
> Please read the FAQ at http://www.tux.org/lkml/
>

--

----------------------------------------------------------------------
Ivan Pulleyn
Sixfold Technologies, LLC
Chicago Technology Park
2201 West Campbell Drive
Chicago, IL 60612

email: ivan@sixfold.com
voice: (866) 324-5460 x601
fax: (312) 421-0388
----------------------------------------------------------------------

-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/

\
 
 \ /
  Last update: 2005-03-22 13:31    [W:0.094 / U:0.024 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site