Commit Graph

409 Commits

Author SHA1 Message Date
martin
ce099b4099 Remove clause 3 and 4 from TNF licenses 2008-04-28 20:22:51 +00:00
thorpej
c7ece08d20 net.atalk, not net.at. 2008-04-24 04:09:50 +00:00
thorpej
40edcfedc2 Note which things are not available by KVM, and print a nice message
stating so if someone specifically asks for it.
2008-04-24 04:09:27 +00:00
thorpej
9af7365b12 Make note of a few things no longer available via kvm. 2008-04-24 03:46:25 +00:00
thorpej
2654d13326 netns is no longer in the tree; completely purge it from netstat(1). 2008-04-23 15:35:37 +00:00
thorpej
d2d995427e Make DDP stats per-cpu. While here, bump the counters to 64-bit and
make them available by sysctl.
2008-04-23 15:17:42 +00:00
plunky
6aadc469d7 don't include <cons_pcb.h> as it is unnecessary 2008-04-23 08:26:47 +00:00
thorpej
02f63fe1bf PF_KEY stats for IPSEC and FAST_IPSEC are now per-CPU. 2008-04-23 07:29:47 +00:00
thorpej
caf49ea572 Make IPSEC and FAST_IPSEC stats per-cpu. Use <net/net_stats.h> and
netstat_sysctl().
2008-04-23 06:09:04 +00:00
thorpej
6144958d8f ARP and IGMP stats are now available by sysctl. 2008-04-15 16:06:28 +00:00
thorpej
83dd106948 Make IGMP stats per-cpu. 2008-04-15 16:02:03 +00:00
thorpej
881a947288 Make ARP stats per-cpu. 2008-04-15 15:17:54 +00:00
thorpej
1121526b25 Make CARP status per-cpu. 2008-04-15 06:03:28 +00:00
thorpej
0e499be12d Make pim6 stats per-cpu. 2008-04-15 05:40:15 +00:00
thorpej
16497cdf28 Make raw6 stats per-cpu. 2008-04-15 05:13:37 +00:00
thorpej
db098952cf Use ANSI function decls throughout. 2008-04-15 04:50:05 +00:00
thorpej
c2da059bc6 Make udp6 stats per-cpu. 2008-04-15 04:43:25 +00:00
thorpej
3f466bce48 Change IPv6 stats from a structure to an array of uint64_t's.
Note: This is ABI-compatible with the old ip6stat structure; old netstat
binaries will continue to work properly.
2008-04-08 23:37:43 +00:00
thorpej
aa8724ff7b Change ICMP6 stats from a structure to an array of uint64_t's.
Note: This is ABI-compatible with the old icmp6stat structure; old netstat
binaries will continue to work properly.
2008-04-08 15:04:35 +00:00
thorpej
f5c68c0b9f Change TCP stats from a structure to an array of uint64_t's.
Note: This is ABI-compatible with the old tcpstat structure; old netstat
binaries will continue to work properly.
2008-04-08 01:03:58 +00:00
thorpej
88d65e9212 Change IP stats from a structure to an array of uint64_t's.
Note: This is ABI-compatible with the old ipstat structure; old netstat
binaries will continue to work properly.
2008-04-07 06:31:27 +00:00
jnemeth
65c35115a2 fix build problem introduced in 1.79 2008-04-06 21:53:25 +00:00
thorpej
738aabaf82 Change UDP stats from a structure to an array of uint64_t's.
Note: This is ABI-compatible with the old icmpstat structure; old netstat
binaries will continue to work properly.
2008-04-06 20:17:27 +00:00
thorpej
67b7abb1ce Change ICMP stats from a structure to an array of uint64_t's.
Note: This is ABI-compatible with the old icmpstat structure; old netstat
binaries will continue to work properly.
2008-04-06 19:04:48 +00:00
ad
835572acdb - Define _KERNEL for sys/types.h in unix.c.
- caddr_t -> char * in a couple of places.
2008-02-27 16:36:54 +00:00
matt
3b1e7dbd0b Fix more -combine fallout. (mismatched definitions) 2008-02-16 07:16:01 +00:00
dyoung
5448ecad57 #include <stdbool.h> for 'bool', so that this kernel groveller will
hopefully compile again.
2008-01-21 20:34:13 +00:00
yamt
0116b931c2 sync with kernel. (make some mbuf related statistics per-cpu.) 2008-01-17 14:53:18 +00:00
yamt
bfc70617c5 mbpr: fix a harmless bug. (sizeof pointer -> sizeof *pointer) 2008-01-14 12:56:05 +00:00
degroote
11c94c257e Report the new ipcomp stats under FAST_IPSEC : ipcomps_minlen and
ipcomps_uselesscomp
2007-12-29 21:36:43 +00:00
seanb
769f8347e5 Report ipsecstats.ips_spdcache_miss under FAST_IPSEC correctly. 2007-12-05 00:51:12 +00:00
yamt
bea40b2aa3 don't bother to print unmaintained statistics. (m_drops, m_wait) 2007-11-10 12:05:08 +00:00
christos
2668450a7f include stdbool.h instead of typedefing bool to int 2007-11-09 04:11:47 +00:00
jnemeth
e98c476705 bump date 2007-08-30 18:52:36 +00:00
jnemeth
1ff05f7784 PR/36867 - Zafer Aydogan -- trsp is no longer 2007-08-30 18:51:32 +00:00
pavel
c723e7a07c Add xref to sockstat, from Zafer Aydogan in PR misc/36706.
Bump date.
2007-07-30 19:59:42 +00:00
dyoung
458b31be33 rt_key() is no more. Use rt_getkey(). 2007-07-19 20:51:04 +00:00
ad
75ff053010 Make netstat build again. I don't see why it has any business dumping
the raw contents of tcpcb but that's another story.
2007-07-10 21:12:32 +00:00
tls
4147a3c54a Add new Makefile knob, USE_FORT, which extends USE_SSP by turning on the
FORTIFY_SOURCE feature of libssp, thus checking the size of arguments to
various string and memory copy and set functions (as well as a few system
calls and other miscellany) where known at function entry.  RedHat has
evidently built all "core system packages" with this option for some time.

This option should be used at the top of Makefiles (or Makefile.inc where
this is used for subdirectories) but after any setting of LIB.

This is only useful for userland code, and cannot be used in libc or in
any code which includes the libc internals, because it overrides certain
libc functions with macros.  Some effort has been made to make USE_FORT=yes
work correctly for a full-system build by having the bsd.sys.mk logic
disable the feature where it should not be used (libc, libssp iteself,
the kernel) but no attempt has been made to build the entire system with
USE_FORT and doing so will doubtless expose numerous bugs and misfeatures.

Adjust the system build so that all programs and libraries that are setuid,
directly handle network data (including serial comm data), perform
authentication, or appear likely to have (or have a history of having)
data-driven bugs (e.g. file(1)) are built with USE_FORT=yes by default,
with the exception of libc, which cannot use USE_FORT and thus uses
only USE_SSP by default.  Tested on i386 with no ill results; USE_FORT=no
per-directory or in a system build will disable if desired.
2007-05-28 12:06:17 +00:00
mlelstv
0de32b854f Fall back to kvm interface for protocols that do not yet
offer a sysctl interface. Fixes PR bin/36210.
2007-04-27 18:37:53 +00:00
liamjfoy
5e73ba0829 Add new IPv6 Fast Forward statistics 2007-03-07 22:22:50 +00:00
hubertf
96ed6e7862 Make this compile after TSEL() const poisoning
OK'd by dyoung@
2007-02-18 01:56:17 +00:00
hubertf
48b31403c5 Remove duplicate #includes
From Slava Semushin <slava.semushin@gmail.com>, via private mail
2007-01-17 00:21:43 +00:00
jdc
40b89794d7 Don't print "default" when the netmask is non-zero.
Also tested by mlelstv@.
2006-12-23 11:05:14 +00:00
elad
26e33be266 PR/35056: Keiichi Shima: netstat does not compile in crunched environment
Patch applied, thanks!
2006-11-15 11:55:00 +00:00
elad
c136b6cd0d Refactor code a bit so we only use kmem when we really need it. 2006-10-13 16:33:57 +00:00
mlelstv
05f80f69b3 avoid signed/unsigned error when computing mask lengths for empty
masks with sa_len == 0 (happens for inet6 default route).
2006-10-03 08:30:12 +00:00
elad
65305bdc98 Good intentions are still intentions. If we can't open kvm, but we still
have sysctl, it's still not enough for -P. A groveler is a groveler is
a groveler.

On a different note, this code needs a rewrite.
2006-09-27 12:51:43 +00:00
elad
a81bf90a94 PR/31347: Geoff C. Wing: netstat err message is ambiguous about cause
Applied patch, thanks!
2006-09-22 23:21:52 +00:00
elad
b77c058061 We now have CARP, so don't skip IFT_CARP in link_print(). 2006-09-16 12:25:11 +00:00
christos
32f8a691e7 - Back to using kvm if we have access to it, since the sysctl stats do not
yet support all the fields we need.
- Don't core-dump if we could not open the kvm file.
2006-09-14 20:43:50 +00:00
christos
13a976b45e print "-"'s for the statistics that we don't support in the sysctl interface
and make columns aligned again.
2006-09-14 20:42:34 +00:00
rpaulo
2fb2ae3251 Import of TCP ECN algorithm for congestion control.
Both available for IPv4 and IPv6.
Basic implementation test results are available at
http://netbsd-soc.sourceforge.net/projects/ecn/testresults.html.

Work sponsored by the Google Summer of Code project 2006.
Special thanks to Kentaro Kurahone, Allen Briggs and Matt Thomas for their
help, comments and support during the project.
2006-09-05 00:29:35 +00:00
matt
a5db205458 Conditionalize XNS support. No longer enabled. 2006-08-26 15:33:20 +00:00
christos
c10a5d302a well, the || needed to be an && and the operand order needed to be changed.
XXX: There are still things like interface printing that need kvm.
2006-08-22 20:06:17 +00:00
christos
ed6a70d32a Fix another && || confusion, from Kurt Schreiner, thanks! 2006-08-21 18:31:24 +00:00
christos
a49f247028 Don't use || if you need &&. 2006-08-17 22:23:07 +00:00
rpaulo
4381b9dc9b Revert previous. 2006-08-17 01:42:57 +00:00
rpaulo
d7a463a8aa Adapt to ECN. 2006-08-17 01:32:13 +00:00
rpaulo
63b3e9f51c It's not an error if we can't print CARP stats, it just means it's not built
in.
2006-06-20 19:22:17 +00:00
christos
13b8a79d82 PR/33677: Scott Ellis: Building with MKINET6=no causes netstat to fail compiling 2006-06-09 16:39:11 +00:00
elad
fb101b952c another netstat fix, Kurt Schreiner. thanx! 2006-06-04 22:39:33 +00:00
elad
e7a2ce04a1 fix logic; from Kurt Schreiner 2006-06-04 20:01:14 +00:00
rpaulo
088720fe4b Don't print an error if kernel doesn't have INET6 support.
By Jukka Salmi on current-users.
2006-05-31 13:26:17 +00:00
elad
5d7aa1a613 Make netstat use sysctl when dumping routing tables/stats.
Heavily based on similar code from Claudio Jeker (at OpenBSD).

While here, fix inet/inet6 sysctl stuff commited previously to
actually work, and some other nits to make netstat more sysctl
friendly.

One step closer to losing setgid kmem on this one...
2006-05-28 16:51:40 +00:00
elad
48404677c4 be quiet if symbol not in namelist, nothing cares 2006-05-27 23:57:32 +00:00
rpaulo
f6e31a1aa2 Fix carp_stats() prototype location.
Noticed by Iain Hibbert.
2006-05-23 14:31:11 +00:00
liamjfoy
362a260c6d check if malloc(3) failed
ok joerg@
2006-05-21 21:01:55 +00:00
riz
64cde4117b Use PRIu64 to format uint64_t quantities, instead of %llu, in
newly-introduced code.

XXX more %llu cleanup is needed throughout netstat code.
2006-05-18 17:19:22 +00:00
liamjfoy
4876c304b1 Integrate Common Address Redundancy Procotol (CARP) from OpenBSD
'pseudo-device	carp'

Thanks to: joerg@ christos@ riz@ and others who tested
Ok: core@
2006-05-18 09:05:49 +00:00
mrg
0e223467a4 nfiles -> ns_nfiles (conflicts with kernel header files and _KERNEL.) 2006-05-11 01:23:20 +00:00
rpaulo
32f6ca81fb snprintf returns int, not size_t. CID 691.
From bjh21.
2006-04-06 18:30:31 +00:00
christos
6e2787485e Coverity CID 2336: Fix memory leak. 2006-04-02 03:19:34 +00:00
rpaulo
fbe17c43c7 Bump date for previous. 2005-12-28 22:53:59 +00:00
rpaulo
fa0b253ddc Explain the netstat -B flag column. 2005-12-28 17:57:16 +00:00
rpaulo
e5a1f0391d Convert 3 printf() calls into one puts(). 2005-11-21 22:43:34 +00:00
drochner
360dbbc86f make bpf stats #ifndef SMALL,
fixes build of x_netstat
2005-09-14 15:35:26 +00:00
wiz
b5e0c3219f Punctuation fix. From YOMURA Masanori in private mail. 2005-09-11 23:20:12 +00:00
wiz
ad44d18838 Argument is address_family, not "address family". From YOMURA Masanori in private mail. 2005-09-11 23:19:27 +00:00
elad
4c70438790 Use sysctl to fetch AF_LOCAL PCB lists if reading live kernel. 2005-09-04 18:59:57 +00:00
rpaulo
f20c174719 Place the sysctl code under an if block and print an error message if the
user tries to fetch information via kvm.

Discussed with Elad Efrat.
2005-09-02 22:52:24 +00:00
rpaulo
d65009381e Request process information using sysctl(3) and not kvm(3) since bpf(4)
statistics and peers are only available using the former.
2005-09-02 22:23:13 +00:00
rpaulo
c5a8fe81ae Use net.inet6.{ip6,udp6,pim6,raw6}.stats for live systems.
Reviewed by Elad Efrat.
2005-08-28 21:06:57 +00:00
rpaulo
51345e62d3 Use net.inet6.tcp6.pcblist, net.inet6.tcp6.stats (not implemented yet) and
net.inet6.icmp6.stats if we are gathering information from a live system.

Reviewed by Elad Efrat.
2005-08-28 16:12:35 +00:00
elad
bbf85a429b Use PRIxPTR when printing a pointer. 2005-08-12 14:08:16 +00:00
he
4577ef8d16 Replace usage of caddr_t with intptr_t, to allow this to build cleanly
on both 32- and 64-bit archs.
2005-08-08 12:11:52 +00:00
elad
dbc883fab2 Use sysctl to read live kernel PF_INET PCBs. 2005-08-07 17:10:36 +00:00
elad
c1494c99c6 Use sysctl to fetch IP, ICMP, TCP, and UDP statistics. 2005-08-06 17:58:13 +00:00
rpaulo
ec70a5dc17 Explained how -B works and how it works in conjunction with -I or -s.
Reviewed by wiz@
2005-08-06 11:23:32 +00:00
elad
8920c39bb8 Fix printing formats. 2005-08-05 12:16:51 +00:00
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