Commit Graph

388 Commits

Author SHA1 Message Date
hsu
27325403c6 1. Add support for printing PIM-related statistics with
netstat -s -p pim

2. Print information about the bandwidth meters installed in the kernel with
	netstat -g

Submitted by:	Pavlin Radoslavov <pavlin@icir.org>
2003-08-07 18:21:21 +00:00
hsu
6d661f854b * Use sysctlbyname(3) to print statistics about the MFC and
multicast VIF tables.
  This change is needed for consistency with the rest of the
  netstat/mroute.c implementation, and because in some
  cases "netstat -g" may fail to report the multicast forwarding
  information (e.g., if we run a multicast router on PicoBSD).

* Remove "DVMRP" from the head comment of file netstat/mroute.c,
  because the printed multicast-related statistics are not
  DVMRP-specific anymore.

Submitted by:	Pavlin Radoslavov <pavlin@icir.org>
2003-08-05 17:07:04 +00:00
ru
7638527434 Revert last delta.
The -l option is deprecated (hence undocumented in usage() and
SYNOPSIS), as was threatened in the commitlog accompanying rev.
1.10 of main.c.

Approved by:	re (blanket)
2003-05-21 20:52:57 +00:00
bmilekic
f48bcc48de Make the mb_alloc low-watermark sysctl-tunable read-only and make
netstat(1) not display it for now because its effects are not yet
completely implemented and we're about to cut 5.2-RELEASE.
This is temporary.

Approved by: re (scottl, rwatson)
2003-05-15 19:05:28 +00:00
mdodd
ccc6071f7e Back out support for RFC3514.
RFC3514 poses an unacceptale risk to compliant systems.
2003-04-02 20:14:44 +00:00
mdodd
e72fdee732 Implement support for RFC 3514 (The Security Flag in the IPv4 Header).
(See: ftp://ftp.rfc-editor.org/in-notes/rfc3514.txt)

This fulfills the host requirements for userland support by
way of the setsockopt() IP_EVIL_INTENT message.

There are three sysctl tunables provided to govern system behavior.

	net.inet.ip.rfc3514:

		Enables support for rfc3514.  As this is an
		Informational RFC and support is not yet widespread
		this option is disabled by default.

	net.inet.ip.hear_no_evil

		 If set the host will discard all received evil packets.

	net.inet.ip.speak_no_evil

		If set the host will discard all transmitted evil packets.

The IP statistics counter 'ips_evil' (available via 'netstat') provides
information on the number of 'evil' packets recieved.

For reference, the '-E' option to 'ping' has been provided to demonstrate
and test the implementation.
2003-04-01 08:21:44 +00:00
keramida
e182583687 Document the undcumnt -l option (that's a lowercase `el').
PR:		48466
Submitted by:	Peter Philipp <dot.bomb@freenet.de>
2003-03-26 02:00:35 +00:00
peter
6467f119a1 Kill #ifdef NS and some leftover #ifdef ISO code. Re-pack the nlist[]
array, it isn't likely to find any ARPAnet IMP drivers in FreeBSD.
2003-03-05 19:20:29 +00:00
bmilekic
26ba0eb55c o Allow "buckets" in mb_alloc to be differently sized (according to
compile-time constants).  That is, a "bucket" now is not necessarily
  a page-worth of mbufs or clusters, but it is MBUF_BUCK_SZ, CLUS_BUCK_SZ
  worth of mbufs, clusters.
o Rename {mbuf,clust}_limit to {mbuf,clust}_hiwm and introduce
  {mbuf,clust}_lowm, which currently has no effect but will be used
  to set the low watermarks.
o Fix netstat so that it can deal with the differently-sized buckets
  and teach it about the low watermarks too.
o Make sure the per-cpu stats for an absent CPU has mb_active set to 0,
  explicitly.
o Get rid of the allocate refcounts from mbuf map mess.  Instead,
  just malloc() the refcounts in one shot from mbuf_init()
o Clean up / update comments in subr_mbuf.c
2003-02-20 04:26:58 +00:00
robert
1932d78f6c - Determine the size of buffers with sizeof() instead of using
plain magic numbers - one of them was apparently wrong but unharmful.
 - Remove empty line.
2003-02-10 16:58:47 +00:00
mtm
2da153c5bb o Typo/Grammar fixes
o Added mini-function to correctly handle singular/plural
	  of words ending in 'ly'

Approved by: markm (mentor)
Not objected to by: -audit
2003-01-14 16:02:56 +00:00
dwmalone
cb4604919f Warns cleanups for netstat:
1) Include arpa/inet.h for ntohs.
2) Constness fixes.
3) Fix shadowing except for "sin" which shouldn't be in scope.
4) Remove register keyword.
5) Add missing initialsers to user defined structs.
5) Make prototype of netname6 globally visable.
6) Use right macros for printing syncache stats (even though entrie isn't
   a word).
2002-09-05 17:06:51 +00:00
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
ru
dbd701e3cb Line up `netstat -rl' display. 2001-06-15 18:15:11 +00:00
assar
9e34fe7efd remove most of the warnings 2001-06-15 01:53:05 +00:00
assar
ea6e16bc20 add the option -S for printing port numbers symbolically but addresses
numerically.  clean up the CFLAGS in Makefile.
2001-06-15 00:25:44 +00:00
ru
bf0e940d3c Restore -M -N support for -m.
PR:		20808
2001-06-14 15:45:09 +00:00
ru
95c8aa86ca Removed -h option. 2001-06-14 14:21:11 +00:00
ru
4218706f3d Really delete the -h option.
CSRG revision 5.33 deleted -h option from getopt(), but not
from usage().  Revision 8.3 restored it in getopt().
2001-06-14 14:15:41 +00:00
ru
6d6ba0ea8e Fixed printing of netatalk statistics WRT the -s flag.
PR:		bin/6994
Submitted by:	Zahemszky Gabor <zgabor@zg.CoDe.hu>
MFC after:	1 week
2001-06-12 14:00:39 +00:00
ume
9cbadc39d1 Mention about -rl behavior change. Now, MTU is printed. 2001-06-11 17:34:25 +00:00
ume
ed4c1f2911 Add missing column for Mtu in header when -rl is specified. 2001-06-11 17:32:53 +00:00
ume
832f8d2249 Sync with recent KAME.
This work was based on kame-20010528-freebsd43-snap.tgz and some
critical problem after the snap was out were fixed.
There are many many changes since last KAME merge.

TODO:
  - The definitions of SADB_* in sys/net/pfkeyv2.h are still different
    from RFC2407/IANA assignment because of binary compatibility
    issue.  It should be fixed under 5-CURRENT.
  - ip6po_m member of struct ip6_pktopts is no longer used.  But, it
    is still there because of binary compatibility issue.  It should
    be removed under 5-CURRENT.

Reviewed by:	itojun
Obtained from:	KAME
MFC after:	3 weeks
2001-06-11 12:39:29 +00:00
ru
b6e786accf Always print at least 2 bytes for IN_CLASSB_NET networks.
Always print at least 3 bytes for IN_CLASSC_NET networks.

The standard 193.0.0 class C network for example, will now
be displayed as "193.0.0" as opposed to the confusing 193.

PR:		bin/21546
MFC after:	1 week
2001-06-08 15:44:17 +00:00
dd
4c27d7fa93 Correct some typos.
PR:		27251
Submitted by:	Pekka Savola <pekkas@netcore.fi>
2001-06-01 02:28:15 +00:00
ru
0a9fa3241f Restore printing of routes cloned from a RTF_CLONING parent
(e.g., ARP table entries) with the default routing display.

PR:		bin/26970
Reviewed by:	wollman
MFC after:	3 days
2001-05-07 12:29:36 +00:00
fenner
2947d98f45 Add missing break when printing IPv6 multicast addresses.
Use the sockaddr_dl sdl_type, not ifnet.if_type, to decide what type
 a multicast sockaddr_dl is.
2001-04-26 06:02:03 +00:00
jesper
264c033577 Fix typo s/thissystem/this system/
Submitted by:	Stephen <sdk@shell.yuck.net>
2001-04-16 21:14:13 +00:00
phk
117d022017 Don't core dump when given "-i -a". Problem caused by a mistaken
dereference of a kernel-pointer in userland.

PR:		26168
Submitted by:	Peter Pentchev <roam@orbitel.bg>
2001-03-30 19:16:04 +00:00
phk
dabce43c5b Add an example of a novel technique to the IPv6 code. This technique seems
to have been developed after the IPv6 code was written, it's called "checking
for error returns".

Now netstat at least doesnt't go beserk in jails.
2001-03-19 08:51:56 +00:00
ru
454ff5686f s/protocol-cloned/cloned/ I have missed in 1.24 -> 1.25. 2001-03-18 13:50:58 +00:00
des
cd8d720367 Add a -W flag that tells netstat not to truncate addresses even if they are
too long for the column they're printed in.

Move variable definitions out of netstat.h and into main.c.

Clean up some warnings.
2001-03-15 20:46:04 +00:00
ru
e4b7d932a1 net/route.c:
A route generated from an RTF_CLONING route had the RTF_WASCLONED flag
  set but did not have a reference to the parent route, as documented in
  the rtentry(9) manpage.  This prevented such routes from being deleted
  when their parent route is deleted.

  Now, for example, if you delete an IP address from a network interface,
  all ARP entries that were cloned from this interface route are flushed.

  This also has an impact on netstat(1) output.  Previously, dynamically
  created ARP cache entries (RTF_STATIC flag is unset) were displayed as
  part of the routing table display (-r).  Now, they are only printed if
  the -a option is given.

netinet/in.c, netinet/in_rmx.c:

  When address is removed from an interface, also delete all routes that
  point to this interface and address.  Previously, for example, if you
  changed the address on an interface, outgoing IP datagrams might still
  use the old address.  The only solution was to delete and re-add some
  routes.  (The problem is easily observed with the route(8) command.)

  Note, that if the socket was already bound to the local address before
  this address is removed, new datagrams generated from this socket will
  still be sent from the old address.

PR:		kern/20785, kern/21914
Reviewed by:	wollman (the idea)
2001-03-15 14:52:12 +00:00
brian
dd004da290 MAXHOSTNAMELEN includes space for a NUL.
Don't roll our own version of trimdomain(), use the one in libutil.

Not objected to by: freebsd-audit
2001-03-14 20:51:26 +00:00
ru
e7537660da Count and show incoming UDP datagrams with no checksum. 2001-03-13 13:26:06 +00:00
joe
076296e962 When displaying interface statistics with -i show a '-' for any
values that aren't updated for a particular network-layer address.
2001-03-04 22:25:05 +00:00
phk
d214ae2171 Convert if_multiaddrs from LIST to TAILQ so that it can be traversed
backwards in the three drivers which want to do that.

Reviewed by:    mikeh
2001-02-06 10:12:15 +00:00
ru
8a6f8b5fe4 mdoc(7) police: split punctuation characters + misc fixes. 2001-02-01 16:38:02 +00:00
phk
4ea1588b37 Use macro API to <sys/queue.h>
Submitted by:	"Jason" <jsmethers@pdq.net>
Reviewed by:	phk
2000-12-30 21:22:54 +00:00
ru
0d1334ca0c mdoc(7) police: use the new features of the Nm macro. 2000-11-20 19:21:22 +00:00
guido
4c8593424d Now that the amount of (pseudo) interfaces is growing with IPv6,
get rid of stupid upperbound on the amount of interfaces (was 8).
2000-10-30 11:53:19 +00:00
joe
c6d8349444 Augment the 'ifaddr' structure with a 'struct if_data' to keep
statistics on a per network address basis.

Teach the IPv4 and IPv6 input/output routines to log packets/bytes
against the network address connected to the flow.

Teach netstat to display the per-address stats for IP protocols
when 'netstat -i' is evoked, instead of displaying the per-interface
stats.
2000-10-19 23:15:54 +00:00
bmilekic
95b1ae9f22 Change the "in use" percentage metric to actually display a real
"in use" percentage. In other words, show how much of mb_map is in use.
2000-10-15 06:29:22 +00:00
ru
25d0042e11 Fixed the printing of header for IPv4 routing table without -l option.
Broken in rev 1.44.
2000-09-18 11:14:40 +00:00
dwmalone
df0e25bf6c Replace the mbuf external reference counting code with something
that should be better.

The old code counted references to mbuf clusters by using the offset
of the cluster from the start of memory allocated for mbufs and
clusters as an index into an array of chars, which did the reference
counting. If the external storage was not a cluster then reference
counting had to be done by the code using that external storage.

NetBSD's system of linked lists of mbufs was cosidered, but Alfred
felt it would have locking issues when the kernel was made more
SMP friendly.

The system implimented uses a pool of unions to track external
storage. The union contains an int for counting the references and
a pointer for forming a free list. The reference counts are
incremented and decremented atomically and so should be SMP friendly.
This system can track reference counts for any sort of external
storage.

Access to the reference counting stuff is now through macros defined
in mbuf.h, so it should be easier to make changes to the system in
the future.

The possibility of storing the reference count in one of the
referencing mbufs was considered, but was rejected 'cos it would
often leave extra mbufs allocated. Storing the reference count in
the cluster was also considered, but because the external storage
may not be a cluster this isn't an option.

The size of the pool of reference counters is available in the
stats provided by "netstat -m".

PR:		19866
Submitted by:	Bosko Milekic <bmilekic@dsuper.net>
Reviewed by:	alfred (glanced at by others on -net)
2000-08-19 08:32:59 +00:00
ume
e35ff24b97 To make compilable without -DINET6.
PR:		bin/20407
Submitted by:	Patrick Bihan-Faou <patrick@mindstep.com>
2000-08-07 16:39:33 +00:00
ru
d3ae9e37cd Do not display icmp(4) sockets as non-existent bridge(4) sockets. 2000-08-03 14:53:41 +00:00
jdp
725292b291 Fix bug: "netstat -si" prints interface information, but the header
line is missing.  This apparently was broken in revision 1.31 of
"if.c".

Submitted by:	Maxime Henrion <mhenrion@cybercable.fr>
2000-07-28 04:05:04 +00:00
alfred
19218742c7 Make mbstat.m_mtypes seperate and viewable via sysctl, also
expand the size from short to ulong

Submitted by: Ian Dowse <iedowse@maths.tcd.ie>
PR: kern/19809
2000-07-15 06:02:48 +00:00
itojun
dc0f712932 remove m_pulldown related statistics, it is not for production system
(it belongs to kame experiment).
2000-07-12 16:13:02 +00:00
itojun
e512fbcdce add pfkeystat. sync with kame 2000-07-05 02:02:54 +00:00
itojun
77ac5d68c9 sync with latest kame netstat. basically, more statistics 2000-07-04 16:26:46 +00:00
markm
639d2aa33f Use Garrett's new (clearer) names. 2000-04-23 14:18:18 +00:00
guido
11b9017514 Add '-L' option to usage(). 2000-03-20 18:33:11 +00:00
shin
a6a887a7e3 Don't suppress Flags and Refs info for IPv4 entries.
(They need to be suppressed by default for IPv6 entries to keep the column
size of each entries in 80.)
2000-03-14 17:18:43 +00:00
shin
cd961dcd26 Add a flag to the usage display.
There was a missing description for a new flags to netstat.
  I already added the fix to netstat man, but usage() change is
  also necessary.

Specified by: Ben Smithurst <ben@scientia.demon.co.uk>
Approved by: jkh
2000-03-11 20:14:08 +00:00
shin
3e5e4c28ce Add "-l" option description.
Noticed the necessity by Ben Smithurst <ben@scientia.demon.co.uk> message
on freebsd-current.
2000-03-11 14:33:13 +00:00
sheldonh
49c4458c80 Remove single-space hard sentence breaks. These degrade the quality
of the typeset output, tend to make diffs harder to read and provide
bad examples for new-comers to mdoc.
2000-03-01 12:20:22 +00:00
shin
417b54f8df IPv6 multicast routing.
kernel IPv6 multicast routing support.
  pim6 dense mode daemon
  pim6 sparse mode daemon
  netstat support of IPv6 multicast routing statistics

  Merging to the current and testing with other existing multicast routers
  is done by Tatsuya Jinmei <jinmei@kame.net>, who writes and maintainances
  the base code in KAME distribution.

  Make world check and kernel build check was also successful.
2000-01-28 05:10:56 +00:00
rgrimes
a8dc8fe161 Instead of reporting all 0.0.0.0 as ``default'' only report
a true default of 0.0.0.0/0 as default.

Reviewed by:	wollman
2000-01-07 19:56:57 +00:00
shin
b8e88750ca -permit protocol specific statistics at iflag,
only when either of sflag and "-f inet6" is specified.
-fix the indentation of default output

Specified by: Stephen McKay <syssgm@detir.qld.gov.au>

Reviewed and Confirmed by: Stephen McKay <syssgm@detir.qld.gov.au>
2000-01-07 05:17:09 +00:00
shin
9b5932fc47 libipsec and IPsec related apps. (and some KAME related man pages)
Reviewed by: freebsd-arch, cvs-committers
Obtained from: KAME project
2000-01-06 12:40:54 +00:00
jkh
47cb278dcf Print mac addresses in standard byte:byte format rather than
byte.byte.  This makes it consistent with our other utilities
like arp(8) and ifconfig(8).

Submitted by:	Paul Vixie <paul@vix.com>
2000-01-03 17:48:36 +00:00
msmith
d73a050489 Add display of maximum allowed mbuf count to match mbuf cluster count.
Submitted by:	Bosko Milekic <bmilekic@dsuper.net>
1999-12-28 06:38:37 +00:00
shin
8c2ccb59ca Getaddrinfo(), getnameinfo(), and etc support in libc/net.
Several udp and raw apps IPv6 support.

Reviewed by: freebsd-arch, cvs-committers
Obtained from: KAME project
1999-12-28 02:37:14 +00:00
shin
1ce5be54c5 also, changed prototype of pr_rthdr(), as my previous fix
for netstat/route.c
1999-12-21 11:28:27 +00:00
shin
410c84c183 Added missing declaration for argment specification at pr_rthdr(),
caused by my previous patch, sorry.
Also, changed its var name from 'af' to 'wid_af', to avoid confusion with
global var 'af'.
1999-12-21 11:25:30 +00:00
shin
c33c53ebdb define WID_DST6 and WID_GW6 and use them only for IPv6, to keep IPv4 related
information in 80 columns.

TODO: IPv6 related information is not likely to be kept in 80 columns, anyway.
      Some more print modes could be added,
      but what is the priority between those modes?
	-print out all information even if they don't fit into 80 columns
	-strip off some information to fit them into 80 columns

Reviewed by: markm
1999-12-21 09:31:14 +00:00
shin
f3539c3f23 Enable INET6 by default.
This should be OK on non INET6 enabled kernel.
1999-12-15 05:13:22 +00:00
guido
39eef9ac50 Add new option, -L that will listen the various listen queue lengths.
Reviewed by:	Garrett Wollman <wollman@khavrinen.lcs.mit.edu>,
		Clive Lin <clive@GnatS.CirX.ORG>
1999-12-13 20:08:44 +00:00
shin
70f0bdf681 udp IPv6 support, IPv6/IPv4 tunneling support in kernel,
packet divert at kernel for IPv6/IPv4 translater daemon

This includes queue related patch submitted by jburkhol@home.com.

Submitted by: queue related patch from jburkhol@home.com
Reviewed by: freebsd-arch, cvs-committers
Obtained from: KAME project
1999-12-07 17:39:16 +00:00
dfr
6ab56498ca Fix the output of 'netstat -I de0 1' for the alpha. Fix a bunch of
warnings while I'm here.
1999-11-09 22:22:36 +00:00
phantom
adfeaab86c uncomment FILES section (it look reasonable here)
mdoc(7)'fy
1999-10-30 14:35:22 +00:00
dillon
8c8443ab96 Put include <netgraph.h> back in - problem was due to a cvsup mess on
freefall.  There may also be a real problem w/ buildworld but the fix
    would go somewhere else, not here.
1999-10-24 02:58:39 +00:00
dillon
405fc1165a Cleanup missing includes, stale includes, and a few printf format
inconsistancies.
1999-10-23 17:45:11 +00:00
julian
c5c63975d5 Whistle's Netgraph link-layer (sometimes more) networking infrastructure.
Been in production for 3 years now. Gives Instant Frame relay to if_sr
and if_ar drivers, and PPPOE support soon. See:
ftp://ftp.whistle.com/pub/archie/netgraph/index.html
for on-line manual pages.

Reviewed by: Doug Rabson (dfr@freebsd.org)
Obtained from:  Whistle CVS tree
1999-10-21 09:06:11 +00:00
julian
698af92f86 Cleanup towards -Wall 1999-10-21 07:08:56 +00:00
bp
c43de700de Allow suppress printing of lines with zero counts
for an IPX address family.

PR:		14168
1999-10-18 05:45:05 +00:00
sheldonh
a86e7e27bb Add xrefs to the {f,net,sock}stat.1 manpages. While I'm in there, fix
the sockstat.1 document title, which still remembers when sockstat was
called lsock.

Reviewed by:	mpp
1999-09-06 13:14:24 +00:00
peter
4aca858082 Zap $Source$ 1999-09-06 07:34:27 +00:00
peter
c81dbb3c98 $Header$ -> $FreeBSD$ 1999-08-28 05:11:36 +00:00
peter
3b842d34e8 $Id$ -> $FreeBSD$ 1999-08-28 01:08:13 +00:00
nik
5d1b5dae7c Document the use of the -a flag in conjunction with the -r flag.
PR:             docs/13037
Submitted by:   Christopher Masto <chris@netmonger.net>
1999-08-11 22:25:55 +00:00
nik
6578739ddb Add $Id$, to make it simpler for members of the translation teams to
track.

The $Id$ line is normally at the bottom of the main comment block in the
man page, separated from the rest of the manpage by an empty comment,
like so;

     .\"    $Id$
     .\"

If the immediately preceding comment is a @(#) format ID marker than the
the $Id$ will line up underneath it with no intervening blank lines.
Otherwise, an additional blank line is inserted.

Approved by:            bde
1999-07-12 20:24:20 +00:00
des
f234b406a4 Don't truncate port numbers.
Submitted by:	ru
1999-07-06 19:10:15 +00:00
luigi
564d182065 Add support for printing bridging statistics with ``-p bdg '' .
If someone has a better flag to use I'll be glad to change it.
1999-04-26 16:11:50 +00:00
billf
0232b8dbc3 IPX address formatting nit.
PR:		bin/11179
Submitted by:	Dan Nelson <dnelson@emsphone.com>
1999-04-20 22:04:31 +00:00
des
ebe2a5b78b Fix fstat compatibility by printing the address of the tcppcb instead of
that of the regular socket pcb for TCP sockets.

PR:		bin/9963
Submitted by:	Ruslan Ermilov <ru@ucb.crimea.ua>
1999-03-10 17:25:42 +00:00
fenner
f3e30dacf9 Fix off-by-one error. 1999-02-16 19:05:09 +00:00
jhay
735c50d2ba Make the ipx part of netstat work again. 1999-02-06 19:12:48 +00:00
roberto
8d7ddb164a Fix "make world" breakage because MT_RTABLE was still referenced here. 1999-01-18 12:40:44 +00:00
fenner
f2b1338394 Don't use ip_mrtproto to determine whether multicast routing is in
the kernel; this was left over from the earlier protocol-dependent
 kernel multicast routing code.

Learn how to handle the malloc'd multicast routing table (instead of
 expecting it to be in mbufs)
1999-01-18 02:09:15 +00:00
gpalmer
2a239d1d24 Quick hack to allow netstat to compile once more: ifdef out MT_SOOPTS 1998-08-23 15:23:11 +00:00
jb
cfb14b7bd4 Change casts from int to u_long and formats from %x to %lx.
Didn't fix the alignment of the output fields on alpha where addresses
require 16 characters to print.

Added a dummy field to the pt_u union to help the alpha compiler align
the u_sa field in a suiable way.
1998-08-18 13:41:38 +00:00
jb
563187e169 Change a variable from int to size_t. 1998-08-18 13:36:47 +00:00
phk
8cd84a68cc Make netstat work again. 1998-08-08 08:13:04 +00:00
phk
9a6ddd8b9f Don't open /dev/mem until we need it, most cases we don't. 1998-08-05 13:54:07 +00:00
bde
0609531ab6 Fixed printf format errors. 1998-07-06 21:01:54 +00:00
bde
baf42e5599 Fixed type mismatches and style bugs in rev.1.30. 1998-07-06 20:52:08 +00:00
imp
94f67b7ef5 o Use snprintf over sprintf.
o Use strncpy correctly.
o Use enough buffer for line.

Inspired by or Obtained from: Similar changes in OpenBSD
1998-06-09 04:13:03 +00:00
pb
03f5c91484 Make "netstat -s" display stats on fast-forwarded packets.
Obtained from: NetBSD code
1998-05-19 16:00:55 +00:00
wollman
949dcf30df Fix rev. 1.7: get offsetof from the correct header file. 1998-05-16 18:04:00 +00:00
ache
1ec8848ea4 Fix broken sun_len usage: it is not sun_path length but bigger 1998-05-16 08:31:49 +00:00
wollman
e37570d812 mbuf, inet, and unix modules no longer read kvm. 1998-05-15 20:19:21 +00:00
steve
b62764e4ba Remove (now) invalid .Xr trsp 8
PR:		6494
Submitted by:	Don Morrison <dmorrisn@u.washington.edu>
1998-05-03 21:34:34 +00:00
dg
abb0f6fda9 Output mbuf clusters as current/peak/max. Requires new kern.ipc.nmbclusters
sysctl variable (previously committed).
1998-04-24 04:30:27 +00:00
phk
d11d4df3a2 netstat truncates info in sockaddr* between kgetsa and p_sockaddr
by dereferencing pointer to smaller structure

PR:		5256
Reviewed by:	phk
Submitted by:	Gregory D. Moncreaff <moncrg@bt340707.res.ray.com>
1998-04-22 06:54:31 +00:00
phk
6dffba718f The current version of netstat does not print the interface
name for AF_LINK routing entries. This makes debugging
network problems more difficult.
PR:		4182
Reviewed by:	phk
Submitted by:	Craig Leres <leres@ee.lbl.gov>
1998-04-19 18:18:25 +00:00
ache
69b3def964 Add (unsigned) cast to prevent overflow in %
Submitted by:  "Alex G. Bulushev" <bag@demos.su>
1997-11-10 08:03:36 +00:00
steve
2aee963ba5 Typo fix.
PR:		docs/4579
Submitted by:	Stephen J. Roznowski <sjr@home.net>
1997-10-27 03:31:57 +00:00
wollman
fefb319840 Print out the two new fields in the ICMP stats. While we're at it, also
convert icmp_stats() to use sysctl(3) to retrieve the information
rather than kvm.  This makes it easy to also print whether ICMP address
mask responses are enabled, so do so.
1997-08-25 16:57:05 +00:00
wollman
143b997329 While I'm in here, fix address printing for `netstat -f unix' which has been
broken for a couple of weeks now...
1997-08-25 16:55:00 +00:00
peter
b0303ecc1d Bandaid to make this compile.. These old mbuf types should probably be
ripped out.
1997-08-17 09:12:43 +00:00
charnier
e97a8f1bb5 Remove prog, unused variables.
Cosmetic in usage string.
1997-07-29 06:51:41 +00:00
guido
9b98d67c6f Remove -I/sys 1997-07-13 11:51:42 +00:00
phk
1a09a08af9 Remove some quite bogus code that tried to find subnet names but instead
spammed named with bogus queries.
1997-05-25 08:36:20 +00:00
jhay
c6d99f3750 Add the new ipx statistics variables.
Remove the dns lookup code in the ipx functions. That is bogus and slows
things like netstat -r(f ipx) down, without gaining anything.

Remove the ipx error protocol statistics.
1997-05-10 10:03:43 +00:00
imp
141381e1cb compare return value from getopt against -1 rather than EOF, per the final
posix standard on the topic.
1997-03-29 04:34:07 +00:00
wollman
dc73a48dfc Use the new sysctl(3) interface to mbuf statistics rather than
groveling about in kmem.
1997-02-24 20:40:40 +00:00
peter
f390c26dd9 Revert $FreeBSD$ to $Id$ 1997-02-22 19:58:13 +00:00
wollman
98eca9a3c5 When the mbuf code was changed to use a private allocator instead of
the kernel malloc, netstat was never updated to reflect the fact that
there are once again allocated-but-free mbufs, just as there are
clusters, and so the information presented about how much memory was
allocated to the network was bogus.  Fixed.
1997-02-12 19:33:22 +00:00
wollman
fe537196d3 Print out the new uninteresting-multicast-packets statistic. 1997-01-21 21:08:57 +00:00
jkh
808a36ef65 Make the long-awaited change from $Id$ to $FreeBSD$
This will make a number of things easier in the future, as well as (finally!)
avoiding the Id-smashing problem which has plagued developers for so long.

Boy, I'm glad we're not using sup anymore.  This update would have been
insane otherwise.
1997-01-14 07:20:47 +00:00
wollman
ae33ce68ad Print out the interface's multicast addresses using the new
structures.
1997-01-13 21:27:46 +00:00
pst
ac82b8a657 TCP statistics are unsigned counters.
Tor Egge reports counter wrap and requests and update to quad_t sized
counters, which is also a good thing to do,  but I'm unhappy about adding
two more instructions into the  code path every time we doink a counter.

Maybe with or after the Lite2 merge...
Submitted by:	Tor Egge <Tor.Egge@idt.ntnu.no>
1997-01-07 20:09:28 +00:00
wollman
e9eee4f407 Update to match changes in <net/if.h> and <netinet/ip_mroute.h>. 1997-01-03 20:16:31 +00:00
wollman
2c02b8c04a Learn to follow the new interface address lists. 1996-12-13 21:29:59 +00:00
wollman
2bf6d9001a Understand queue-ized ifnet structures. 1996-12-11 20:39:43 +00:00
wollman
d3ecee07b3 Fix up programs which expect <net/if.h> to include <sys/time.h> to instead
do it themselves.  (Some of these programs actually depended on this
beyond compiling the definition of struct ifinfo!)  Also fix up some
other #include messes while we're at it.
1996-12-10 17:11:53 +00:00
fenner
a9efebe64e Display multicast addresses if the "a" flag is used in combination
with "-i".  This was already in the man page but was not implemented.

Obtained from:	Multicast release 3.5
1996-12-02 06:38:30 +00:00
wollman
cd2ff97cee Eliminate unnecessary include of <sys/mbuf.h>. PCBs aren't stored in mbufs
any more.
1996-10-28 18:56:44 +00:00
wollman
8beec6c65d Remove reference to oobsolete RTF_MASK flag (soon to be removed). 1996-10-09 18:19:07 +00:00
julian
b740ca2195 make appletalk networks not show an un-needed host
part in displaying the routes.
1996-09-05 23:34:09 +00:00
bde
11546f4616 Fixed DPADD. 1996-09-05 17:16:10 +00:00
julian
31eae602d6 fix printing of netranges in the i and r displays for netatalk 1996-08-31 07:43:01 +00:00
phk
733856f964 Try to make netstat more smart about port numbers.
Feedback most welcome.
1996-08-23 19:05:34 +00:00
julian
16ad55d2ab Submitted by: archie@whistle.com
slight cleanups on yesterday's patches
1996-07-23 22:00:14 +00:00
julian
7805978130 Submitted by: archie@whistle.com
appletalk cleanups
1996-07-23 01:18:47 +00:00
julian
9277e63302 Adding changes to ipfw and the kernel to support ip packet diversion..
This stuff should not be too destructive if the IPDIVERT is not compiled in..
 be aware that this changes the size of the ip_fw struct
so ipfw needs to be recompiled to use it.. more changes coming to clean this up.
1996-07-10 19:44:30 +00:00
julian
0c208df31d appletalk cleanups
e.g.
Active ATALK connections
Proto Recv-Q Send-Q  Local Address          Foreign Address        (state)
ddp        0      0  [69.230]130            [*.*]*
ddp        0      0  [69.230]128            [*.*]*
ddp        0      0  [69.230]1              [*.*]*

etc..
1996-07-09 02:55:47 +00:00
peter
423ad17ec2 make netstat distinguish broadcast and blackhole routes where they appear.
(RTF_BLACKHOLE was already documented as being shown, but the code ignored
it)

Sumbitted by: Greg Lehey <grog@lemis.de>
1996-06-15 17:08:40 +00:00
julian
0ba97cb21f better appletalk support. 1996-06-10 21:03:38 +00:00
julian
cc5ea83adc I guess the docs should mention the new protocol at least once. 1996-06-08 00:54:18 +00:00
julian
989c61cbbb patches to allow netstat to monitor appletalk sockets openned using the
/sys/netatalk protocol stack

more cleanups and fixes are likely
1996-06-08 00:20:42 +00:00
wollman
99c2eebb28 Print PCB hash miss statistic. 1996-06-05 17:24:33 +00:00
alex
5c1e86ebb4 Code cleanup: remove unused variables, use correct *printf format
specifiers (some unsigned values were printed as signed, some longs
were printed as ints), and place parentheses around assignments in
if statements.
1996-06-02 23:19:12 +00:00
jhay
90f6f0bae9 Document that ipx is a valid protocol for the -f option.
Comment out ns and iso. They are not supported anymore.
1996-04-13 21:23:57 +00:00
dg
42390683e5 Move #include of queue.h before #include of socketvar.h in preparation for
struct socket changes.
1996-03-11 13:01:12 +00:00
dg
be0c3a28c5 Make the -w option actually useful to people. Instead of it creating a
messy 130 column collage, output the system totals -or- info for a
specific interface if -I is given. Also wait for <interval> before
outputting the first sample so that it represents meaningful data (as
opposed to the total since the system was booted - most busy systems
wrap around many times during their operation, so these numbers are
only misleading).
1996-02-29 07:44:37 +00:00
guido
89b4ca893f Add a counter for the number of times the listen queue was overflowed to
the tcpstat structure. (netstat -s)
Reviewed by:	wollman
Obtained from: Steves, TCP/IP Ill. vol.3, page 189
1996-02-26 21:47:13 +00:00
wollman
26f02b4e28 For some reason, the changes to make route.c compile didn't make it over.
Fixed.

Pointed-out-by: joerg
1996-02-16 15:42:14 +00:00