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

John Baldwin jhb at freebsd.org
Tue Mar 21 17:46:45 UTC 2017


On Tuesday, March 21, 2017 06:39:49 AM Gleb Smirnoff wrote:
> Author: glebius
> Date: Tue Mar 21 06:39:49 2017
> New Revision: 315662
> URL: https://svnweb.freebsd.org/changeset/base/315662
> 
> Log:
>   Hide struct inpcb, struct tcpcb from the userland.
>   
>   This is a painful change, but it is needed.  On the one hand, we avoid
>   modifying them, and this slows down some ideas, on the other hand we still
>   eventually modify them and tools like netstat(1) never work on next version of
>   FreeBSD.  We maintain a ton of spares in them, and we already got some ifdef
>   hell at the end of tcpcb.
>   
>   Details:
>   - Hide struct inpcb, struct tcpcb under _KERNEL || _WANT_FOO.
>   - Make struct xinpcb, struct xtcpcb pure API structures, not including
>     kernel structures inpcb and tcpcb inside.  Export into these structures
>     the fields from inpcb and tcpcb that are known to be used, and put there
>     a ton of spare space.
>   - Make kernel and userland utilities compilable after these changes.
>   - Bump __FreeBSD_version.
>   
>   Reviewed by:	rrs, gnn
>   Differential Revision:	D10018

First, this is a very good change and long overdue in divorcing the
user-facing structure for live system reporting vs the kernel structure.

However, I realize you don't use info from netstat when debugging kernel
crash dumps, but other people _do_.  It's ok if the kvm bits of netstat
require a matching kernel and thus require recompiling everytime the ABI
changes, but it is useful to have them.  Please restore those.

-- 
John Baldwin


More information about the svn-src-head mailing list