From owner-p4-projects@FreeBSD.ORG Sat Jan 5 08:02:23 2008 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id BEC4216A474; Sat, 5 Jan 2008 08:02:22 +0000 (UTC) Delivered-To: perforce@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 96B0E16A46C for ; Sat, 5 Jan 2008 08:02:21 +0000 (UTC) (envelope-from evilpete@gmail.com) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id 934B413C461 for ; Sat, 5 Jan 2008 08:02:21 +0000 (UTC) (envelope-from evilpete@gmail.com) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.1/8.14.1) with ESMTP id m0582LMm026722 for ; Sat, 5 Jan 2008 08:02:21 GMT (envelope-from evilpete@gmail.com) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.1/8.14.1/Submit) id m0582LY8026719 for perforce@freebsd.org; Sat, 5 Jan 2008 08:02:21 GMT (envelope-from evilpete@gmail.com) Date: Sat, 5 Jan 2008 08:02:21 GMT Message-Id: <200801050802.m0582LY8026719@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to evilpete@gmail.com using -f From: Peter Wemm To: Perforce Change Reviews Cc: Subject: PERFORCE change 132562 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 05 Jan 2008 08:02:23 -0000 http://perforce.freebsd.org/chv.cgi?CH=132562 Change 132562 by peter@peter_overcee on 2008/01/05 08:01:48 IFC @132548 Affected files ... .. //depot/projects/hammer/lib/libc/stdlib/malloc.3#18 integrate .. //depot/projects/hammer/lib/libc/stdlib/malloc.c#40 integrate .. //depot/projects/hammer/share/man/man4/Makefile#101 integrate .. //depot/projects/hammer/share/man/man4/edsc.4#2 integrate .. //depot/projects/hammer/share/man/man4/ipmi.4#5 integrate .. //depot/projects/hammer/share/man/man4/mxge.4#4 integrate .. //depot/projects/hammer/share/man/man4/pci.4#9 integrate .. //depot/projects/hammer/share/man/man4/pcib.4#1 branch .. //depot/projects/hammer/share/man/man4/snd_envy24.4#3 integrate .. //depot/projects/hammer/share/man/man4/snd_envy24ht.4#3 integrate .. //depot/projects/hammer/share/man/man4/snd_hda.4#7 integrate .. //depot/projects/hammer/share/man/man4/snd_spicds.4#3 integrate .. //depot/projects/hammer/share/man/man5/boot.config.5#2 integrate .. //depot/projects/hammer/share/man/man5/linsysfs.5#4 integrate .. //depot/projects/hammer/sys/kern/sched_ule.c#90 integrate .. //depot/projects/hammer/sys/vm/vm_map.c#67 integrate .. //depot/projects/hammer/usr.bin/netstat/inet.c#25 integrate Differences ... ==== //depot/projects/hammer/lib/libc/stdlib/malloc.3#18 (text+ko) ==== @@ -30,9 +30,9 @@ .\" SUCH DAMAGE. .\" .\" @(#)malloc.3 8.1 (Berkeley) 6/4/93 -.\" $FreeBSD: src/lib/libc/stdlib/malloc.3,v 1.75 2007/12/27 23:29:44 jasone Exp $ +.\" $FreeBSD: src/lib/libc/stdlib/malloc.3,v 1.76 2008/01/03 23:22:13 jasone Exp $ .\" -.Dd December 27, 2007 +.Dd January 3, 2008 .Dt MALLOC 3 .Os .Sh NAME @@ -245,7 +245,7 @@ Use .Xr mmap 2 to acquire anonymously mapped memory. -This option is disabled by default. +This option is enabled by default. If both the .Dq D and @@ -335,24 +335,24 @@ to obtain memory, which is suboptimal for several reasons, including race conditions, increased fragmentation, and artificial limitations on maximum usable memory. -This allocator uses +This allocator uses both .Xr sbrk 2 -by default in order to facilitate resource limits, but it can be configured at -run time to use -.Xr sbrk 2 -and/or -.Xr mmap 2 . +and +.Xr mmap 2 +by default, but it can be configured at run time to use only one or the other. If resource limits are not a primary concern, the preferred configuration is .Ev MALLOC_OPTIONS=dM or .Ev MALLOC_OPTIONS=DM . When so configured, the .Ar datasize -resource limit has little practical effect for typical applications. -The +resource limit has little practical effect for typical applications; use +.Ev MALLOC_OPTIONS=Dm +if that is a concern. +Regardless of allocator configuration, the .Ar vmemoryuse -resource limit, however, can be used to bound the total virtual memory used by -a process, as described in +resource limit can be used to bound the total virtual memory used by a +process, as described in .Xr limits 1 . .Pp This allocator uses multiple arenas in order to reduce lock contention for ==== //depot/projects/hammer/lib/libc/stdlib/malloc.c#40 (text+ko) ==== @@ -1,5 +1,5 @@ /*- - * Copyright (C) 2006,2007 Jason Evans . + * Copyright (C) 2006-2008 Jason Evans . * All rights reserved. * * Redistribution and use in source and binary forms, with or without @@ -131,10 +131,10 @@ * unnecessary, but we are burdened by history and the lack of resource limits * for anonymous mapped memory. */ -#define MALLOC_DSS +#define MALLOC_DSS #include -__FBSDID("$FreeBSD: src/lib/libc/stdlib/malloc.c,v 1.160 2007/12/31 06:19:48 jasone Exp $"); +__FBSDID("$FreeBSD: src/lib/libc/stdlib/malloc.c,v 1.161 2008/01/03 23:22:13 jasone Exp $"); #include "libc_private.h" #ifdef MALLOC_DEBUG @@ -821,7 +821,7 @@ #endif #ifdef MALLOC_DSS static bool opt_dss = true; -static bool opt_mmap = false; +static bool opt_mmap = true; #endif static bool opt_hint = false; #ifdef MALLOC_LAZY_FREE @@ -1646,6 +1646,7 @@ return (NULL); /* Clean up unneeded leading/trailing space. */ + offset = CHUNK_ADDR2OFFSET(ret); if (offset != 0) { /* Leading space. */ pages_unmap(ret, chunksize - offset); @@ -1661,11 +1662,11 @@ pages_unmap((void *)((uintptr_t)ret + size), chunksize); } + } else { + /* Clean up unneeded leading space. */ + pages_unmap(ret, chunksize - offset); + ret = (void *)((uintptr_t)ret + (chunksize - offset)); } - - /* Clean up unneeded leading space. */ - pages_unmap(ret, chunksize - offset); - ret = (void *)((uintptr_t)ret + (chunksize - offset)); } return (ret); ==== //depot/projects/hammer/share/man/man4/Makefile#101 (text+ko) ==== @@ -1,5 +1,5 @@ # @(#)Makefile 8.1 (Berkeley) 6/18/93 -# $FreeBSD: src/share/man/man4/Makefile,v 1.401 2007/12/26 11:35:06 rwatson Exp $ +# $FreeBSD: src/share/man/man4/Makefile,v 1.402 2008/01/04 08:26:22 imp Exp $ MAN= aac.4 \ acpi.4 \ @@ -259,6 +259,7 @@ pccard.4 \ pccbb.4 \ pci.4 \ + pcib.4 \ pcic.4 \ pcm.4 \ pcn.4 \ ==== //depot/projects/hammer/share/man/man4/edsc.4#2 (text+ko) ==== @@ -30,7 +30,7 @@ .\" SUCH DAMAGE. .\" .\" From: @(#)lo.4 8.1 (Berkeley) 6/5/93 -.\" $FreeBSD: src/share/man/man4/edsc.4,v 1.1 2007/03/26 04:39:18 yar Exp $ +.\" $FreeBSD: src/share/man/man4/edsc.4,v 1.2 2008/01/04 12:55:02 gabor Exp $ .\" .Dd March 25, 2007 .Dt EDSC 4 @@ -88,7 +88,7 @@ device was derived from the .Xr disc 4 device and first appeared in -.Fx 7.0 . +.Fx 6.3 . This manpage was adapted from .Xr disc 4 . .Sh CAVEATS ==== //depot/projects/hammer/share/man/man4/ipmi.4#5 (text) ==== @@ -23,7 +23,7 @@ .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" SUCH DAMAGE. .\" -.\" $FreeBSD: src/share/man/man4/ipmi.4,v 1.8 2007/07/16 17:03:48 ambrisko Exp $ +.\" $FreeBSD: src/share/man/man4/ipmi.4,v 1.9 2008/01/04 12:55:23 gabor Exp $ .\" .Dd July 10, 2007 .Dt IPMI 4 @@ -186,7 +186,7 @@ The .Nm driver first appeared in -.Fx 7.0 . +.Fx 6.3 . .Sh AUTHORS .An -nosplit The ==== //depot/projects/hammer/share/man/man4/mxge.4#4 (text+ko) ==== @@ -29,7 +29,7 @@ .\" .\" * Other names and brands may be claimed as the property of others. .\" -.\" $FreeBSD: src/share/man/man4/mxge.4,v 1.7 2007/01/30 08:17:45 brueffer Exp $ +.\" $FreeBSD: src/share/man/man4/mxge.4,v 1.8 2008/01/04 12:55:54 gabor Exp $ .\" .Dd September 15, 2006 .Dt MXGE 4 @@ -142,7 +142,7 @@ The .Nm device driver first appeared in -.Fx 7.0 . +.Fx 6.3 . .Sh AUTHORS The .Nm ==== //depot/projects/hammer/share/man/man4/pci.4#9 (text+ko) ==== @@ -22,9 +22,9 @@ .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" SUCH DAMAGE. .\" -.\" $FreeBSD: src/share/man/man4/pci.4,v 1.19 2007/09/30 11:05:12 marius Exp $ +.\" $FreeBSD: src/share/man/man4/pci.4,v 1.20 2008/01/04 08:19:52 imp Exp $ .\" -.Dd September 30, 2007 +.Dd January 3, 2008 .Dt PCI 4 .Os .Sh NAME @@ -54,13 +54,21 @@ device. If used improperly, this driver can allow userland applications to crash a machine or cause data loss. +.Pp +The +.Nm +driver implements the pci bus in the kernel. +It enumerates and devices on the pci bus and gives pci client drivers the +chance to attach to them. +It assigns resources to children, when the BIOS doesn't. +It takes care of routing interrupts when necessary. +It reprobes the unattached pci children when pci client drivers are dynamically +loaded at runtime. .Sh KERNEL CONFIGURATION -It is only necessary to specify one +The .Nm -controller in the kernel. -Additional -.Tn PCI -busses are handled automatically as they are encountered. +device is included in the kernel as described in the SYNOPSIS section. +The pci driver cannot be built as a kld. .Sh IOCTLS The following .Xr ioctl 2 ==== //depot/projects/hammer/share/man/man4/snd_envy24.4#3 (text+ko) ==== @@ -22,7 +22,7 @@ .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" SUCH DAMAGE. .\" -.\" $FreeBSD: src/share/man/man4/snd_envy24.4,v 1.3 2006/09/30 17:19:22 netchild Exp $ +.\" $FreeBSD: src/share/man/man4/snd_envy24.4,v 1.4 2008/01/04 12:56:24 gabor Exp $ .\" .Dd September 30, 2006 .Dt SND_ENVY24 4 @@ -71,7 +71,7 @@ The .Nm device driver first appeared in -.Fx 7.0 . +.Fx 6.3 . .Sh AUTHORS .An -nosplit The ==== //depot/projects/hammer/share/man/man4/snd_envy24ht.4#3 (text+ko) ==== @@ -22,7 +22,7 @@ .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" SUCH DAMAGE. .\" -.\" $FreeBSD: src/share/man/man4/snd_envy24ht.4,v 1.2 2007/05/28 15:57:22 joel Exp $ +.\" $FreeBSD: src/share/man/man4/snd_envy24ht.4,v 1.3 2008/01/04 12:56:45 gabor Exp $ .\" .Dd May 28, 2007 .Dt SND_ENVY24HT 4 @@ -91,7 +91,7 @@ The .Nm device driver first appeared in -.Fx 7.0 . +.Fx 6.3 . .Sh AUTHORS .An -nosplit The ==== //depot/projects/hammer/share/man/man4/snd_hda.4#7 (text+ko) ==== @@ -22,7 +22,7 @@ .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" SUCH DAMAGE. .\" -.\" $FreeBSD: src/share/man/man4/snd_hda.4,v 1.12 2007/07/14 12:35:29 joel Exp $ +.\" $FreeBSD: src/share/man/man4/snd_hda.4,v 1.13 2008/01/04 12:57:06 gabor Exp $ .\" .Dd July 14, 2007 .Dt SND_HDA 4 @@ -234,7 +234,7 @@ The .Nm device driver first appeared in -.Fx 7.0 . +.Fx 6.3 . .Sh AUTHORS .An -nosplit The ==== //depot/projects/hammer/share/man/man4/snd_spicds.4#3 (text+ko) ==== @@ -22,7 +22,7 @@ .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" SUCH DAMAGE. .\" -.\" $FreeBSD: src/share/man/man4/snd_spicds.4,v 1.3 2007/05/28 16:00:08 joel Exp $ +.\" $FreeBSD: src/share/man/man4/snd_spicds.4,v 1.4 2008/01/04 12:57:34 gabor Exp $ .\" .Dd May 28, 2007 .Dt SND_SPICDS 4 @@ -75,7 +75,7 @@ The .Nm device driver first appeared in -.Fx 7.0 . +.Fx 6.3 . .Sh AUTHORS .An -nosplit The ==== //depot/projects/hammer/share/man/man5/boot.config.5#2 (text+ko) ==== @@ -22,7 +22,7 @@ .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" SUCH DAMAGE. .\" -.\" $FreeBSD: src/share/man/man5/boot.config.5,v 1.1 2007/08/14 15:25:32 danger Exp $ +.\" $FreeBSD: src/share/man/man5/boot.config.5,v 1.2 2008/01/03 20:54:34 danger Exp $ .Dd May 13, 2007 .Dt BOOT.CONFIG 5 .Os @@ -78,11 +78,11 @@ # echo "1:ad(1,a)/boot/loader" > /boot.config .Ed .Pp -will instruct the second boot stage of -.Xr loader 8 -on the first disk to boot with the third boot stage of -.Xr loader 8 -from the second disk. +will instruct the second stage of +.Xr boot 8 +on the first disk to boot with the third +.Xr boot 8 +stage from the second disk. .Pp The command: .Bd -literal -offset indent ==== //depot/projects/hammer/share/man/man5/linsysfs.5#4 (text) ==== @@ -1,7 +1,7 @@ .\" Written by Garrett Wollman .\" This file is in the public domain. .\" -.\" $FreeBSD: src/share/man/man5/linsysfs.5,v 1.6 2007/02/05 22:45:58 ambrisko Exp $ +.\" $FreeBSD: src/share/man/man5/linsysfs.5,v 1.7 2008/01/04 12:58:09 gabor Exp $ .\" .Dd February 5, 2007 .Dt LINSYSFS 5 @@ -82,7 +82,7 @@ The .Nm driver first appeared in -.Fx 7.0 . +.Fx 6.2 . .Sh AUTHORS .An -nosplit The ==== //depot/projects/hammer/sys/kern/sched_ule.c#90 (text+ko) ==== @@ -36,7 +36,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/kern/sched_ule.c,v 1.220 2007/12/21 23:30:18 wkoszek Exp $"); +__FBSDID("$FreeBSD: src/sys/kern/sched_ule.c,v 1.221 2008/01/05 04:47:31 jeff Exp $"); #include "opt_hwpmc_hooks.h" #include "opt_sched.h" @@ -2186,17 +2186,16 @@ tdq->tdq_ridx = tdq->tdq_idx; } ts = td->td_sched; - /* - * We only do slicing code for TIMESHARE threads. - */ - if (td->td_pri_class != PRI_TIMESHARE) + if (td->td_pri_class & PRI_FIFO_BIT) return; - /* - * We used a tick; charge it to the thread so that we can compute our - * interactivity. - */ - td->td_sched->ts_runtime += tickincr; - sched_interact_update(td); + if (td->td_pri_class == PRI_TIMESHARE) { + /* + * We used a tick; charge it to the thread so + * that we can compute our interactivity. + */ + td->td_sched->ts_runtime += tickincr; + sched_interact_update(td); + } /* * We used up one time slice. */ ==== //depot/projects/hammer/sys/vm/vm_map.c#67 (text+ko) ==== @@ -63,7 +63,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/vm/vm_map.c,v 1.391 2007/11/07 21:56:58 pjd Exp $"); +__FBSDID("$FreeBSD: src/sys/vm/vm_map.c,v 1.392 2008/01/04 04:33:13 kib Exp $"); #include #include @@ -2696,7 +2696,9 @@ cow &= ~orient; KASSERT(orient != 0, ("No stack grow direction")); - if (addrbos < vm_map_min(map) || addrbos > map->max_offset) + if (addrbos < vm_map_min(map) || + addrbos > vm_map_max(map) || + addrbos + max_ssize < addrbos) return (KERN_NO_SPACE); init_ssize = (max_ssize < sgrowsiz) ? max_ssize : sgrowsiz; ==== //depot/projects/hammer/usr.bin/netstat/inet.c#25 (text+ko) ==== @@ -38,7 +38,7 @@ #endif #include -__FBSDID("$FreeBSD: src/usr.bin/netstat/inet.c,v 1.80 2008/01/02 23:26:11 obrien Exp $"); +__FBSDID("$FreeBSD: src/usr.bin/netstat/inet.c,v 1.82 2008/01/04 03:09:28 obrien Exp $"); #include #include @@ -366,8 +366,7 @@ #endif /* INET6 */ || (af1 == AF_UNSPEC && ((inp->inp_vflag & INP_IPV4) == 0 #ifdef INET6 - && (inp->inp_vflag & - INP_IPV6) == 0 + && (inp->inp_vflag & INP_IPV6) == 0 #endif /* INET6 */ )) ) @@ -405,14 +404,14 @@ printf("%-8.8s ", "Tcpcb"); if (Lflag) printf("%-5.5s %-14.14s %-22.22s\n", - "Proto", "Listen", "Local Address"); + "Proto", "Listen", "Local Address"); else printf((Aflag && !Wflag) ? "%-5.5s %-6.6s %-6.6s %-18.18s %-18.18s %s\n" : "%-5.5s %-6.6s %-6.6s %-22.22s %-22.22s %s\n", - "Proto", "Recv-Q", "Send-Q", - "Local Address", "Foreign Address", - "(state)"); + "Proto", "Recv-Q", "Send-Q", + "Local Address", "Foreign Address", + "(state)"); first = 0; } if (Lflag && so->so_qlimit == 0) @@ -425,77 +424,73 @@ } #ifdef INET6 if ((inp->inp_vflag & INP_IPV6) != 0) - vchar = ((inp->inp_vflag & INP_IPV4) != 0) - ? "46" : "6 "; + vchar = ((inp->inp_vflag & INP_IPV4) != 0) ? + "46" : "6 "; else #endif - vchar = ((inp->inp_vflag & INP_IPV4) != 0) - ? "4 " : " "; + vchar = ((inp->inp_vflag & INP_IPV4) != 0) ? + "4 " : " "; printf("%-3.3s%-2.2s ", name, vchar); if (Lflag) { char buf1[15]; snprintf(buf1, 15, "%d/%d/%d", so->so_qlen, - so->so_incqlen, so->so_qlimit); + so->so_incqlen, so->so_qlimit); printf("%-14.14s ", buf1); } else { - printf("%6u %6u ", - so->so_rcv.sb_cc, - so->so_snd.sb_cc); + printf("%6u %6u ", so->so_rcv.sb_cc, so->so_snd.sb_cc); } if (numeric_port) { if (inp->inp_vflag & INP_IPV4) { inetprint(&inp->inp_laddr, (int)inp->inp_lport, - name, 1); + name, 1); if (!Lflag) inetprint(&inp->inp_faddr, - (int)inp->inp_fport, name, 1); + (int)inp->inp_fport, name, 1); } #ifdef INET6 else if (inp->inp_vflag & INP_IPV6) { inet6print(&inp->in6p_laddr, - (int)inp->inp_lport, name, 1); + (int)inp->inp_lport, name, 1); if (!Lflag) inet6print(&inp->in6p_faddr, - (int)inp->inp_fport, name, 1); + (int)inp->inp_fport, name, 1); } /* else nothing printed now */ #endif /* INET6 */ } else if (inp->inp_flags & INP_ANONPORT) { if (inp->inp_vflag & INP_IPV4) { inetprint(&inp->inp_laddr, (int)inp->inp_lport, - name, 1); + name, 1); if (!Lflag) inetprint(&inp->inp_faddr, - (int)inp->inp_fport, name, 0); + (int)inp->inp_fport, name, 0); } #ifdef INET6 else if (inp->inp_vflag & INP_IPV6) { inet6print(&inp->in6p_laddr, - (int)inp->inp_lport, name, 1); + (int)inp->inp_lport, name, 1); if (!Lflag) inet6print(&inp->in6p_faddr, - (int)inp->inp_fport, name, 0); + (int)inp->inp_fport, name, 0); } /* else nothing printed now */ #endif /* INET6 */ } else { if (inp->inp_vflag & INP_IPV4) { inetprint(&inp->inp_laddr, (int)inp->inp_lport, - name, 0); + name, 0); if (!Lflag) inetprint(&inp->inp_faddr, - (int)inp->inp_fport, name, - inp->inp_lport != - inp->inp_fport); + (int)inp->inp_fport, name, + inp->inp_lport != inp->inp_fport); } #ifdef INET6 else if (inp->inp_vflag & INP_IPV6) { inet6print(&inp->in6p_laddr, - (int)inp->inp_lport, name, 0); + (int)inp->inp_lport, name, 0); if (!Lflag) inet6print(&inp->in6p_faddr, - (int)inp->inp_fport, name, - inp->inp_lport != - inp->inp_fport); + (int)inp->inp_fport, name, + inp->inp_lport != inp->inp_fport); } /* else nothing printed now */ #endif /* INET6 */ } @@ -505,24 +500,25 @@ else { printf("%s", tcpstates[tp->t_state]); #if defined(TF_NEEDSYN) && defined(TF_NEEDFIN) - /* Show T/TCP `hidden state' */ - if (tp->t_flags & (TF_NEEDSYN|TF_NEEDFIN)) - putchar('*'); + /* Show T/TCP `hidden state' */ + if (tp->t_flags & (TF_NEEDSYN|TF_NEEDFIN)) + putchar('*'); #endif /* defined(TF_NEEDSYN) && defined(TF_NEEDFIN) */ - } + } } putchar('\n'); } if (xig != oxig && xig->xig_gen != oxig->xig_gen) { if (oxig->xig_count > xig->xig_count) { printf("Some %s sockets may have been deleted.\n", - name); + name); } else if (oxig->xig_count < xig->xig_count) { printf("Some %s sockets may have been created.\n", - name); + name); } else { - printf("Some %s sockets may have been created or deleted.\n", - name); + printf( + "Some %s sockets may have been created or deleted.\n", + name); } } free(buf); @@ -569,34 +565,34 @@ printf(m, tcpstat.f, pluralies(tcpstat.f)) p(tcps_sndtotal, "\t%lu packet%s sent\n"); - p2(tcps_sndpack,tcps_sndbyte, - "\t\t%lu data packet%s (%lu byte%s)\n"); + p2(tcps_sndpack,tcps_sndbyte, "\t\t%lu data packet%s (%lu byte%s)\n"); p2(tcps_sndrexmitpack, tcps_sndrexmitbyte, - "\t\t%lu data packet%s (%lu byte%s) retransmitted\n"); + "\t\t%lu data packet%s (%lu byte%s) retransmitted\n"); p(tcps_sndrexmitbad, - "\t\t%lu data packet%s unnecessarily retransmitted\n"); + "\t\t%lu data packet%s unnecessarily retransmitted\n"); p(tcps_mturesent, "\t\t%lu resend%s initiated by MTU discovery\n"); p2a(tcps_sndacks, tcps_delack, - "\t\t%lu ack-only packet%s (%lu delayed)\n"); + "\t\t%lu ack-only packet%s (%lu delayed)\n"); p(tcps_sndurg, "\t\t%lu URG only packet%s\n"); p(tcps_sndprobe, "\t\t%lu window probe packet%s\n"); p(tcps_sndwinup, "\t\t%lu window update packet%s\n"); p(tcps_sndctrl, "\t\t%lu control packet%s\n"); p(tcps_rcvtotal, "\t%lu packet%s received\n"); - p2(tcps_rcvackpack, tcps_rcvackbyte, "\t\t%lu ack%s (for %lu byte%s)\n"); + p2(tcps_rcvackpack, tcps_rcvackbyte, + "\t\t%lu ack%s (for %lu byte%s)\n"); p(tcps_rcvdupack, "\t\t%lu duplicate ack%s\n"); p(tcps_rcvacktoomuch, "\t\t%lu ack%s for unsent data\n"); p2(tcps_rcvpack, tcps_rcvbyte, - "\t\t%lu packet%s (%lu byte%s) received in-sequence\n"); + "\t\t%lu packet%s (%lu byte%s) received in-sequence\n"); p2(tcps_rcvduppack, tcps_rcvdupbyte, - "\t\t%lu completely duplicate packet%s (%lu byte%s)\n"); + "\t\t%lu completely duplicate packet%s (%lu byte%s)\n"); p(tcps_pawsdrop, "\t\t%lu old duplicate packet%s\n"); p2(tcps_rcvpartduppack, tcps_rcvpartdupbyte, - "\t\t%lu packet%s with some dup. data (%lu byte%s duped)\n"); + "\t\t%lu packet%s with some dup. data (%lu byte%s duped)\n"); p2(tcps_rcvoopack, tcps_rcvoobyte, - "\t\t%lu out-of-order packet%s (%lu byte%s)\n"); + "\t\t%lu out-of-order packet%s (%lu byte%s)\n"); p2(tcps_rcvpackafterwin, tcps_rcvbyteafterwin, - "\t\t%lu packet%s (%lu byte%s) of data after window\n"); + "\t\t%lu packet%s (%lu byte%s) of data after window\n"); p(tcps_rcvwinprobe, "\t\t%lu window probe%s\n"); p(tcps_rcvwinupd, "\t\t%lu window update packet%s\n"); p(tcps_rcvafterclose, "\t\t%lu packet%s received after close\n"); @@ -611,20 +607,21 @@ p(tcps_badrst, "\t%lu ignored RSTs in the window%s\n"); p(tcps_connects, "\t%lu connection%s established (including accepts)\n"); p2(tcps_closed, tcps_drops, - "\t%lu connection%s closed (including %lu drop%s)\n"); + "\t%lu connection%s closed (including %lu drop%s)\n"); p(tcps_cachedrtt, "\t\t%lu connection%s updated cached RTT on close\n"); p(tcps_cachedrttvar, - "\t\t%lu connection%s updated cached RTT variance on close\n"); + "\t\t%lu connection%s updated cached RTT variance on close\n"); p(tcps_cachedssthresh, - "\t\t%lu connection%s updated cached ssthresh on close\n"); + "\t\t%lu connection%s updated cached ssthresh on close\n"); p(tcps_conndrops, "\t%lu embryonic connection%s dropped\n"); p2(tcps_rttupdated, tcps_segstimed, - "\t%lu segment%s updated rtt (of %lu attempt%s)\n"); + "\t%lu segment%s updated rtt (of %lu attempt%s)\n"); p(tcps_rexmttimeo, "\t%lu retransmit timeout%s\n"); p(tcps_timeoutdrop, "\t\t%lu connection%s dropped by rexmit timeout\n"); p(tcps_persisttimeo, "\t%lu persist timeout%s\n"); p(tcps_persistdrop, "\t\t%lu connection%s dropped by persist timeout\n"); - p(tcps_finwait2_drops, "\t%lu Connection%s (fin_wait_2) dropped because of timeout\n"); + p(tcps_finwait2_drops, + "\t%lu Connection%s (fin_wait_2) dropped because of timeout\n"); p(tcps_keeptimeo, "\t%lu keepalive timeout%s\n"); p(tcps_keepprobe, "\t\t%lu keepalive probe%s sent\n"); p(tcps_keepdrops, "\t\t%lu connection%s dropped by keepalive\n"); @@ -649,11 +646,11 @@ p(tcps_sack_recovery_episode, "\t%lu SACK recovery episode%s\n"); p(tcps_sack_rexmits, - "\t%lu segment rexmit%s in SACK recovery episodes\n"); + "\t%lu segment rexmit%s in SACK recovery episodes\n"); p(tcps_sack_rexmit_bytes, - "\t%lu byte rexmit%s in SACK recovery episodes\n"); + "\t%lu byte rexmit%s in SACK recovery episodes\n"); p(tcps_sack_rcv_blocks, - "\t%lu SACK option%s (SACK blocks) received\n"); + "\t%lu SACK option%s (SACK blocks) received\n"); p(tcps_sack_send_blocks, "\t%lu SACK option%s (SACK blocks) sent\n"); p1a(tcps_sack_sboverflow, "\t%lu SACK scoreboard overflow\n"); @@ -823,12 +820,12 @@ putchar('\n'); p(ips_cantforward, "\t%lu packet%s not forwardable\n"); p(ips_notmember, - "\t%lu packet%s received for unknown multicast group\n"); + "\t%lu packet%s received for unknown multicast group\n"); p(ips_redirectsent, "\t%lu redirect%s sent\n"); p(ips_localout, "\t%lu packet%s sent from this host\n"); p(ips_rawout, "\t%lu packet%s sent with fabricated ip header\n"); p(ips_odropped, - "\t%lu output packet%s dropped due to no bufs, etc.\n"); + "\t%lu output packet%s dropped due to no bufs, etc.\n"); p(ips_noroute, "\t%lu output packet%s discarded due to no route\n"); p(ips_fragmented, "\t%lu output datagram%s fragmented\n"); p(ips_ofragments, "\t%lu fragment%s created\n"); @@ -931,8 +928,8 @@ icmpstat.icps_outhist[i]); } p(icps_badcode, "\t%lu message%s with bad code fields\n"); - p(icps_tooshort, "\t%lu message%s < minimum length\n"); - p(icps_checksum, "\t%lu bad checksum%s\n"); + p(icps_tooshort, "\t%lu message%s less than the minimum length\n"); + p(icps_checksum, "\t%lu message%s with bad checksum\n"); p(icps_badlen, "\t%lu message%s with bad length\n"); p1a(icps_bmcastecho, "\t%lu multicast echo requests ignored\n"); p1a(icps_bmcasttstamp, "\t%lu multicast timestamp requests ignored\n"); @@ -944,10 +941,10 @@ } if (icmpnames[i] != NULL) printf("\t\t%s: %lu\n", icmpnames[i], - icmpstat.icps_inhist[i]); + icmpstat.icps_inhist[i]); else printf("\t\tunknown ICMP #%d: %lu\n", i, - icmpstat.icps_inhist[i]); + icmpstat.icps_inhist[i]); } p(icps_reflect, "\t%lu message response%s generated\n"); p2(icps_badaddr, "\t%lu invalid return address%s\n"); @@ -992,13 +989,16 @@ #define py(f, m) if (igmpstat.f || sflag <= 1) \ printf(m, igmpstat.f, igmpstat.f != 1 ? "ies" : "y") p(igps_rcv_total, "\t%u message%s received\n"); - p(igps_rcv_tooshort, "\t%u message%s received with too few bytes\n"); - p(igps_rcv_badsum, "\t%u message%s received with bad checksum\n"); - py(igps_rcv_queries, "\t%u membership quer%s received\n"); - py(igps_rcv_badqueries, "\t%u membership quer%s received with invalid field(s)\n"); - p(igps_rcv_reports, "\t%u membership report%s received\n"); - p(igps_rcv_badreports, "\t%u membership report%s received with invalid field(s)\n"); - p(igps_rcv_ourreports, "\t%u membership report%s received for groups to which we belong\n"); + p(igps_rcv_tooshort, "\t%u message%s received with too few bytes\n"); + p(igps_rcv_badsum, "\t%u message%s received with bad checksum\n"); + py(igps_rcv_queries, "\t%u membership quer%s received\n"); + py(igps_rcv_badqueries, + "\t%u membership quer%s received with invalid field(s)\n"); + p(igps_rcv_reports, "\t%u membership report%s received\n"); + p(igps_rcv_badreports, + "\t%u membership report%s received with invalid field(s)\n"); + p(igps_rcv_ourreports, +"\t%u membership report%s received for groups to which we belong\n"); p(igps_snd_reports, "\t%u membership report%s sent\n"); #undef p #undef py @@ -1042,7 +1042,8 @@ p(pims_rcv_badversion, "\t%ju message%s received with bad version\n"); p(pims_rcv_registers_msgs, "\t%ju data register message%s received\n"); p(pims_rcv_registers_bytes, "\t%ju data register byte%s received\n"); - p(pims_rcv_registers_wrongiif, "\t%ju data register message%s received on wrong iif\n"); + p(pims_rcv_registers_wrongiif, + "\t%ju data register message%s received on wrong iif\n"); p(pims_rcv_badregisters, "\t%ju bad register%s received\n"); p(pims_snd_registers_msgs, "\t%ju data register message%s sent\n"); p(pims_snd_registers_bytes, "\t%ju data register byte%s sent\n");