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