Commit Graph

319 Commits

Author SHA1 Message Date
rpaulo
9ce7ce6bf0 Added #include <kvm.h> since netstat.h, which is included too, needs it. 2005-08-04 19:41:28 +00:00
rpaulo
22a0fcf290 Added bpf.c. 2005-08-04 19:40:00 +00:00
rpaulo
66daeed445 Implemented the userland part of the BPF statistics and BPF peers,
net.bpf.stats and net.bpf.peers sysctls respectively. netstat(1) now
has an additional syntax:
	netstat [-s] [-B] [-I Interface]

Only the super user can see a list of BPF peers with the following command:
# netstat -B
Active BPF peers
PID     Int     Recv     Drop     Capt     Flags  Bufsize  Comm
4941    lo0     0        0        0        I--S-  262144   tcpdump
252     ex0     19668    0        5        I-RS-  32768    dhclient

And every user can see the BPF statistics with:
$ netstat -s -B
bpf:
        19669 total packets received
        5 total packets captured
        0 total packets dropped

This idea came from FreeBSD (Christian S.J. Peron) but, currently, they
doen't have a userland utility in the base system to read the sysctls.

Reviewed by: christos@
2005-08-04 19:39:40 +00:00
atatat
e698a148f7 For connected local domain sockets that don't have a "local" name,
print the "remote" name instead.
2005-03-04 03:59:07 +00:00
atatat
9244b3d60d Print the pcb address like the man page says, not the socket address. 2005-03-04 03:57:48 +00:00
atatat
61ae0cbaf1 print the proper pointer for the pcb address. otherwise, all the udp6
pcb addresses are the same as unrelated udp pcb addresses.
2005-02-13 03:15:18 +00:00
lukem
7157011597 Only compile in IPv6 support if ${USE_INET6} != "no"
MKINET6 is for providing IPv6 infrastructure.
USE_INET6 is for compiling IPv6 support into the programs (needs MKINET6).
2005-01-10 02:58:58 +00:00
itojun
da88342476 NI_WITHSCOPEID was not picked up by IETF standardization process 2004-11-16 06:04:12 +00:00
itojun
b95181fc9b NI_WITHSCOPEID was not picked up by IETF standardization process. 2004-11-16 05:59:32 +00:00
dsl
dfdc37e2fe Add (unsigned char) cast to ctype functions 2004-10-30 20:56:20 +00:00
martin
ee9d1625eb Make it compile on ports where u_quad_t is not printf-format-compatible
with unsigned long long.
2004-09-06 14:51:32 +00:00
manu
753bcaf581 IPv4 PIM support, from the submission of Pavlin Radoslavov on tech-net@ 2004-09-04 23:35:43 +00:00
atatat
14eee8f4cc Rework sys/netipsec/ipsec_netbsd.c to present a more consistent tree.
Rework usr.bin/netstat/fast_ipsec.c to find the stats nodes under the
new names (Kame uses the name stats so we use different ones), as well
as setting slen appropriately between calls to sysctlbyname(), and
providing forward compatibility when actually retrieving stats via
sysctlbyname().

And correct a spelling error.
2004-07-17 16:36:39 +00:00
jonathan
f8aeaf6223 Fix two stupid bugs I introduced with stats for fast-ipsec:
1. Pass the caller-supplied protocol name down through ipsec_switch().

2. Remove my poor attempt to print fast-ipsec stats automagically for
`netstat -s'.  The previous code would print (fast)IPsec per-protocol
stats even for 'netstat', which is just wrong.

A better fix would be to enumerate the sub-"protocols" under IPsec;
but first lets fix the broken behaviour now, for a pullup to 2.0.
2004-06-27 01:10:53 +00:00
christos
45a11d4b25 Temporary hack to fix ipsec stats lossage. Atatat, are you listening? 2004-06-06 17:11:48 +00:00
itojun
cf6b841417 print stat for TCP MD5 signature 2004-05-18 14:44:41 +00:00
petrov
68cb92eb3b Forgotten $ for NetBSD key. 2004-05-09 03:20:44 +00:00
petrov
6e4bb32a73 Use int_fmtio.h and PRUx formats for longs. 2004-05-09 03:18:50 +00:00
jonathan
85b3ba5bf1 Redo net.inet.* sysctl subtree for fast-ipsec from scratch.
Attach FAST-IPSEC statistics with 64-bit counters to new sysctl MIB.
Rework netstat to show FAST_IPSEC statistics, via sysctl,  for
netstat -p ipsec.

New kernel files:
	sys/netipsec/Makefile		(new file; install *_var.h includes)
	sys/netipsec/ipsec_var.h	(new 64-bit mib counter struct)

Changed kernel files:
	sys/Makefile			(recurse into sys/netipsec/)
	sys/netinet/in.h		(fake IP_PROTO name for fast_ipsec
					sysctl subtree.)
	sys/netipsec/ipsec.h		(minimal userspace inclusion)
	sys/netipsec/ipsec_osdep.h	(minimal userspace inclusion)
	sys/netipsec/ipsec_netbsd.c	(redo sysctl subtree from scratch)
	sys/netipsec/key*.c		(fix broken net.key subtree)

	sys/netipsec/ah_var.h		(increase all counters to 64 bits)
	sys/netipsec/esp_var.h		(increase all counters to 64 bits)
	sys/netipsec/ipip_var.h		(increase all counters to 64 bits)
	sys/netipsec/ipcomp_var.h	(increase all counters to 64 bits)

	sys/netipsec/ipsec.c		(add #include netipsec/ipsec_var.h)
	sys/netipsec/ipsec_mbuf.c	(add #include netipsec/ipsec_var.h)
	sys/netipsec/ipsec_output.c	(add #include netipsec/ipsec_var.h)

	sys/netinet/raw_ip.c		(add #include netipsec/ipsec_var.h)
	sys/netinet/tcp_input.c		(add #include netipsec/ipsec_var.h)
	sys/netinet/udp_usrreq.c	(add #include netipsec/ipsec_var.h)

Changes to usr.bin/netstat to print the new fast-ipsec sysctl tree
for "netstat -s -p ipsec":

New file:
	usr.bin/netstat/fast_ipsec.c	(print fast-ipsec counters)

Changed files:
	usr.bin/netstat/Makefile	(add fast_ipsec.c)
	usr.bin/netstat/netstat.h	(declarations for fast_ipsec.c)
	usr.bin/netstat/main.c		(call KAME-vs-fast-ipsec dispatcher)
2004-05-07 00:55:14 +00:00
atatat
e9814619fb sysctl(3) no longer returns ENOPROTOOPT in this case, but ENOENT,
which is a more generic "that's not in the tree" response.

ENOPROTOOPT was specific to the net subtree under the old framework,
and didn't add much value (other than letting the caller know they
were looking up something under the net subtree, which they presumably
ought to have known already).
2004-04-09 18:48:05 +00:00
ragge
ab6a210f76 Use itimerval() instead of alarm() for interval displaying. This increases
accuracy on interval stats also on fast machines.
2003-11-15 11:54:34 +00:00
itojun
9a941e2d01 handle KAME scopeid hack for multicast addr. Matthias Drochner 2003-11-06 06:11:48 +00:00
enami
07bf4ffc50 mbstat.m_drain is still maintained. Don't skip it. 2003-10-18 12:26:26 +00:00
enami
52b6a13784 Print ips_rcvmemdrop and ips_nogif. 2003-10-17 22:28:11 +00:00
itojun
070ac19762 fix PR bin/22739 (netstat -nlv -f inet6 weird) 2003-09-12 10:43:42 +00:00
itojun
0162be23d0 synchronize w/ inpcb/in6pcb change 2003-09-04 09:23:35 +00:00
itojun
c636858983 correct strange indentation 2003-08-19 12:52:13 +00:00
agc
89aaa1bb64 Move UCB-licensed code from 4-clause to 3-clause licence.
Patches provided by Joel Baker in PR 22365, verified by myself.
2003-08-07 11:13:06 +00:00
itojun
4c488f6bec always print prefixlen for routes. it's CIDR age. 2003-08-04 11:10:33 +00:00
itojun
182a98314c support new algorithms 2003-07-25 10:06:09 +00:00
itojun
aa96314290 support hmac-sha2. 2003-07-22 03:41:28 +00:00
he
80ccb5520c As a temporary workaround, apply the fix from PR#20390, thereby
cooperating with the callout code in working around the race
condition caused by the TCP code's use of the callout facility.

Instead of unconditionally releasing memory in tcp_close() and
SYN_CACHE_PUT(), check whether any of the related callout handlers
are about to be invoked (but have not yet done callout_ack()), and
if so, just mark the associated data structure (tcpcb or syn cache
entry) as "dead", and test for this (and release storage) in the
callout handler functions.
2003-07-20 16:35:07 +00:00
itojun
417386ecc9 strlcpy 2003-07-12 13:38:10 +00:00
itojun
47d22404d4 use proper #ifdef to determine behavior (__KAME__) 2003-05-14 23:36:32 +00:00
lukem
ef83aa34d9 clear errno before strto(u)l() if we're going to test it for ERANGE afterwards 2003-04-18 03:21:00 +00:00
itojun
01757d86d6 make char array bigger where it seems too small and may overrun. 2003-04-15 08:07:10 +00:00
jdolecek
842b4adcdc it's not necessary to limit the service name artificially to 8 characters
in inet*print() - only first 'width' characters of the 'host.service'
string would be printed anyway, so allow full service name if string would fit
2003-03-22 15:18:36 +00:00
itojun
424153ef69 TF_PROTO1/2 mixup. from itou makoto 2003-03-02 01:59:06 +00:00
enami
acf5c11cc1 Don't use uninitialized variable. 2003-02-27 08:07:14 +00:00
matt
65e5548a17 Add MBUFTRACE kernel option.
Do a little mbuf rework while here.  Change all uses of MGET*(*, M_WAIT, *)
to m_get*(M_WAIT, *).  These are not performance critical and making them
call m_get saves considerable space.  Add m_clget analogue of MCLGET and
make corresponding change for M_WAIT uses.
Modify netinet, gem, fxp, tulip, nfs to support MBUFTRACE.
Begin to change netstat to use sysctl.
2003-02-26 06:31:08 +00:00
wiz
990562bfef .Nm does not need a dummy argument ("") before punctuation or
for correct formatting of the SYNOPSIS any longer.
2003-02-25 10:34:36 +00:00
perry
8a49ec08e4 "Utilize" has exactly the same meaning as "use," but it is more
difficult to read and understand. Most manuals of English style
therefore say that you should use "use".
2003-02-04 23:07:28 +00:00
thorpej
9abf2fa449 Update for callout changes, and show TCP timers in relative, rather
than absolute ticks.
2003-02-04 01:22:08 +00:00
thorpej
7d9af30957 Test CALLOUT_PENDING, not CALLOUT_ACTIVE. 2003-02-03 23:37:09 +00:00
christos
0fcef5865c undo mallocvar.h changes! 2003-02-02 02:35:58 +00:00
tron
1161776951 Include "sys/mallocvar.h" with "_KERNEL" defined in time to avoid
build failure because MALLOC_DECLARE() is not defined.
2003-02-01 18:35:44 +00:00
martin
304244f5d7 Avoid integer overflow in percent calculation when facing a mbuf leak.
Fixes PR bin/19381 by Michael van Elst (slightly different than suggested).
2002-12-14 11:12:24 +00:00
grant
b1aed1c393 fix typo, from sm@resistor.net in misc/18816. 2002-10-26 17:06:08 +00:00
grant
be8ae688ae New sentence, new line. 2002-09-30 11:08:56 +00:00
lukem
5d4973fe97 makefile delint. use NETBSDSRCDIR as appropriate 2002-09-18 14:00:33 +00:00
enami
0512a0df7f Add more software intrq. 2002-07-23 23:34:39 +00:00
itojun
15168e8feb typo. sync w/kame 2002-07-03 07:35:40 +00:00
enami
54a4e901f8 Introduce -q flag to print some information (like number of packets dropped
due to queue full) about software interrupt queues such as ipintrq.
2002-07-03 01:42:59 +00:00
soren
81abc60321 Sync SYNOPSIS and usage() with reality. 2002-07-02 21:34:18 +00:00
itojun
8b228ca304 use macro to determine link-local multicast addr 2002-06-19 23:38:59 +00:00
itojun
9be14081f9 identify kame scopeid hack with KAME_SCOPEID 2002-06-19 16:42:09 +00:00
itojun
f51456c273 err/errx/warn/warnx do not need \n at the end 2002-06-11 06:06:18 +00:00
itojun
95c1349e5d use strchr, not index 2002-06-09 02:44:55 +00:00
yamt
be385ec4c0 make an auto const variable static. 2002-06-08 14:56:26 +00:00
itojun
3a544704fb member of mrtstat are u_long, so %lu is more appropriate than %ld. 2002-06-02 15:45:58 +00:00
itojun
e0280bbb53 KNF 2002-06-02 15:25:42 +00:00
itojun
3e7ae517e0 path MTU discovery blackhole detection.
PR 12790 (sorry for not committing it for a long time)
2002-05-26 16:05:43 +00:00
matt
83765a6e69 Don't count on kernel includes to exports user variables. 2002-05-13 05:13:23 +00:00
itojun
53a52c0ad8 pfkey statistics was presented in wrong direction. 2002-03-21 04:23:36 +00:00
sommerfeld
16d5bd2bae Adapt to pool rototill. 2002-03-09 23:26:51 +00:00
lukem
a3bab9b7d7 clarification of vflag 2002-02-27 03:55:14 +00:00
lukem
e16c1d5cbc if not -n and the local socket doesn't have INP_ANONPORT set, always try
to determine the symbolic name of the foreign port.

previously the foreign port would be displayed numerically in this case if
the local & foreign ports were different.  this particular behaviour was
added in rev 1.28 when I added INP_ANONPORT support from FreeBSD, and for
the life of me I can't fathom the rationale for it ;-|
2002-02-27 02:33:51 +00:00
wiz
aded0d2cce Whitespace cleanup. 2001-12-01 16:43:07 +00:00
itojun
c868e666a2 print rip6stat. sync with kame 2001-10-18 09:26:16 +00:00
bjh21
f4c2a9f013 Use getnameinfo() to format link-layer addresses for netstat -r rather than
doing it ourselves and falling back to link_ntoa().
2001-10-06 18:56:49 +00:00
bjh21
3369b8a6bb Use getnameinfo() for printing link-layer addresses in netstat -i, rather
than doing it ourselves.
2001-10-06 18:48:30 +00:00
thorpej
daa2a3c1a7 Fix a printf format/argument cast. 2001-09-15 16:28:15 +00:00
thorpej
9c5f5108f7 tcp_dump(): Also print the address of the in6pcb. 2001-09-10 22:19:03 +00:00
thorpej
2807c29a57 Update for TCP timer changes. 2001-09-10 22:17:28 +00:00
thorpej
2dcc5d04ec Update for field name changes in struct tcpcb. 2001-09-10 15:25:24 +00:00
thorpej
dc5de996f4 Make the PCB address printing look like the IPv4 version. 2001-09-10 14:25:12 +00:00
sommerfeld
e15a851896 Cross-reference fstat(1) 2001-09-03 14:56:08 +00:00
itojun
bc9b3f2aa8 snprintf length audit. from openbsd 2001-08-19 02:01:24 +00:00
itojun
8499f264ae present SPD cache lookup stats. sync with kame 2001-08-06 10:25:54 +00:00
wiz
3f9984fc90 existent', not existant' 2001-06-19 13:42:07 +00:00
itojun
1dca70a51b typo 2001-06-13 02:50:25 +00:00
itojun
33f046d400 typo 2001-05-28 05:52:41 +00:00
assar
7aedc79d5e add `-s' that prints port numbers symbolically but addresses numerically 2001-05-28 04:22:55 +00:00
wiz
7da30c83ac Change xref for vmstat(8) to vmstat(1).
Whitespace, punctuation and spelling fixes while I'm here.
2001-05-06 23:48:31 +00:00
itojun
ea6a7c4787 pedant changes for strcpy/sprintf. 2001-04-06 05:10:28 +00:00
christos
7ee2aad347 PR/12517: Izumi Tsutsui: Don't use paddr_t in netstat; change to u_long 2001-03-31 20:11:18 +00:00
itojun
09afaac4e2 add sctp (maybe we should add it to /etc/protocols instead?) 2001-03-20 17:02:33 +00:00
itojun
dd99f85c8e add few icmp type names.
http://www.isi.edu/in-notes/iana/assignments/icmp-parameters
2001-03-20 17:00:08 +00:00
enami
33ee74b742 Print hopcount too when -rv is given. 2001-03-08 03:47:04 +00:00
itojun
7806b5d1f3 increase ipstat.ips_badaddr if the packet fails to pass address checks. 2001-03-02 04:26:10 +00:00
itojun
e79a9123a3 use u_quad_t for rtstat.
not sure if it really matters, but short (32K) looks way too small given
recent fat pipes connecting *BSD boxes, and our great uptime :-).
2001-02-21 05:45:11 +00:00
cgd
a8ec668ddf convert to use getprogname() 2001-02-19 23:03:42 +00:00
itojun
22b473e0f6 during ip6/icmp6 inbound packet processing, do not call log() nor printf() in
normal operation (/var can get filled up by flodding bogus packets).
sysctl net.inet6.icmp6.nd6_debug will turn on diagnostic messages.
(#define ND6_DEBUG will turn it on by default)

improve stats in ND6 code.

lots of synchronziation with kame (including comments and cometic ones).
2001-02-07 08:59:47 +00:00
itojun
fee00b1a78 mark cloned routes with RTF_CLONED. present it with netstat -r by "c".
let static routes overwrite cloned routes, as cloned routes can come back again
if necessary.  behavior same as freebsd/bsdi, code partially from bsdi42.
(NRL rt->rt_parent was not added)
should fix PR 11916 and maybe some other PRs with ARP behavior.

recompilation of usr.sbin/route6d is suggested.
2001-01-27 04:49:31 +00:00
itojun
b206900063 try to lookup /etc/protocols for histogram 2000-12-14 20:38:10 +00:00
itojun
8b398d8448 typo in -s message 2000-12-11 17:52:43 +00:00
matt
c3405770e4 Do the same IEEE1394 address hack in here. 2000-11-14 23:07:40 +00:00
matt
b6e8f357a2 Print out IEEE1394 addresses with : . Add a hack to limit the address
to 8 bytes.
2000-11-14 23:00:57 +00:00
itojun
35ff033435 more fix to "pfkey printed twice" problem. PR 11323 from ura. 2000-10-28 03:53:33 +00:00
itojun
3029ed7874 count path MTU changes. 2000-10-23 03:46:23 +00:00