From owner-freebsd-net@FreeBSD.ORG Wed Mar 19 06:05:29 2014 Return-Path: Delivered-To: freebsd-net@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [8.8.178.115]) (using TLSv1 with cipher ADH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTPS id BC459A31 for ; Wed, 19 Mar 2014 06:05:29 +0000 (UTC) Received: from vps1.elischer.org (vps1.elischer.org [204.109.63.16]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mx1.freebsd.org (Postfix) with ESMTPS id 87DD4799 for ; Wed, 19 Mar 2014 06:05:29 +0000 (UTC) Received: from Julian-MBP3.local ([12.157.112.67]) (authenticated bits=0) by vps1.elischer.org (8.14.8/8.14.8) with ESMTP id s2J65QVq088020 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES128-SHA bits=128 verify=NO); Tue, 18 Mar 2014 23:05:27 -0700 (PDT) (envelope-from julian@freebsd.org) Message-ID: <532933A3.4030403@freebsd.org> Date: Tue, 18 Mar 2014 23:05:23 -0700 From: Julian Elischer User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.9; rv:24.0) Gecko/20100101 Thunderbird/24.4.0 MIME-Version: 1.0 To: George Neville-Neil , hiren panchasara Subject: Re: Include port number in "Listen queue overflow" messages References: In-Reply-To: Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit Cc: "freebsd-net@freebsd.org" X-BeenThere: freebsd-net@freebsd.org X-Mailman-Version: 2.1.17 Precedence: list List-Id: Networking and TCP/IP with FreeBSD List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 19 Mar 2014 06:05:29 -0000 On 3/18/14, 8:33 PM, George Neville-Neil wrote: > On Mar 7, 2014, at 1:23 , hiren panchasara wrote: > >> I am thinking of committing following change that includes port number >> in "Listen queue overflow" messages. I think it's a good idea. There is even more information available but this is probably enough. >> > I like it. > > Best, > George > >> New message would look something like: >> sonewconn: pcb 0xfffff8001b155760: Listen queue overflow on port >> 13120: 1 already in queue awaiting acceptance (454 occurrences) >> >> I've recently ran into a situation at $work where I could not catch >> the culprit application via "netstat -A" and had to dive into kgdb to >> find the port from pcb where this application was listening to. >> >> IMO, this change will make debugging easier. >> >> cheers, >> Hiren >> >> Index: sys/kern/uipc_socket.c >> =================================================================== >> --- sys/kern/uipc_socket.c (revision 262861) >> +++ sys/kern/uipc_socket.c (working copy) >> @@ -136,6 +136,7 @@ >> #include >> #include >> #include >> +#include >> >> #include >> >> @@ -491,8 +492,11 @@ >> static int overcount; >> >> struct socket *so; >> + struct inpcb *inp; >> int over; >> >> + inp = sotoinpcb(head); >> + >> ACCEPT_LOCK(); >> over = (head->so_qlen > 3 * head->so_qlimit / 2); >> ACCEPT_UNLOCK(); >> @@ -504,10 +508,12 @@ >> overcount++; >> >> if (ratecheck(&lastover, &overinterval)) { >> - log(LOG_DEBUG, "%s: pcb %p: Listen queue overflow: " >> - "%i already in queue awaiting acceptance " >> + log(LOG_DEBUG, "%s: pcb %p: Listen queue overflow on " >> + "port %d: %i already in queue awaiting acceptance " >> "(%d occurrences)\n", >> - __func__, head->so_pcb, head->so_qlen, overcount); >> + __func__, head->so_pcb, >> + ntohs(inp->inp_inc.inc_lport), head->so_qlen, >> + overcount); >> >> overcount = 0; >> } >> _______________________________________________ >> freebsd-net@freebsd.org mailing list >> http://lists.freebsd.org/mailman/listinfo/freebsd-net >> To unsubscribe, send any mail to "freebsd-net-unsubscribe@freebsd.org" > _______________________________________________ > freebsd-net@freebsd.org mailing list > http://lists.freebsd.org/mailman/listinfo/freebsd-net > To unsubscribe, send any mail to "freebsd-net-unsubscribe@freebsd.org" >