From owner-svn-src-head@freebsd.org Tue Mar 21 18:50:10 2017 Return-Path: Delivered-To: svn-src-head@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id D5143D16FC6; Tue, 21 Mar 2017 18:50:10 +0000 (UTC) (envelope-from glebius@FreeBSD.org) Received: from cell.glebi.us (glebi.us [96.95.210.25]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client CN "cell.glebi.us", Issuer "cell.glebi.us" (not verified)) by mx1.freebsd.org (Postfix) with ESMTPS id A212E1ACA; Tue, 21 Mar 2017 18:50:10 +0000 (UTC) (envelope-from glebius@FreeBSD.org) Received: from cell.glebi.us (localhost [127.0.0.1]) by cell.glebi.us (8.15.2/8.15.2) with ESMTPS id v2LIo4sf063369 (version=TLSv1.2 cipher=DHE-RSA-AES256-GCM-SHA384 bits=256 verify=NO); Tue, 21 Mar 2017 11:50:04 -0700 (PDT) (envelope-from glebius@FreeBSD.org) Received: (from glebius@localhost) by cell.glebi.us (8.15.2/8.15.2/Submit) id v2LIo4Z5063368; Tue, 21 Mar 2017 11:50:04 -0700 (PDT) (envelope-from glebius@FreeBSD.org) X-Authentication-Warning: cell.glebi.us: glebius set sender to glebius@FreeBSD.org using -f Date: Tue, 21 Mar 2017 11:50:04 -0700 From: Gleb Smirnoff To: John Baldwin Cc: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: Re: svn commit: r315662 - in head: contrib/bsnmp/snmp_mibII contrib/ipfilter/ipsend lib/libprocstat sys/netinet sys/sys usr.bin/netstat usr.bin/sockstat usr.bin/systat usr.sbin/tcpdrop usr.sbin/trpt Message-ID: <20170321185004.GW23308@FreeBSD.org> References: <201703210639.v2L6dnRf055522@repo.freebsd.org> <1782817.djIc6TfI1t@ralph.baldwin.cx> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <1782817.djIc6TfI1t@ralph.baldwin.cx> User-Agent: Mutt/1.7.2 (2016-11-26) X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 21 Mar 2017 18:50:10 -0000 John, On Tue, Mar 21, 2017 at 10:40:34AM -0700, John Baldwin wrote: J> First, this is a very good change and long overdue in divorcing the J> user-facing structure for live system reporting vs the kernel structure. J> J> However, I realize you don't use info from netstat when debugging kernel J> crash dumps, but other people _do_. It's ok if the kvm bits of netstat J> require a matching kernel and thus require recompiling everytime the ABI J> changes, but it is useful to have them. Please restore those. I have very much anticipated this comment from you, John. I would like to remind you, that we have had this very exact conversation back when I removed kvm support from netstat/route.c. Let me search the archives: https://lists.freebsd.org/pipermail/svn-src-head/2015-April/070480.html This conversation has had a continuation on IRC, which I don't archive. AFAIR, first I told that with all my involvement into networking stack, I never ever had experienced a need to run route stats on a core. The debugger were the only useful tool. And that opinion was seconded by other network hackers. Then we discussed that a proper tool chould use dynamic type parsing and not kvm(3). You said that future gdb has python scripting and that would work fine. Meanwhile, you insisted that I restore the functionality. I resisted to put kvm(3) back into netstat/route.c, and instead I created a gdb script that prints exactly what 'nestat -anr -M core' prints. And I committed the script just to satisfy your demand: tools/debugscripts/netstat-anr.gdb Can you please fairly answer, have you (or anyone else) ever used the script during these 2 years? I believe, the inpcb/tcpcb printing from a core functionality has the same level of real usefulness. I could create the same script for pcbs, and I am afraid it is going to share fate of netstat-anr.gdb. Today, I can actually bring yet another point on kvm(3) in netstat, which I didn't bring in 2015. Now netstat is dependent on libxo, which has a lot of complex things in it and was never reviewed wrt security implications. Now netstat has only one last bit of kvm functionality remaining - UNIX pcbs printing, which also has close to zero level of usefulness. Once we remove it, we can remove setgid bit and kmem access from /usr/bin/netstat and sleep better. -- Totus tuus, Glebius.