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