Commit Graph

226 Commits

Author SHA1 Message Date
jdp
86b3836232 Widen struct sockbuf's sb_timeo member to int from short. With
non-default but reasonable values of hz this member overflowed,
breaking NFS over UDP.

Also, as long as I'm plowing up struct sockbuf ... Change certain
members from u_long/long to u_int/int in order to reduce wasted
space on 64-bit machines.  This change was requested by Andrew
Gallatin.

Netstat and systat need to be rebuilt.  I am incrementing
__FreeBSD_version in case any ports need to change.
2002-07-24 03:02:43 +00:00
dillon
62fef107e4 Add the tcps_sndrexmitbad statistic, keep track of late acks that caused
unnecessary retransmissions.
2002-07-19 18:29:38 +00:00
kbyanc
5e26e30d89 Fix incorrect cast. 2002-07-16 05:57:21 +00:00
suz
bf33ab99c5 fixed typo.
obtained from: KAME
MFC after: 3 days
2002-07-03 06:48:12 +00:00
kbyanc
09c2c0c59d Use calculated column widths for the routing table display when -W is
supplied rather than arbitrarily larger widths.  This (almost) guarantees
that no columns will be truncated (routing table additions between the
width calculation and display passes may create a row with column widths
larger than those calculated).

Sponsored by:	NTT Multimedia Communications Labs
2002-06-05 18:29:26 +00:00
silby
322fd076fe Use %lu instead of %ld when printing rt_use (aka rt_rmx.rmx_pksent)
Submitted by:	Andre Oppermann <oppermann@pipeline.ch>
MFC after:	5 days
2002-05-31 04:36:55 +00:00
markm
d4767a7bb1 Cast to kill warnings. De-register. 2002-04-28 12:17:27 +00:00
markm
0f588b9373 fix warnings; change variable/argument names that mask global names. 2002-04-28 12:15:40 +00:00
markm
9302f8d66b Remove GCC-specific flags and commented out cruft. 2002-04-28 12:14:10 +00:00
markm
38c3f4b69a Some easy const fixes. 2002-04-28 12:12:49 +00:00
ru
17619c9cd4 Print IFT_ETHER addresses with ether_ntoa(3) (with leading zeros). 2002-04-06 10:02:20 +00:00
dwmalone
d9613ea383 Style improvements recommended by Bruce as a follow up to some
of the recent WARNS commits. The idea is:

1) FreeBSD id tags should follow vendor tags.
2) Vendor tags should not be compiled (though copyrights probably should).
3) There should be no blank line between including cdefs and __FBSDIF.
2001-12-10 21:13:08 +00:00
ru
cfe5212a8b - Make ip_rtaddr() global, and use it to look up the correct source
address in icmp_reflect().
- Two new "struct icmpstat" members: icps_badaddr and icps_noroute.

PR:		kern/31575
Obtained from:	BSD/OS
MFC after:	1 week
2001-11-30 10:40:28 +00:00
jlemon
7e4737a17a Add syncache statistics to netstat. 2001-11-22 04:48:52 +00:00
murray
49aab78a84 Fix typo.
PR:		docs/31388
Submitted by:	Yoshihiko Sarumaru <mistral@imasy.or.jp>
2001-10-23 20:27:06 +00:00
mdodd
cc2750c4a1 Print statistics for AF_IPX.
Note that the IPX code doesn't update these correctly yet, but should.
2001-10-19 00:40:51 +00:00
ru
b0d7725e6d Fixed bugs from revision 1.27. Specifically:
- Restore the ability to look up network names in the networks(5)
  database by passing getnetbyaddr(3) shifted network numbers,
  but without duplicating the old bug that was fixed in 1.27 (we
  now only shift netnums with standard netmasks).  For example:

Before:

$ netstat -r
[...]
127.0.1/24         localhost          UGSc        0        0    lo0
127.0.2/24         localhost          UGSc        0        0    lo0

After:

$ netstat -r
[...]
subnet1/24         localhost          UGSc        0        0    lo0
subnet2/24         localhost          UGSc        0        0    lo0

- Only try to lookup with the forged netmask if the mask was not
  explicitly specified, like it was before 1.27.  For example:

Before:

$ netstat -r
net-44.ampr.org/25 localhost          UGSc        0        0    lo0
net-44.ampr.org/25 localhost          UGSc        0        0    lo0

After:

44.108.2/25        localhost          UGSc        0        0    lo0
44.108.2.128/25    localhost          UGSc        0        0    lo0

- Make sure to null-terminate the resulting string.

MFC after:	1 week
2001-10-11 14:30:42 +00:00
ru
08ebd59071 The previous change also disaligned lines with AF_IPX and AF_NS
addresses.  Unshrink "Network" width to the previous value, and
make sure everything is aligned again.
2001-10-09 08:33:50 +00:00
mdodd
40ada64ef5 Minor output formatting for 'netstat -i':
- Right align Mtu
- Print AF_INET family with correct field width.
2001-10-09 05:58:26 +00:00
bmilekic
5b4fe25981 Re-enable mbtypes statistics in the mbuf allocator. I disabled these
when I changed the allocator bits. This implements per-CPU mbtypes
stats by keeping net number of decrements/increments of a given mbtype
per-CPU and then summing all of the per-CPU mbtypes to produce the total
net number of allocated mbufs of the given mbtype.
Counters are carefully balanced to avoid/prevent underflows/overflows.

mbtypes stats are re-enabled with the idea that we may occasionally
(although very rarely) observe slight inconsistencies in the stat
reporting. Most of the time, we should be fine, though.

Also make appropriate modifications to netstat(1) and systat(1) to do
the necessary reporting.

Submitted by: Jiangyi Liu <jyliu@163.net>
2001-09-30 01:58:39 +00:00
ru
a955db2e6b Implement the ``-f address_family'' filter for -i.
Prodded by:	Igor Podlesny <poige@morning.ru>
2001-09-11 17:14:33 +00:00
ru
ad39f94bd0 Update usage() to match reality. 2001-09-11 15:21:36 +00:00
ru
81f8176d5d Yay!
Make this manpage readable and match the reality.
2001-09-07 15:18:45 +00:00
ru
14ae92d34d If -s -s is specified, don't show zero multicast routing statistics. 2001-09-07 12:59:30 +00:00
ru
63326af6cd Deprecate the -l option in favour of more natural -W.
The compatibility glue is still provided.

(This change is not yet reflected in the manpage, nor
in usage().  This will be fixed at a later time today,
with the general manpage cleanup commit.)
2001-09-07 12:00:50 +00:00
ru
733af41f5a Don't print stray socket addresses (-A) with the listen queue display (-L).
Also, print socket's protocol with the -L.
2001-09-07 11:06:28 +00:00
ru
d7e70183dd SECURITY: Drop `setgid kmem' bit as early as possible. 2001-08-31 16:26:37 +00:00
dd
3eadebdb42 -a is not an options (sic). 2001-08-28 12:48:19 +00:00
dd
22c4fd8a9b Mention what an asterisk means in the -i display.
PR:		30069
Submitted by:	andrew@ugh.net.au
2001-08-28 12:45:47 +00:00
brian
e5aeafb88a Don't misuse the return from snprintf.
MFC after:	2 weeks
2001-08-20 11:58:05 +00:00
ru
95ce4d2cdc Removed duplicate VCS ID tags, as per style(9). 2001-08-13 14:06:34 +00:00
bmilekic
d3544a6381 Add a "X KBytes of wired memory reserved" metric that represents
approximately the amount of memory allocated from the mbuf maps
and sitting in the mbuf allocator's cache containers, and display
in parantheses the percentage of said memory that is actually
in use at the given time `netstat -m' is executed.

Suggested by: mjacob
2001-07-31 08:19:49 +00:00
bmilekic
0caeab3ccd - Do not handle the per-CPU containers in mbuf code as though the cpuids
were indices in a dense array. The cpuids are a sparse set and treat
  them as such, setting up containers only for CPUs activated during
  mb_init().

- Fix netstat(1) and systat(1) to treat the per-CPU stats area as a sparse
  map, in accordance with the above.

This allows us to properly boot with certain CPUs disactivated. However, if
we later decide to re-activate said CPUs, we will barf until we decide to
implement CPU spinon/spinoff callback hooks to allow for said CPUs' per-CPU
containers to get configured on their activation.

Reported by: mjacob
Partially (sys/ diffs) Submitted by: mjacob
2001-07-26 18:47:46 +00:00
fenner
1520807a7b Use sysctl to export multicast routing stats 2001-07-25 20:14:09 +00:00
dd
911ca14c87 Remove whitespace at EOL. 2001-07-15 08:06:20 +00:00
ru
05e503d80a mdoc(7) police: sort SEE ALSO xrefs (sort -b -f +2 -3 +1 -2). 2001-07-06 16:46:48 +00:00
ru
ada9cef5f6 Make `rttrash' variable (#routes not in table but not freed) visible
through ``netstat -rs''.
2001-06-29 09:08:24 +00:00
ru
ac2d37d7fe Fixed bogon in revision 1.37. Don't bogusly print a radix node's
duped key marker (``=>'') for routes with non-positive rmx_expire
metric, such as ethernet interface routes.

MFC after:	1 week
2001-06-29 08:37:12 +00:00
ume
111d276984 - create an entry of IPV6CTL_STATS sysctl.
- fix the problem that netstat doesn't show raw6 and icmp6 pcblist.
- make netstat use sysctl to retreive stats of ipv6 and icmpv6
  instead of kread.

Obtained from:	KAME
MFC after:	1 week
2001-06-28 18:06:15 +00:00
ru
f8e11dde26 Add netstat(1) knob to reset net.inet.{ip|icmp|tcp|udp|igmp}.stats.
For example, ``netstat -s -p ip -z'' will show and reset IP stats.

PR:		bin/17338
2001-06-23 17:17:59 +00:00
bmilekic
7a5abc2b29 - Fix space allocation for mbstat structure
- Make sure to try hw.ncpu if kern.smp.cpus doesn't exist (i.e. on UP) to
  get number of CPUs.
2001-06-23 17:04:17 +00:00
ru
b3aa602e23 Honor -s -s (don't show zero stats) with -r, untangle SYNOPSIS further.
(usage() still is not synchronized with SYNOPSIS, intentionally.)
2001-06-23 09:18:57 +00:00
bmilekic
5d710b296b Introduce numerous SMP friendly changes to the mbuf allocator. Namely,
introduce a modified allocation mechanism for mbufs and mbuf clusters; one
which can scale under SMP and which offers the possibility of resource
reclamation to be implemented in the future. Notable advantages:

 o Reduce contention for SMP by offering per-CPU pools and locks.
 o Better use of data cache due to per-CPU pools.
 o Much less code cache pollution due to excessively large allocation macros.
 o Framework for `grouping' objects from same page together so as to be able
   to possibly free wired-down pages back to the system if they are no longer
   needed by the network stacks.

 Additional things changed with this addition:

  - Moved some mbuf specific declarations and initializations from
    sys/conf/param.c into mbuf-specific code where they belong.
  - m_getclr() has been renamed to m_get_clrd() because the old name is really
    confusing. m_getclr() HAS been preserved though and is defined to the new
    name. No tree sweep has been done "to change the interface," as the old
    name will continue to be supported and is not depracated. The change was
    merely done because m_getclr() sounds too much like "m_get a cluster."
  - TEMPORARILY disabled mbtypes statistics displaying in netstat(1) and
    systat(1) (see TODO below).
  - Fixed systat(1) to display number of "free mbufs" based on new per-CPU
    stat structures.
  - Fixed netstat(1) to display new per-CPU stats based on sysctl-exported
    per-CPU stat structures. All infos are fetched via sysctl.

 TODO (in order of priority):

  - Re-enable mbtypes statistics in both netstat(1) and systat(1) after
    introducing an SMP friendly way to collect the mbtypes stats under the
    already introduced per-CPU locks (i.e. hopefully don't use atomic() - it
    seems too costly for a mere stat update, especially when other locks are
    already present).
  - Optionally have systat(1) display not only "total free mbufs" but also
    "total free mbufs per CPU pool."
  - Fix minor length-fetching issues in netstat(1) related to recently
    re-enabled option to read mbuf stats from a core file.
  - Move reference counters at least for mbuf clusters into an unused portion
    of the cluster itself, to save space and need to allocate a counter.
  - Look into introducing resource freeing possibly from a kproc.

Reviewed by (in parts): jlemon, jake, silby, terry
Tested by: jlemon (Intel & Alpha), mjacob (Intel & Alpha)
Preliminary performance measurements: jlemon (and me, obviously)
URL: http://people.freebsd.org/~bmilekic/mb_alloc/
2001-06-22 06:35:32 +00:00
sumikawa
eaafbef7b8 - Avoid hardcoded constant on icmp6 in/out histogram printing
- Icmp6 histogram update for inverse neighbor solicit/advert.

Obtained from:	KAME
MFC after:	2 weeks
2001-06-21 08:27:09 +00:00
assar
f5fc9b5340 remove warnings
remove superfluous declarations
make things more consistent
2001-06-15 23:55:45 +00:00
assar
ee746c97f9 remove K&R support 2001-06-15 23:35:13 +00:00
assar
6c0b683445 revert removal of warning and K&R support
Requested by: bde
2001-06-15 23:07:59 +00:00
assar
24963040e1 nflag -> numeric_port. nflag is no more 2001-06-15 22:57:41 +00:00
imp
6f314caece Print symbolic names for appletalk ports. Also some very minor style 9 issues.
PR: bin/4157
Submitted by: Denny Gentry <denny1@home.com>
2001-06-15 20:47:01 +00:00
ru
67653866aa First round of netstat(1) cleanup.
Removed the ambiguity in -s, -f, -p and -i flags handling.
Basically, there are four displays (except others):

1.  PCB display.
2.  Protocol statistics display. (-s)
3.  Interface statistics display. (-i)
4.  Per-interface protocol statistics display. (-i -s)

All of the above except 3) can be limited to a particular
protocol family (-f) or a single protocol (-p).

Some examples:

1.  netstat -f inet    -- show PCBs of all INET protocols
2.  netstat -p udp     -- show PCB of UDP protocol only (NEW!)
3.  netstat -s         -- show protocol statistics for all families
4.  netstat -s -f inet -- show INET protocols statistics
5.  netstat -s -p icmp -- show ICMP protocol statistics

This is a work in progress.  Manpage has been fixed slightly,
but is still incomplete.
2001-06-15 18:25:38 +00:00