164 Commits

Author SHA1 Message Date
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