History log of /openbsd-current/usr.bin/netstat/mbuf.c
Revision (<<< Hide revision tags) (Show revision tags >>>) Date Author Comments
# 1.45 16-Jul-2023 yasuoka

Make the mbstat preserve the same size which is actually used. Also
revert the previous that the mbstat is located on the stack.

ok claudio


# 1.44 07-Jul-2023 yasuoka

Expand the counters in struct mbstat from u_short to u_long.

ok blumn mvs


Revision tags: OPENBSD_6_6_BASE OPENBSD_6_7_BASE OPENBSD_6_8_BASE OPENBSD_6_9_BASE OPENBSD_7_0_BASE OPENBSD_7_1_BASE OPENBSD_7_2_BASE OPENBSD_7_3_BASE
# 1.43 16-Jul-2019 bluhm

Prevent integer overflow in kernel and userland when checking mbuf
limits. Convert kernel variables and calculations for mbuf memory
into long to allow larger values on 64 bit machines. Put a range
check into the kernel sysctl. For the interface itself int is still
sufficient. In netstat -m cast all multiplications to unsigned
long to hold the product of two unsigned int.
input and OK visa@


# 1.42 28-Jun-2019 deraadt

When system calls indicate an error they return -1, not some arbitrary
value < 0. errno is only updated in this case. Change all (most?)
callers of syscalls to follow this better, and let's see if this strictness
helps us in the future.


# 1.41 13-Jun-2019 bluhm

Do memory size calculations as unsigned long. Otherwise
netstat -m would print the result of a signed interger overflow
if kern.maxclusters is 1048576 or above.
OK claudio@


Revision tags: OPENBSD_6_3_BASE OPENBSD_6_4_BASE OPENBSD_6_5_BASE
# 1.40 28-Oct-2017 mikeb

Bring "netstat -m" output up to speed with the kernel

The kernel no longer sets watermarks on cluster pools rendering
"max" values useless. Instead, there's now a global limit on how
much memory all cluster pools combined together can allocate from
the system. The limit is set to kern.maxclusters number of 2Kb
increments which allows us to display current, peak and maximum
total memory used by the network.

OK claudio, millert


Revision tags: OPENBSD_6_1_BASE OPENBSD_6_2_BASE
# 1.39 04-Feb-2017 jsg

Include netinet/in.h for in_addr_t now it has moved out of sys/types.h.
gcc warned about this, clang fatally errored.


# 1.38 28-Oct-2016 dlg

there's a new mbuf cluster pool.


Revision tags: OPENBSD_6_0_BASE
# 1.37 04-Apr-2016 sthen

Add sys/queue.h where it's needed. Unbreak userland following recent
removal from mbuf.h. ok mpi@


Revision tags: OPENBSD_5_9_BASE
# 1.36 04-Sep-2015 mpi

Fix mbuf memory accounting after recent *8 pool size change.

Use the ``pr_pgsize'' argument instead of assuming that pool page
sizes are identical to the value returned by getpagesize(3).

Issue reported by trondd <trondd AT kagu-tsuchi DOT com> on tech@.

ok millert@, tedu@


Revision tags: OPENBSD_5_7_BASE OPENBSD_5_8_BASE
# 1.35 20-Jan-2015 deraadt

Adjust <sys/param.h> comments regarding use of use of MSIZE, or
delete <sys/param.h> if now possible
ok guenther


# 1.34 16-Jan-2015 deraadt

Replace <sys/param.h> with <limits.h> and other less dirty headers where
possible. Annotate <sys/param.h> lines with their current reasons. Switch
to PATH_MAX, NGROUPS_MAX, HOST_NAME_MAX+1, LOGIN_NAME_MAX, etc. Change
MIN() and MAX() to local definitions of MINIMUM() and MAXIMUM() where
sensible to avoid pulling in the pollution. These are the files confirmed
through binary verification.
ok guenther, millert, doug (helped with the verification protocol)


# 1.33 06-Nov-2014 dlg

i renamed the mbuf pool.


Revision tags: OPENBSD_5_6_BASE
# 1.32 02-Jul-2014 dlg

info about pools is currently given to userland by copying each
pools struct out. however, struct pool in the kernel contains lots
of things that userland probably isnt interested in, like actual
mutexes, and probably shouldnt get easy access to, like pointers
to kernel memory via all the lists/trees.

this implements a kinfo_pool structure that has only the data that
userland needs to know about. it cuts the sysctl code over to
building it from struct pool as required and copying that out
instead, and cuts userland over to only handling kinfo_pool.

the only problem with this is vmstat, which can read kernel images
via kvm, which needs some understanding of struct pool. to cope,
the struct pool definition is guarded by if defined(_KERNEL) ||
defined(_LIBKVM) as inspired by sysctl which needs to do the same
thing sometimes. struct pool itself is generally not visible to
userland though, which is good.

matthew@ suggested struct kinfo_pool instead of struct pool_info.
the kinfo prefix has precedent.
lots of people liked this.


Revision tags: OPENBSD_4_8_BASE OPENBSD_4_9_BASE OPENBSD_5_0_BASE OPENBSD_5_1_BASE OPENBSD_5_2_BASE OPENBSD_5_3_BASE OPENBSD_5_4_BASE OPENBSD_5_5_BASE
# 1.31 08-Jul-2010 lum

Remove references to kvm.
ok claudio@


Revision tags: OPENBSD_4_6_BASE OPENBSD_4_7_BASE
# 1.30 25-Jun-2009 deraadt

do not use nitems(); ok claudio


Revision tags: OPENBSD_4_5_BASE
# 1.29 27-Jan-2009 claudio

Fix some interger overflows when accounting the used mbuf memory percentage
and while there use a better type for the plural{,es}() functions.
OK henning@


# 1.28 04-Dec-2008 deraadt

... but without the debug code


# 1.27 04-Dec-2008 deraadt

correctly display information for each of the mbuf cluster pools (which
have different sizes)
ok dlg


Revision tags: OPENBSD_4_3_BASE OPENBSD_4_4_BASE
# 1.26 19-Dec-2007 deraadt

delete rcsid crud


# 1.25 11-Dec-2007 deraadt

mbuf stats are always gotten via sysctl(), so remove old nlist stuff
ok claudio pyr


Revision tags: OPENBSD_3_9_BASE OPENBSD_4_0_BASE OPENBSD_4_1_BASE OPENBSD_4_2_BASE
# 1.24 21-Dec-2005 millert

Userland programs should include <errno.h> not <sys/errno.h>
OK deraadt@


Revision tags: OPENBSD_3_8_BASE
# 1.23 23-May-2005 marius

remove dead and wrong code.


# 1.22 25-Mar-2005 jaredy

kill unneeded (char *) casts. ok millert, otto


Revision tags: OPENBSD_3_6_BASE OPENBSD_3_7_BASE
# 1.21 16-Apr-2004 tedu

print clusters, not pages. half from millert@ ok deraadt@ millert@


Revision tags: OPENBSD_3_4_BASE OPENBSD_3_5_BASE
# 1.20 19-Aug-2003 mickey

number of mbuf clusters is not the same as number of pages allocated for 'em; noticed by dsb@uvm.poi.dvo.ru


# 1.19 03-Jun-2003 millert

Remove the advertising clause in the UCB license which Berkeley
rescinded 22 July 1999. Proofed by myself and Theo.


Revision tags: OPENBSD_3_3_BASE
# 1.18 21-Mar-2003 pb

change 'netstat -m' output from:
0/28 mapped pages in use
to
0/14/1024 mbuf cluster pages in use (current/peak/max)

ok henning@, millert@


# 1.17 01-Feb-2003 deraadt

ansi


Revision tags: OPENBSD_3_2_BASE
# 1.16 30-Jun-2002 angelos

Correctly retrieve mbuf statistics from the kernel.


# 1.15 24-Jun-2002 angelos

KERN_POOL_POOL, not KERN_POOL_NPOOLS --- I wonder how this was not
observed. From dfa@solo.ee and dsb@nt.pin.dvgu.ru


# 1.14 18-Jun-2002 deraadt

pull in missing includes


# 1.13 09-Jun-2002 angelos

Begin some sysctl-ization.


Revision tags: OPENBSD_3_1_BASE
# 1.12 23-Feb-2002 art

No more POOL_EXPOSE.


# 1.11 17-Jan-2002 mickey

evil, annoying spaces and tabs


# 1.10 15-Jan-2002 art

minor simplification in preparation for a future change.


# 1.9 19-Nov-2001 mpech

kill more registers

millert@ ok


Revision tags: OPENBSD_3_0_BASE
# 1.8 18-May-2001 provos

adapt to use pool


Revision tags: OPENBSD_2_5_BASE OPENBSD_2_6_BASE OPENBSD_2_7_BASE OPENBSD_2_8_BASE OPENBSD_2_9_BASE
# 1.7 27-Feb-1999 deraadt

do not divide by zero; helbig@Informatik.BA-Stuttgart.DE


Revision tags: OPENBSD_2_2_BASE OPENBSD_2_3_BASE OPENBSD_2_4_BASE
# 1.6 23-Jul-1997 denny

Update for new <sys/mbuf.h>


# 1.5 29-Jun-1997 millert

Use correct spacing on both 32bit and 64bit machines.


# 1.4 29-Jun-1997 millert

Mostly clean -Wall + 64bit issues.


Revision tags: OPENBSD_2_0_BASE OPENBSD_2_1_BASE
# 1.3 26-Jun-1996 deraadt

rcsid


# 1.2 10-May-1996 deraadt

if_name/if_unit -> if_xname/if_softc
network list is a TAILQ


# 1.1 18-Oct-1995 deraadt

branches: 1.1.1;
Initial revision


# 1.44 07-Jul-2023 yasuoka

Expand the counters in struct mbstat from u_short to u_long.

ok blumn mvs


Revision tags: OPENBSD_6_6_BASE OPENBSD_6_7_BASE OPENBSD_6_8_BASE OPENBSD_6_9_BASE OPENBSD_7_0_BASE OPENBSD_7_1_BASE OPENBSD_7_2_BASE OPENBSD_7_3_BASE
# 1.43 16-Jul-2019 bluhm

Prevent integer overflow in kernel and userland when checking mbuf
limits. Convert kernel variables and calculations for mbuf memory
into long to allow larger values on 64 bit machines. Put a range
check into the kernel sysctl. For the interface itself int is still
sufficient. In netstat -m cast all multiplications to unsigned
long to hold the product of two unsigned int.
input and OK visa@


# 1.42 28-Jun-2019 deraadt

When system calls indicate an error they return -1, not some arbitrary
value < 0. errno is only updated in this case. Change all (most?)
callers of syscalls to follow this better, and let's see if this strictness
helps us in the future.


# 1.41 13-Jun-2019 bluhm

Do memory size calculations as unsigned long. Otherwise
netstat -m would print the result of a signed interger overflow
if kern.maxclusters is 1048576 or above.
OK claudio@


Revision tags: OPENBSD_6_3_BASE OPENBSD_6_4_BASE OPENBSD_6_5_BASE
# 1.40 28-Oct-2017 mikeb

Bring "netstat -m" output up to speed with the kernel

The kernel no longer sets watermarks on cluster pools rendering
"max" values useless. Instead, there's now a global limit on how
much memory all cluster pools combined together can allocate from
the system. The limit is set to kern.maxclusters number of 2Kb
increments which allows us to display current, peak and maximum
total memory used by the network.

OK claudio, millert


Revision tags: OPENBSD_6_1_BASE OPENBSD_6_2_BASE
# 1.39 04-Feb-2017 jsg

Include netinet/in.h for in_addr_t now it has moved out of sys/types.h.
gcc warned about this, clang fatally errored.


# 1.38 28-Oct-2016 dlg

there's a new mbuf cluster pool.


Revision tags: OPENBSD_6_0_BASE
# 1.37 04-Apr-2016 sthen

Add sys/queue.h where it's needed. Unbreak userland following recent
removal from mbuf.h. ok mpi@


Revision tags: OPENBSD_5_9_BASE
# 1.36 04-Sep-2015 mpi

Fix mbuf memory accounting after recent *8 pool size change.

Use the ``pr_pgsize'' argument instead of assuming that pool page
sizes are identical to the value returned by getpagesize(3).

Issue reported by trondd <trondd AT kagu-tsuchi DOT com> on tech@.

ok millert@, tedu@


Revision tags: OPENBSD_5_7_BASE OPENBSD_5_8_BASE
# 1.35 20-Jan-2015 deraadt

Adjust <sys/param.h> comments regarding use of use of MSIZE, or
delete <sys/param.h> if now possible
ok guenther


# 1.34 16-Jan-2015 deraadt

Replace <sys/param.h> with <limits.h> and other less dirty headers where
possible. Annotate <sys/param.h> lines with their current reasons. Switch
to PATH_MAX, NGROUPS_MAX, HOST_NAME_MAX+1, LOGIN_NAME_MAX, etc. Change
MIN() and MAX() to local definitions of MINIMUM() and MAXIMUM() where
sensible to avoid pulling in the pollution. These are the files confirmed
through binary verification.
ok guenther, millert, doug (helped with the verification protocol)


# 1.33 06-Nov-2014 dlg

i renamed the mbuf pool.


Revision tags: OPENBSD_5_6_BASE
# 1.32 02-Jul-2014 dlg

info about pools is currently given to userland by copying each
pools struct out. however, struct pool in the kernel contains lots
of things that userland probably isnt interested in, like actual
mutexes, and probably shouldnt get easy access to, like pointers
to kernel memory via all the lists/trees.

this implements a kinfo_pool structure that has only the data that
userland needs to know about. it cuts the sysctl code over to
building it from struct pool as required and copying that out
instead, and cuts userland over to only handling kinfo_pool.

the only problem with this is vmstat, which can read kernel images
via kvm, which needs some understanding of struct pool. to cope,
the struct pool definition is guarded by if defined(_KERNEL) ||
defined(_LIBKVM) as inspired by sysctl which needs to do the same
thing sometimes. struct pool itself is generally not visible to
userland though, which is good.

matthew@ suggested struct kinfo_pool instead of struct pool_info.
the kinfo prefix has precedent.
lots of people liked this.


Revision tags: OPENBSD_4_8_BASE OPENBSD_4_9_BASE OPENBSD_5_0_BASE OPENBSD_5_1_BASE OPENBSD_5_2_BASE OPENBSD_5_3_BASE OPENBSD_5_4_BASE OPENBSD_5_5_BASE
# 1.31 08-Jul-2010 lum

Remove references to kvm.
ok claudio@


Revision tags: OPENBSD_4_6_BASE OPENBSD_4_7_BASE
# 1.30 25-Jun-2009 deraadt

do not use nitems(); ok claudio


Revision tags: OPENBSD_4_5_BASE
# 1.29 27-Jan-2009 claudio

Fix some interger overflows when accounting the used mbuf memory percentage
and while there use a better type for the plural{,es}() functions.
OK henning@


# 1.28 04-Dec-2008 deraadt

... but without the debug code


# 1.27 04-Dec-2008 deraadt

correctly display information for each of the mbuf cluster pools (which
have different sizes)
ok dlg


Revision tags: OPENBSD_4_3_BASE OPENBSD_4_4_BASE
# 1.26 19-Dec-2007 deraadt

delete rcsid crud


# 1.25 11-Dec-2007 deraadt

mbuf stats are always gotten via sysctl(), so remove old nlist stuff
ok claudio pyr


Revision tags: OPENBSD_3_9_BASE OPENBSD_4_0_BASE OPENBSD_4_1_BASE OPENBSD_4_2_BASE
# 1.24 21-Dec-2005 millert

Userland programs should include <errno.h> not <sys/errno.h>
OK deraadt@


Revision tags: OPENBSD_3_8_BASE
# 1.23 23-May-2005 marius

remove dead and wrong code.


# 1.22 25-Mar-2005 jaredy

kill unneeded (char *) casts. ok millert, otto


Revision tags: OPENBSD_3_6_BASE OPENBSD_3_7_BASE
# 1.21 16-Apr-2004 tedu

print clusters, not pages. half from millert@ ok deraadt@ millert@


Revision tags: OPENBSD_3_4_BASE OPENBSD_3_5_BASE
# 1.20 19-Aug-2003 mickey

number of mbuf clusters is not the same as number of pages allocated for 'em; noticed by dsb@uvm.poi.dvo.ru


# 1.19 03-Jun-2003 millert

Remove the advertising clause in the UCB license which Berkeley
rescinded 22 July 1999. Proofed by myself and Theo.


Revision tags: OPENBSD_3_3_BASE
# 1.18 21-Mar-2003 pb

change 'netstat -m' output from:
0/28 mapped pages in use
to
0/14/1024 mbuf cluster pages in use (current/peak/max)

ok henning@, millert@


# 1.17 01-Feb-2003 deraadt

ansi


Revision tags: OPENBSD_3_2_BASE
# 1.16 30-Jun-2002 angelos

Correctly retrieve mbuf statistics from the kernel.


# 1.15 24-Jun-2002 angelos

KERN_POOL_POOL, not KERN_POOL_NPOOLS --- I wonder how this was not
observed. From dfa@solo.ee and dsb@nt.pin.dvgu.ru


# 1.14 18-Jun-2002 deraadt

pull in missing includes


# 1.13 09-Jun-2002 angelos

Begin some sysctl-ization.


Revision tags: OPENBSD_3_1_BASE
# 1.12 23-Feb-2002 art

No more POOL_EXPOSE.


# 1.11 17-Jan-2002 mickey

evil, annoying spaces and tabs


# 1.10 15-Jan-2002 art

minor simplification in preparation for a future change.


# 1.9 19-Nov-2001 mpech

kill more registers

millert@ ok


Revision tags: OPENBSD_3_0_BASE
# 1.8 18-May-2001 provos

adapt to use pool


Revision tags: OPENBSD_2_5_BASE OPENBSD_2_6_BASE OPENBSD_2_7_BASE OPENBSD_2_8_BASE OPENBSD_2_9_BASE
# 1.7 27-Feb-1999 deraadt

do not divide by zero; helbig@Informatik.BA-Stuttgart.DE


Revision tags: OPENBSD_2_2_BASE OPENBSD_2_3_BASE OPENBSD_2_4_BASE
# 1.6 23-Jul-1997 denny

Update for new <sys/mbuf.h>


# 1.5 29-Jun-1997 millert

Use correct spacing on both 32bit and 64bit machines.


# 1.4 29-Jun-1997 millert

Mostly clean -Wall + 64bit issues.


Revision tags: OPENBSD_2_0_BASE OPENBSD_2_1_BASE
# 1.3 26-Jun-1996 deraadt

rcsid


# 1.2 10-May-1996 deraadt

if_name/if_unit -> if_xname/if_softc
network list is a TAILQ


# 1.1 18-Oct-1995 deraadt

branches: 1.1.1;
Initial revision


# 1.43 16-Jul-2019 bluhm

Prevent integer overflow in kernel and userland when checking mbuf
limits. Convert kernel variables and calculations for mbuf memory
into long to allow larger values on 64 bit machines. Put a range
check into the kernel sysctl. For the interface itself int is still
sufficient. In netstat -m cast all multiplications to unsigned
long to hold the product of two unsigned int.
input and OK visa@


# 1.42 28-Jun-2019 deraadt

When system calls indicate an error they return -1, not some arbitrary
value < 0. errno is only updated in this case. Change all (most?)
callers of syscalls to follow this better, and let's see if this strictness
helps us in the future.


# 1.41 13-Jun-2019 bluhm

Do memory size calculations as unsigned long. Otherwise
netstat -m would print the result of a signed interger overflow
if kern.maxclusters is 1048576 or above.
OK claudio@


Revision tags: OPENBSD_6_3_BASE OPENBSD_6_4_BASE OPENBSD_6_5_BASE
# 1.40 28-Oct-2017 mikeb

Bring "netstat -m" output up to speed with the kernel

The kernel no longer sets watermarks on cluster pools rendering
"max" values useless. Instead, there's now a global limit on how
much memory all cluster pools combined together can allocate from
the system. The limit is set to kern.maxclusters number of 2Kb
increments which allows us to display current, peak and maximum
total memory used by the network.

OK claudio, millert


Revision tags: OPENBSD_6_1_BASE OPENBSD_6_2_BASE
# 1.39 04-Feb-2017 jsg

Include netinet/in.h for in_addr_t now it has moved out of sys/types.h.
gcc warned about this, clang fatally errored.


# 1.38 28-Oct-2016 dlg

there's a new mbuf cluster pool.


Revision tags: OPENBSD_6_0_BASE
# 1.37 04-Apr-2016 sthen

Add sys/queue.h where it's needed. Unbreak userland following recent
removal from mbuf.h. ok mpi@


Revision tags: OPENBSD_5_9_BASE
# 1.36 04-Sep-2015 mpi

Fix mbuf memory accounting after recent *8 pool size change.

Use the ``pr_pgsize'' argument instead of assuming that pool page
sizes are identical to the value returned by getpagesize(3).

Issue reported by trondd <trondd AT kagu-tsuchi DOT com> on tech@.

ok millert@, tedu@


Revision tags: OPENBSD_5_7_BASE OPENBSD_5_8_BASE
# 1.35 20-Jan-2015 deraadt

Adjust <sys/param.h> comments regarding use of use of MSIZE, or
delete <sys/param.h> if now possible
ok guenther


# 1.34 16-Jan-2015 deraadt

Replace <sys/param.h> with <limits.h> and other less dirty headers where
possible. Annotate <sys/param.h> lines with their current reasons. Switch
to PATH_MAX, NGROUPS_MAX, HOST_NAME_MAX+1, LOGIN_NAME_MAX, etc. Change
MIN() and MAX() to local definitions of MINIMUM() and MAXIMUM() where
sensible to avoid pulling in the pollution. These are the files confirmed
through binary verification.
ok guenther, millert, doug (helped with the verification protocol)


# 1.33 06-Nov-2014 dlg

i renamed the mbuf pool.


Revision tags: OPENBSD_5_6_BASE
# 1.32 02-Jul-2014 dlg

info about pools is currently given to userland by copying each
pools struct out. however, struct pool in the kernel contains lots
of things that userland probably isnt interested in, like actual
mutexes, and probably shouldnt get easy access to, like pointers
to kernel memory via all the lists/trees.

this implements a kinfo_pool structure that has only the data that
userland needs to know about. it cuts the sysctl code over to
building it from struct pool as required and copying that out
instead, and cuts userland over to only handling kinfo_pool.

the only problem with this is vmstat, which can read kernel images
via kvm, which needs some understanding of struct pool. to cope,
the struct pool definition is guarded by if defined(_KERNEL) ||
defined(_LIBKVM) as inspired by sysctl which needs to do the same
thing sometimes. struct pool itself is generally not visible to
userland though, which is good.

matthew@ suggested struct kinfo_pool instead of struct pool_info.
the kinfo prefix has precedent.
lots of people liked this.


Revision tags: OPENBSD_4_8_BASE OPENBSD_4_9_BASE OPENBSD_5_0_BASE OPENBSD_5_1_BASE OPENBSD_5_2_BASE OPENBSD_5_3_BASE OPENBSD_5_4_BASE OPENBSD_5_5_BASE
# 1.31 08-Jul-2010 lum

Remove references to kvm.
ok claudio@


Revision tags: OPENBSD_4_6_BASE OPENBSD_4_7_BASE
# 1.30 25-Jun-2009 deraadt

do not use nitems(); ok claudio


Revision tags: OPENBSD_4_5_BASE
# 1.29 27-Jan-2009 claudio

Fix some interger overflows when accounting the used mbuf memory percentage
and while there use a better type for the plural{,es}() functions.
OK henning@


# 1.28 04-Dec-2008 deraadt

... but without the debug code


# 1.27 04-Dec-2008 deraadt

correctly display information for each of the mbuf cluster pools (which
have different sizes)
ok dlg


Revision tags: OPENBSD_4_3_BASE OPENBSD_4_4_BASE
# 1.26 19-Dec-2007 deraadt

delete rcsid crud


# 1.25 11-Dec-2007 deraadt

mbuf stats are always gotten via sysctl(), so remove old nlist stuff
ok claudio pyr


Revision tags: OPENBSD_3_9_BASE OPENBSD_4_0_BASE OPENBSD_4_1_BASE OPENBSD_4_2_BASE
# 1.24 21-Dec-2005 millert

Userland programs should include <errno.h> not <sys/errno.h>
OK deraadt@


Revision tags: OPENBSD_3_8_BASE
# 1.23 23-May-2005 marius

remove dead and wrong code.


# 1.22 25-Mar-2005 jaredy

kill unneeded (char *) casts. ok millert, otto


Revision tags: OPENBSD_3_6_BASE OPENBSD_3_7_BASE
# 1.21 16-Apr-2004 tedu

print clusters, not pages. half from millert@ ok deraadt@ millert@


Revision tags: OPENBSD_3_4_BASE OPENBSD_3_5_BASE
# 1.20 19-Aug-2003 mickey

number of mbuf clusters is not the same as number of pages allocated for 'em; noticed by dsb@uvm.poi.dvo.ru


# 1.19 03-Jun-2003 millert

Remove the advertising clause in the UCB license which Berkeley
rescinded 22 July 1999. Proofed by myself and Theo.


Revision tags: OPENBSD_3_3_BASE
# 1.18 21-Mar-2003 pb

change 'netstat -m' output from:
0/28 mapped pages in use
to
0/14/1024 mbuf cluster pages in use (current/peak/max)

ok henning@, millert@


# 1.17 01-Feb-2003 deraadt

ansi


Revision tags: OPENBSD_3_2_BASE
# 1.16 30-Jun-2002 angelos

Correctly retrieve mbuf statistics from the kernel.


# 1.15 24-Jun-2002 angelos

KERN_POOL_POOL, not KERN_POOL_NPOOLS --- I wonder how this was not
observed. From dfa@solo.ee and dsb@nt.pin.dvgu.ru


# 1.14 18-Jun-2002 deraadt

pull in missing includes


# 1.13 09-Jun-2002 angelos

Begin some sysctl-ization.


Revision tags: OPENBSD_3_1_BASE
# 1.12 23-Feb-2002 art

No more POOL_EXPOSE.


# 1.11 17-Jan-2002 mickey

evil, annoying spaces and tabs


# 1.10 15-Jan-2002 art

minor simplification in preparation for a future change.


# 1.9 19-Nov-2001 mpech

kill more registers

millert@ ok


Revision tags: OPENBSD_3_0_BASE
# 1.8 18-May-2001 provos

adapt to use pool


Revision tags: OPENBSD_2_5_BASE OPENBSD_2_6_BASE OPENBSD_2_7_BASE OPENBSD_2_8_BASE OPENBSD_2_9_BASE
# 1.7 27-Feb-1999 deraadt

do not divide by zero; helbig@Informatik.BA-Stuttgart.DE


Revision tags: OPENBSD_2_2_BASE OPENBSD_2_3_BASE OPENBSD_2_4_BASE
# 1.6 23-Jul-1997 denny

Update for new <sys/mbuf.h>


# 1.5 29-Jun-1997 millert

Use correct spacing on both 32bit and 64bit machines.


# 1.4 29-Jun-1997 millert

Mostly clean -Wall + 64bit issues.


Revision tags: OPENBSD_2_0_BASE OPENBSD_2_1_BASE
# 1.3 26-Jun-1996 deraadt

rcsid


# 1.2 10-May-1996 deraadt

if_name/if_unit -> if_xname/if_softc
network list is a TAILQ


# 1.1 18-Oct-1995 deraadt

branches: 1.1.1;
Initial revision


# 1.42 28-Jun-2019 deraadt

When system calls indicate an error they return -1, not some arbitrary
value < 0. errno is only updated in this case. Change all (most?)
callers of syscalls to follow this better, and let's see if this strictness
helps us in the future.


# 1.41 13-Jun-2019 bluhm

Do memory size calculations as unsigned long. Otherwise
netstat -m would print the result of a signed interger overflow
if kern.maxclusters is 1048576 or above.
OK claudio@


Revision tags: OPENBSD_6_3_BASE OPENBSD_6_4_BASE OPENBSD_6_5_BASE
# 1.40 28-Oct-2017 mikeb

Bring "netstat -m" output up to speed with the kernel

The kernel no longer sets watermarks on cluster pools rendering
"max" values useless. Instead, there's now a global limit on how
much memory all cluster pools combined together can allocate from
the system. The limit is set to kern.maxclusters number of 2Kb
increments which allows us to display current, peak and maximum
total memory used by the network.

OK claudio, millert


Revision tags: OPENBSD_6_1_BASE OPENBSD_6_2_BASE
# 1.39 04-Feb-2017 jsg

Include netinet/in.h for in_addr_t now it has moved out of sys/types.h.
gcc warned about this, clang fatally errored.


# 1.38 28-Oct-2016 dlg

there's a new mbuf cluster pool.


Revision tags: OPENBSD_6_0_BASE
# 1.37 04-Apr-2016 sthen

Add sys/queue.h where it's needed. Unbreak userland following recent
removal from mbuf.h. ok mpi@


Revision tags: OPENBSD_5_9_BASE
# 1.36 04-Sep-2015 mpi

Fix mbuf memory accounting after recent *8 pool size change.

Use the ``pr_pgsize'' argument instead of assuming that pool page
sizes are identical to the value returned by getpagesize(3).

Issue reported by trondd <trondd AT kagu-tsuchi DOT com> on tech@.

ok millert@, tedu@


Revision tags: OPENBSD_5_7_BASE OPENBSD_5_8_BASE
# 1.35 20-Jan-2015 deraadt

Adjust <sys/param.h> comments regarding use of use of MSIZE, or
delete <sys/param.h> if now possible
ok guenther


# 1.34 16-Jan-2015 deraadt

Replace <sys/param.h> with <limits.h> and other less dirty headers where
possible. Annotate <sys/param.h> lines with their current reasons. Switch
to PATH_MAX, NGROUPS_MAX, HOST_NAME_MAX+1, LOGIN_NAME_MAX, etc. Change
MIN() and MAX() to local definitions of MINIMUM() and MAXIMUM() where
sensible to avoid pulling in the pollution. These are the files confirmed
through binary verification.
ok guenther, millert, doug (helped with the verification protocol)


# 1.33 06-Nov-2014 dlg

i renamed the mbuf pool.


Revision tags: OPENBSD_5_6_BASE
# 1.32 02-Jul-2014 dlg

info about pools is currently given to userland by copying each
pools struct out. however, struct pool in the kernel contains lots
of things that userland probably isnt interested in, like actual
mutexes, and probably shouldnt get easy access to, like pointers
to kernel memory via all the lists/trees.

this implements a kinfo_pool structure that has only the data that
userland needs to know about. it cuts the sysctl code over to
building it from struct pool as required and copying that out
instead, and cuts userland over to only handling kinfo_pool.

the only problem with this is vmstat, which can read kernel images
via kvm, which needs some understanding of struct pool. to cope,
the struct pool definition is guarded by if defined(_KERNEL) ||
defined(_LIBKVM) as inspired by sysctl which needs to do the same
thing sometimes. struct pool itself is generally not visible to
userland though, which is good.

matthew@ suggested struct kinfo_pool instead of struct pool_info.
the kinfo prefix has precedent.
lots of people liked this.


Revision tags: OPENBSD_4_8_BASE OPENBSD_4_9_BASE OPENBSD_5_0_BASE OPENBSD_5_1_BASE OPENBSD_5_2_BASE OPENBSD_5_3_BASE OPENBSD_5_4_BASE OPENBSD_5_5_BASE
# 1.31 08-Jul-2010 lum

Remove references to kvm.
ok claudio@


Revision tags: OPENBSD_4_6_BASE OPENBSD_4_7_BASE
# 1.30 25-Jun-2009 deraadt

do not use nitems(); ok claudio


Revision tags: OPENBSD_4_5_BASE
# 1.29 27-Jan-2009 claudio

Fix some interger overflows when accounting the used mbuf memory percentage
and while there use a better type for the plural{,es}() functions.
OK henning@


# 1.28 04-Dec-2008 deraadt

... but without the debug code


# 1.27 04-Dec-2008 deraadt

correctly display information for each of the mbuf cluster pools (which
have different sizes)
ok dlg


Revision tags: OPENBSD_4_3_BASE OPENBSD_4_4_BASE
# 1.26 19-Dec-2007 deraadt

delete rcsid crud


# 1.25 11-Dec-2007 deraadt

mbuf stats are always gotten via sysctl(), so remove old nlist stuff
ok claudio pyr


Revision tags: OPENBSD_3_9_BASE OPENBSD_4_0_BASE OPENBSD_4_1_BASE OPENBSD_4_2_BASE
# 1.24 21-Dec-2005 millert

Userland programs should include <errno.h> not <sys/errno.h>
OK deraadt@


Revision tags: OPENBSD_3_8_BASE
# 1.23 23-May-2005 marius

remove dead and wrong code.


# 1.22 25-Mar-2005 jaredy

kill unneeded (char *) casts. ok millert, otto


Revision tags: OPENBSD_3_6_BASE OPENBSD_3_7_BASE
# 1.21 16-Apr-2004 tedu

print clusters, not pages. half from millert@ ok deraadt@ millert@


Revision tags: OPENBSD_3_4_BASE OPENBSD_3_5_BASE
# 1.20 19-Aug-2003 mickey

number of mbuf clusters is not the same as number of pages allocated for 'em; noticed by dsb@uvm.poi.dvo.ru


# 1.19 03-Jun-2003 millert

Remove the advertising clause in the UCB license which Berkeley
rescinded 22 July 1999. Proofed by myself and Theo.


Revision tags: OPENBSD_3_3_BASE
# 1.18 21-Mar-2003 pb

change 'netstat -m' output from:
0/28 mapped pages in use
to
0/14/1024 mbuf cluster pages in use (current/peak/max)

ok henning@, millert@


# 1.17 01-Feb-2003 deraadt

ansi


Revision tags: OPENBSD_3_2_BASE
# 1.16 30-Jun-2002 angelos

Correctly retrieve mbuf statistics from the kernel.


# 1.15 24-Jun-2002 angelos

KERN_POOL_POOL, not KERN_POOL_NPOOLS --- I wonder how this was not
observed. From dfa@solo.ee and dsb@nt.pin.dvgu.ru


# 1.14 18-Jun-2002 deraadt

pull in missing includes


# 1.13 09-Jun-2002 angelos

Begin some sysctl-ization.


Revision tags: OPENBSD_3_1_BASE
# 1.12 23-Feb-2002 art

No more POOL_EXPOSE.


# 1.11 17-Jan-2002 mickey

evil, annoying spaces and tabs


# 1.10 15-Jan-2002 art

minor simplification in preparation for a future change.


# 1.9 19-Nov-2001 mpech

kill more registers

millert@ ok


Revision tags: OPENBSD_3_0_BASE
# 1.8 18-May-2001 provos

adapt to use pool


Revision tags: OPENBSD_2_5_BASE OPENBSD_2_6_BASE OPENBSD_2_7_BASE OPENBSD_2_8_BASE OPENBSD_2_9_BASE
# 1.7 27-Feb-1999 deraadt

do not divide by zero; helbig@Informatik.BA-Stuttgart.DE


Revision tags: OPENBSD_2_2_BASE OPENBSD_2_3_BASE OPENBSD_2_4_BASE
# 1.6 23-Jul-1997 denny

Update for new <sys/mbuf.h>


# 1.5 29-Jun-1997 millert

Use correct spacing on both 32bit and 64bit machines.


# 1.4 29-Jun-1997 millert

Mostly clean -Wall + 64bit issues.


Revision tags: OPENBSD_2_0_BASE OPENBSD_2_1_BASE
# 1.3 26-Jun-1996 deraadt

rcsid


# 1.2 10-May-1996 deraadt

if_name/if_unit -> if_xname/if_softc
network list is a TAILQ


# 1.1 18-Oct-1995 deraadt

branches: 1.1.1;
Initial revision


# 1.41 13-Jun-2019 bluhm

Do memory size calculations as unsigned long. Otherwise
netstat -m would print the result of a signed interger overflow
if kern.maxclusters is 1048576 or above.
OK claudio@


Revision tags: OPENBSD_6_3_BASE OPENBSD_6_4_BASE OPENBSD_6_5_BASE
# 1.40 28-Oct-2017 mikeb

Bring "netstat -m" output up to speed with the kernel

The kernel no longer sets watermarks on cluster pools rendering
"max" values useless. Instead, there's now a global limit on how
much memory all cluster pools combined together can allocate from
the system. The limit is set to kern.maxclusters number of 2Kb
increments which allows us to display current, peak and maximum
total memory used by the network.

OK claudio, millert


Revision tags: OPENBSD_6_1_BASE OPENBSD_6_2_BASE
# 1.39 04-Feb-2017 jsg

Include netinet/in.h for in_addr_t now it has moved out of sys/types.h.
gcc warned about this, clang fatally errored.


# 1.38 28-Oct-2016 dlg

there's a new mbuf cluster pool.


Revision tags: OPENBSD_6_0_BASE
# 1.37 04-Apr-2016 sthen

Add sys/queue.h where it's needed. Unbreak userland following recent
removal from mbuf.h. ok mpi@


Revision tags: OPENBSD_5_9_BASE
# 1.36 04-Sep-2015 mpi

Fix mbuf memory accounting after recent *8 pool size change.

Use the ``pr_pgsize'' argument instead of assuming that pool page
sizes are identical to the value returned by getpagesize(3).

Issue reported by trondd <trondd AT kagu-tsuchi DOT com> on tech@.

ok millert@, tedu@


Revision tags: OPENBSD_5_7_BASE OPENBSD_5_8_BASE
# 1.35 20-Jan-2015 deraadt

Adjust <sys/param.h> comments regarding use of use of MSIZE, or
delete <sys/param.h> if now possible
ok guenther


# 1.34 16-Jan-2015 deraadt

Replace <sys/param.h> with <limits.h> and other less dirty headers where
possible. Annotate <sys/param.h> lines with their current reasons. Switch
to PATH_MAX, NGROUPS_MAX, HOST_NAME_MAX+1, LOGIN_NAME_MAX, etc. Change
MIN() and MAX() to local definitions of MINIMUM() and MAXIMUM() where
sensible to avoid pulling in the pollution. These are the files confirmed
through binary verification.
ok guenther, millert, doug (helped with the verification protocol)


# 1.33 06-Nov-2014 dlg

i renamed the mbuf pool.


Revision tags: OPENBSD_5_6_BASE
# 1.32 02-Jul-2014 dlg

info about pools is currently given to userland by copying each
pools struct out. however, struct pool in the kernel contains lots
of things that userland probably isnt interested in, like actual
mutexes, and probably shouldnt get easy access to, like pointers
to kernel memory via all the lists/trees.

this implements a kinfo_pool structure that has only the data that
userland needs to know about. it cuts the sysctl code over to
building it from struct pool as required and copying that out
instead, and cuts userland over to only handling kinfo_pool.

the only problem with this is vmstat, which can read kernel images
via kvm, which needs some understanding of struct pool. to cope,
the struct pool definition is guarded by if defined(_KERNEL) ||
defined(_LIBKVM) as inspired by sysctl which needs to do the same
thing sometimes. struct pool itself is generally not visible to
userland though, which is good.

matthew@ suggested struct kinfo_pool instead of struct pool_info.
the kinfo prefix has precedent.
lots of people liked this.


Revision tags: OPENBSD_4_8_BASE OPENBSD_4_9_BASE OPENBSD_5_0_BASE OPENBSD_5_1_BASE OPENBSD_5_2_BASE OPENBSD_5_3_BASE OPENBSD_5_4_BASE OPENBSD_5_5_BASE
# 1.31 08-Jul-2010 lum

Remove references to kvm.
ok claudio@


Revision tags: OPENBSD_4_6_BASE OPENBSD_4_7_BASE
# 1.30 25-Jun-2009 deraadt

do not use nitems(); ok claudio


Revision tags: OPENBSD_4_5_BASE
# 1.29 27-Jan-2009 claudio

Fix some interger overflows when accounting the used mbuf memory percentage
and while there use a better type for the plural{,es}() functions.
OK henning@


# 1.28 04-Dec-2008 deraadt

... but without the debug code


# 1.27 04-Dec-2008 deraadt

correctly display information for each of the mbuf cluster pools (which
have different sizes)
ok dlg


Revision tags: OPENBSD_4_3_BASE OPENBSD_4_4_BASE
# 1.26 19-Dec-2007 deraadt

delete rcsid crud


# 1.25 11-Dec-2007 deraadt

mbuf stats are always gotten via sysctl(), so remove old nlist stuff
ok claudio pyr


Revision tags: OPENBSD_3_9_BASE OPENBSD_4_0_BASE OPENBSD_4_1_BASE OPENBSD_4_2_BASE
# 1.24 21-Dec-2005 millert

Userland programs should include <errno.h> not <sys/errno.h>
OK deraadt@


Revision tags: OPENBSD_3_8_BASE
# 1.23 23-May-2005 marius

remove dead and wrong code.


# 1.22 25-Mar-2005 jaredy

kill unneeded (char *) casts. ok millert, otto


Revision tags: OPENBSD_3_6_BASE OPENBSD_3_7_BASE
# 1.21 16-Apr-2004 tedu

print clusters, not pages. half from millert@ ok deraadt@ millert@


Revision tags: OPENBSD_3_4_BASE OPENBSD_3_5_BASE
# 1.20 19-Aug-2003 mickey

number of mbuf clusters is not the same as number of pages allocated for 'em; noticed by dsb@uvm.poi.dvo.ru


# 1.19 03-Jun-2003 millert

Remove the advertising clause in the UCB license which Berkeley
rescinded 22 July 1999. Proofed by myself and Theo.


Revision tags: OPENBSD_3_3_BASE
# 1.18 21-Mar-2003 pb

change 'netstat -m' output from:
0/28 mapped pages in use
to
0/14/1024 mbuf cluster pages in use (current/peak/max)

ok henning@, millert@


# 1.17 01-Feb-2003 deraadt

ansi


Revision tags: OPENBSD_3_2_BASE
# 1.16 30-Jun-2002 angelos

Correctly retrieve mbuf statistics from the kernel.


# 1.15 24-Jun-2002 angelos

KERN_POOL_POOL, not KERN_POOL_NPOOLS --- I wonder how this was not
observed. From dfa@solo.ee and dsb@nt.pin.dvgu.ru


# 1.14 18-Jun-2002 deraadt

pull in missing includes


# 1.13 09-Jun-2002 angelos

Begin some sysctl-ization.


Revision tags: OPENBSD_3_1_BASE
# 1.12 23-Feb-2002 art

No more POOL_EXPOSE.


# 1.11 17-Jan-2002 mickey

evil, annoying spaces and tabs


# 1.10 15-Jan-2002 art

minor simplification in preparation for a future change.


# 1.9 19-Nov-2001 mpech

kill more registers

millert@ ok


Revision tags: OPENBSD_3_0_BASE
# 1.8 18-May-2001 provos

adapt to use pool


Revision tags: OPENBSD_2_5_BASE OPENBSD_2_6_BASE OPENBSD_2_7_BASE OPENBSD_2_8_BASE OPENBSD_2_9_BASE
# 1.7 27-Feb-1999 deraadt

do not divide by zero; helbig@Informatik.BA-Stuttgart.DE


Revision tags: OPENBSD_2_2_BASE OPENBSD_2_3_BASE OPENBSD_2_4_BASE
# 1.6 23-Jul-1997 denny

Update for new <sys/mbuf.h>


# 1.5 29-Jun-1997 millert

Use correct spacing on both 32bit and 64bit machines.


# 1.4 29-Jun-1997 millert

Mostly clean -Wall + 64bit issues.


Revision tags: OPENBSD_2_0_BASE OPENBSD_2_1_BASE
# 1.3 26-Jun-1996 deraadt

rcsid


# 1.2 10-May-1996 deraadt

if_name/if_unit -> if_xname/if_softc
network list is a TAILQ


# 1.1 18-Oct-1995 deraadt

branches: 1.1.1;
Initial revision


# 1.40 28-Oct-2017 mikeb

Bring "netstat -m" output up to speed with the kernel

The kernel no longer sets watermarks on cluster pools rendering
"max" values useless. Instead, there's now a global limit on how
much memory all cluster pools combined together can allocate from
the system. The limit is set to kern.maxclusters number of 2Kb
increments which allows us to display current, peak and maximum
total memory used by the network.

OK claudio, millert


Revision tags: OPENBSD_6_1_BASE OPENBSD_6_2_BASE
# 1.39 04-Feb-2017 jsg

Include netinet/in.h for in_addr_t now it has moved out of sys/types.h.
gcc warned about this, clang fatally errored.


# 1.38 28-Oct-2016 dlg

there's a new mbuf cluster pool.


Revision tags: OPENBSD_6_0_BASE
# 1.37 04-Apr-2016 sthen

Add sys/queue.h where it's needed. Unbreak userland following recent
removal from mbuf.h. ok mpi@


Revision tags: OPENBSD_5_9_BASE
# 1.36 04-Sep-2015 mpi

Fix mbuf memory accounting after recent *8 pool size change.

Use the ``pr_pgsize'' argument instead of assuming that pool page
sizes are identical to the value returned by getpagesize(3).

Issue reported by trondd <trondd AT kagu-tsuchi DOT com> on tech@.

ok millert@, tedu@


Revision tags: OPENBSD_5_7_BASE OPENBSD_5_8_BASE
# 1.35 20-Jan-2015 deraadt

Adjust <sys/param.h> comments regarding use of use of MSIZE, or
delete <sys/param.h> if now possible
ok guenther


# 1.34 16-Jan-2015 deraadt

Replace <sys/param.h> with <limits.h> and other less dirty headers where
possible. Annotate <sys/param.h> lines with their current reasons. Switch
to PATH_MAX, NGROUPS_MAX, HOST_NAME_MAX+1, LOGIN_NAME_MAX, etc. Change
MIN() and MAX() to local definitions of MINIMUM() and MAXIMUM() where
sensible to avoid pulling in the pollution. These are the files confirmed
through binary verification.
ok guenther, millert, doug (helped with the verification protocol)


# 1.33 06-Nov-2014 dlg

i renamed the mbuf pool.


Revision tags: OPENBSD_5_6_BASE
# 1.32 02-Jul-2014 dlg

info about pools is currently given to userland by copying each
pools struct out. however, struct pool in the kernel contains lots
of things that userland probably isnt interested in, like actual
mutexes, and probably shouldnt get easy access to, like pointers
to kernel memory via all the lists/trees.

this implements a kinfo_pool structure that has only the data that
userland needs to know about. it cuts the sysctl code over to
building it from struct pool as required and copying that out
instead, and cuts userland over to only handling kinfo_pool.

the only problem with this is vmstat, which can read kernel images
via kvm, which needs some understanding of struct pool. to cope,
the struct pool definition is guarded by if defined(_KERNEL) ||
defined(_LIBKVM) as inspired by sysctl which needs to do the same
thing sometimes. struct pool itself is generally not visible to
userland though, which is good.

matthew@ suggested struct kinfo_pool instead of struct pool_info.
the kinfo prefix has precedent.
lots of people liked this.


Revision tags: OPENBSD_4_8_BASE OPENBSD_4_9_BASE OPENBSD_5_0_BASE OPENBSD_5_1_BASE OPENBSD_5_2_BASE OPENBSD_5_3_BASE OPENBSD_5_4_BASE OPENBSD_5_5_BASE
# 1.31 08-Jul-2010 lum

Remove references to kvm.
ok claudio@


Revision tags: OPENBSD_4_6_BASE OPENBSD_4_7_BASE
# 1.30 25-Jun-2009 deraadt

do not use nitems(); ok claudio


Revision tags: OPENBSD_4_5_BASE
# 1.29 27-Jan-2009 claudio

Fix some interger overflows when accounting the used mbuf memory percentage
and while there use a better type for the plural{,es}() functions.
OK henning@


# 1.28 04-Dec-2008 deraadt

... but without the debug code


# 1.27 04-Dec-2008 deraadt

correctly display information for each of the mbuf cluster pools (which
have different sizes)
ok dlg


Revision tags: OPENBSD_4_3_BASE OPENBSD_4_4_BASE
# 1.26 19-Dec-2007 deraadt

delete rcsid crud


# 1.25 11-Dec-2007 deraadt

mbuf stats are always gotten via sysctl(), so remove old nlist stuff
ok claudio pyr


Revision tags: OPENBSD_3_9_BASE OPENBSD_4_0_BASE OPENBSD_4_1_BASE OPENBSD_4_2_BASE
# 1.24 21-Dec-2005 millert

Userland programs should include <errno.h> not <sys/errno.h>
OK deraadt@


Revision tags: OPENBSD_3_8_BASE
# 1.23 23-May-2005 marius

remove dead and wrong code.


# 1.22 25-Mar-2005 jaredy

kill unneeded (char *) casts. ok millert, otto


Revision tags: OPENBSD_3_6_BASE OPENBSD_3_7_BASE
# 1.21 16-Apr-2004 tedu

print clusters, not pages. half from millert@ ok deraadt@ millert@


Revision tags: OPENBSD_3_4_BASE OPENBSD_3_5_BASE
# 1.20 19-Aug-2003 mickey

number of mbuf clusters is not the same as number of pages allocated for 'em; noticed by dsb@uvm.poi.dvo.ru


# 1.19 03-Jun-2003 millert

Remove the advertising clause in the UCB license which Berkeley
rescinded 22 July 1999. Proofed by myself and Theo.


Revision tags: OPENBSD_3_3_BASE
# 1.18 21-Mar-2003 pb

change 'netstat -m' output from:
0/28 mapped pages in use
to
0/14/1024 mbuf cluster pages in use (current/peak/max)

ok henning@, millert@


# 1.17 01-Feb-2003 deraadt

ansi


Revision tags: OPENBSD_3_2_BASE
# 1.16 30-Jun-2002 angelos

Correctly retrieve mbuf statistics from the kernel.


# 1.15 24-Jun-2002 angelos

KERN_POOL_POOL, not KERN_POOL_NPOOLS --- I wonder how this was not
observed. From dfa@solo.ee and dsb@nt.pin.dvgu.ru


# 1.14 18-Jun-2002 deraadt

pull in missing includes


# 1.13 09-Jun-2002 angelos

Begin some sysctl-ization.


Revision tags: OPENBSD_3_1_BASE
# 1.12 23-Feb-2002 art

No more POOL_EXPOSE.


# 1.11 17-Jan-2002 mickey

evil, annoying spaces and tabs


# 1.10 15-Jan-2002 art

minor simplification in preparation for a future change.


# 1.9 19-Nov-2001 mpech

kill more registers

millert@ ok


Revision tags: OPENBSD_3_0_BASE
# 1.8 18-May-2001 provos

adapt to use pool


Revision tags: OPENBSD_2_5_BASE OPENBSD_2_6_BASE OPENBSD_2_7_BASE OPENBSD_2_8_BASE OPENBSD_2_9_BASE
# 1.7 27-Feb-1999 deraadt

do not divide by zero; helbig@Informatik.BA-Stuttgart.DE


Revision tags: OPENBSD_2_2_BASE OPENBSD_2_3_BASE OPENBSD_2_4_BASE
# 1.6 23-Jul-1997 denny

Update for new <sys/mbuf.h>


# 1.5 29-Jun-1997 millert

Use correct spacing on both 32bit and 64bit machines.


# 1.4 29-Jun-1997 millert

Mostly clean -Wall + 64bit issues.


Revision tags: OPENBSD_2_0_BASE OPENBSD_2_1_BASE
# 1.3 26-Jun-1996 deraadt

rcsid


# 1.2 10-May-1996 deraadt

if_name/if_unit -> if_xname/if_softc
network list is a TAILQ


# 1.1 18-Oct-1995 deraadt

branches: 1.1.1;
Initial revision