David Miller wrote:
From: Rick Jones <[EMAIL PROTECTED]>
Date: Mon, 10 Sep 2007 11:42:18 -0700


I've been digging around to see about inducing /proc/net/tcp to show some "interesting" things for listen sockets (eg backlog depth, its max, and dropped connection requests). While there I've noticed that both tcp_v[46]_syn_recv_sock and tcp_v[46]conn_request both check that the listen queue is full, but only tcp_v[46]_syn_recv_sock increments some mib stats for dropped connection requests.


They are checking two different things.

tcp_v{4,6}_conn_request is checking whether we are hitting the limit
for allowing the initial SYN and creating a new embryonic mini-socket.
Exceeding that is not a listen overflow.

I'll risk some toe chewing and ask - is the embryonic limit set based on what one sets in the listen() call and/or system configs?

Seems that _some_ sort of stat should be incremented, even if it isn't the listen queue overflow one?

rick jones

tcp_v{4,6}_syn_recv_sock() is processing the end of the 3-way
handshake and wants to create a full established state socket to queue
into the listening parent.  This is checking the listening socket
queue limits, and indeed is a listen queue overflow if exceeded.


-
To unsubscribe from this list: send the line "unsubscribe netdev" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to