History log of /freebsd-head/usr.bin/netstat/inet6.c
Revision Date Author Comments
de9f739c2b491a7144c1c35be9c051ac74473f4c 04-Mar-2020 bz <bz@FreeBSD.org> Add new ICMPv6 counters for Anti-DoS limits.

Add four new counters for ND6 related Anti-DoS measures.
We split these out into a separate upfront commit so that we only
change the struct size one time. Implementations using them will
follow.

PR: 157410
Reviewed by: melifaro
MFC after: 2 weeks
X-MFC: cannot really MFC this without breaking netstat
Sponsored by: Netflix (initially)
Differential Revision: https://reviews.freebsd.org/D22711
9a01cf037675a0ea6e99544f9cadcbaaca410be7 01-Aug-2019 bz <bz@FreeBSD.org> IPv6 cleanup: netstat

Rename the variable for the in6_addr from in6p to ia6 to follow the
convention generally used in FreeBSD.

No functional changes.

MFC after: 3 months
Sponsored by: Netflix
56e95f6462c99890fdabe5551779247c7e32537c 19-Apr-2019 thj <thj@FreeBSD.org> Add stat counter for ipv6 atomic fragments

Add a stat counter to track ipv6 atomic fragments. Atomic fragments can be
generated in response to invalid path MTU values, but are also a potential
attack vector and considered harmful (see RFC6946 and RFC8021).

While here add tracking of the atomic fragment counter to netstat and systat.

Reviewed by: tuexen, jtl, bz
Approved by: jtl (mentor), bz (mentor)
Event: Aberdeen hackathon 2019
Differential Revision: https://reviews.freebsd.org/D17511
872b698bd4a1bfc0bf008c09228e6fd238809c75 20-Nov-2017 pfg <pfg@FreeBSD.org> General further adoption of SPDX licensing ID tags.

Mainly focus on files that use BSD 3-Clause license.

The Software Package Data Exchange (SPDX) group provides a specification
to make it easier for automated tools to detect and summarize well known
opensource licenses. We are gradually adopting the specification, noting
that the tags are considered only advisory and do not, in any way,
superceed or replace the license texts.

Special thanks to Wind River for providing access to "The Duke of
Highlander" tool: an older (2014) run over FreeBSD tree was useful as a
starting point.
bf46da77c5eb94d98bb2432e72e0f52ceac4dd9d 07-Apr-2017 asomers <asomers@FreeBSD.org> usr.bin/netstat: strcpy -> strlcpy

Reported by: Coverity
CID: 1006741, 1006744
MFC after: 3 weeks
Sponsored by: Spectra Logic Corp
7e6cabd06e6caa6a02eeb86308dc0cb3f27e10da 28-Feb-2017 imp <imp@FreeBSD.org> Renumber copyright clause 4

Renumber cluase 4 to 3, per what everybody else did when BSD granted
them permission to remove clause 3. My insistance on keeping the same
numbering for legal reasons is too pedantic, so give up on that point.

Submitted by: Jan Schaumann <jschauma@stevens.edu>
Pull Request: https://github.com/freebsd/freebsd/pull/96
0682ff789aa7baf864b7049c99120a80c39e529d 05-Jan-2017 ume <ume@FreeBSD.org> When displaying netstat details with libxo in JSON
or XML modes, the value conversion for tcp6 and udp6
port numbers drops last digit.

PR: 215682
MFC after: 3 days
1b12c4f0adbb7641116ff77a2a7eb4fb00abf1bc 05-Jan-2017 delphij <delphij@FreeBSD.org> Use strlcpy and snprintf in netstat(1).

Expand inet6name() line buffer to NI_MAXHOST and use strlcpy/snprintf
in various places.

Reported by: Anton Yuzhaninov <citrin citrin ru>
MFC after: 3 days
Differential Revision: https://reviews.freebsd.org/D8916
615d47e6cd4f1989a9532b72bcbc3c834ee0ef12 17-Aug-2016 tuexen <tuexen@FreeBSD.org> Fix the output for scope statistics.

MFC after: 3 days
697fdb532f7fecba6bd31687b393ba99f5f510ca 17-Aug-2016 tuexen <tuexen@FreeBSD.org> Use names for SCTP and UDPLite when reporting the input histogram.

MFC after: 3 days
00d578928eca75be320b36d37543a7e2a4f9fbdb 27-May-2016 grehan <grehan@FreeBSD.org> Create branch for bhyve graphics import.
513e9b690f5bb0abdec4b77b4ab0de8385608740 07-Jan-2016 markj <markj@FreeBSD.org> MFC r287649:
Use a common subroutine to fetch and zero protocol stats instead of
duplicating roughly similar code for each protocol.
65d9a559eb7b19c7541531c4e8891e6d45b00ff2 11-Sep-2015 markj <markj@FreeBSD.org> Use a common subroutine to fetch and zero protocol stats instead of
duplicating roughly similar code for each protocol.

MFC after: 2 weeks
df2a89db2bc25e73b139f02c6fbe0095a4168253 01-Sep-2015 hrs <hrs@FreeBSD.org> - Add -W flag support for network column in intpr() (-i flag) and
routepr() (-r flag). It is too narrow to show an IPv6 prefix
in most cases.

- Accept "local" as a synonym of "unix" in protocol family name.

- Show a prefix length in CIDR notation when name resolution failed in
netname().

- Make routename() and netname() AF-independent and remove
unnecessary typecasting from struct sockaddr.

- Use getnameinfo(3) to format L2 addr in intpr().

- Fix a bug which showed "Address" when -A flag is specfied in pr_rthdr().

- Replace cryptic GETSA() macro with SA_SIZE().

- Fix declarations shadowing local variables with the same names.

- Add more static, remove unused header files and variables.

MFC after: 1 week
78d51c7b15fc92383c6c68b46966248bdaf2bf1a 06-Apr-2015 glebius <glebius@FreeBSD.org> Stop including if_var.h from userland.

Sponsored by: Nginx, Inc.
0ea1b83e3703e39c50804c558e396324cec66c74 21-Feb-2015 marcel <marcel@FreeBSD.org> Convert netstat to use libxo.

Obtained from: Phil Shafer <phil@juniper.net>
Ported to -current by: alfred@ (mostly), Kim Shrier
Formatting: marcel@
Sponsored by: Juniper Networks, Inc.
142c06446733cb14eb874687d9867f69af201fba 09-Oct-2014 ae <ae@FreeBSD.org> MFC r271307:
Add the ability to set `prefer_source' flag to an IPv6 address.
It affects the IPv6 source address selection algorithm (RFC 6724)
and allows override the last rule ("longest matching prefix") for
choosing among equivalent addresses. The address with `prefer_source'
will be preferred source address.
7d73ba180413c78ba7f2aedb71d93b28251d69d2 09-Sep-2014 ae <ae@FreeBSD.org> Add the ability to set `prefer_source' flag to an IPv6 address.
It affects the IPv6 source address selection algorithm (RFC 6724)
and allows override the last rule ("longest matching prefix") for
choosing among equivalent addresses. The address with `prefer_source'
will be preferred source address.

Obtained from: Yandex LLC
MFC after: 1 month
Sponsored by: Yandex LLC
7bed52c05ca12043d7c337b875d7d6420427f516 08-Sep-2014 ae <ae@FreeBSD.org> MFC r270927:
Add the reverse part to rule #9. Also change its description in the
netstat(8) output.

Approved by: re (gjb)
5a094736fbe3fd6bd8c010c175a09079474f21b1 06-Sep-2014 markj <markj@FreeBSD.org> MFC r270348:
Add some missing checks for unsupported interfaces (e.g. pflog(4)) when
handling ioctls. While here, remove duplicated checks for a NULL ifp in
in6_control(): this check is already done near the beginning of the
function.

MFC r270349:
Suppress warnings when retrieving protocol stats from interfaces that
don't support IPv6 (e.g. pflog(4)).

PR: 189117
Approved by: re (gjb)
65268873074c1a5601b89f47b69d241655c3d53d 01-Sep-2014 ae <ae@FreeBSD.org> Add the reverse part to rule #9. Also change its description in the
netstat(8) output.

MFC after: 1 week
ac07a3a377c1f2e90359917365a185ca33f0cf46 22-Aug-2014 markj <markj@FreeBSD.org> Suppress warnings when retrieving protocol stats from interfaces that
don't support IPv6 (e.g. pflog(4)).

Reviewed by: hrs
MFC after: 2 weeks
eb1a5f8de9f7ea602c373a710f531abbf81141c4 21-Feb-2014 gjb <gjb@FreeBSD.org> Move ^/user/gjb/hacking/release-embedded up one directory, and remove
^/user/gjb/hacking since this is likely to be merged to head/ soon.

Sponsored by: The FreeBSD Foundation
6b01bbf146ab195243a8e7d43bb11f8835c76af8 27-Dec-2013 gjb <gjb@FreeBSD.org> Copy head@r259933 -> user/gjb/hacking/release-embedded for initial
inclusion of (at least) arm builds with the release.

Sponsored by: The FreeBSD Foundation
17f8b7cb0b8421fd2269fa021669c9b6b07c7e0a 17-Aug-2013 hrs <hrs@FreeBSD.org> - Use getnameinfo(3) instead of gethostbyaddr(3) or inet_ntop(3).

- Fill sin6_scope_id from in6p.sin6_addr.s6_addr[2]. struct inpcb has
struct in6_addr for the endpoint addresses, so sin6_scope_id must be filled.
e5b002a3b846f3fa0b14374e1b0d808d000cdc8d 09-Jul-2013 ae <ae@FreeBSD.org> Migrate structs ip6stat, icmp6stat and rip6stat to PCPU counters.
7d578335bd68cc31ad302d30f012f805f354ec88 16-Apr-2013 ae <ae@FreeBSD.org> Replace hardcoded numbers. Also use interface-local scope name instead
of node-local.
8f92a0e98309ecb478adf087a1888c41e6819e5a 19-Feb-2013 charnier <charnier@FreeBSD.org> WARNS=6 compliance
e7e5b53bf16ab3b35646f0580b36fa7d7afa9678 03-Jan-2012 ed <ed@FreeBSD.org> Replace index() and rindex() calls with strchr() and strrchr().

The index() and rindex() functions were marked LEGACY in the 2001
revision of POSIX and were subsequently removed from the 2008 revision.
The strchr() and strrchr() functions are part of the C standard.

This makes the source code a lot more consistent, as most of these C
files also call into other str*() routines. In fact, about a dozen
already perform strchr() calls.
330e98b5dec00a424988db6336dc195bb84dab04 19-Dec-2011 maxim <maxim@FreeBSD.org> o Convert IPv6 read-only stats sysctls to the read-write ones.
o Teach netstat(1) -z to reset these stats sysctls.

PR: bin/153206
Reviewed by: glebuis
Sponsored by: NGINX, Inc.
MFC after: 1 month
29af67e52c02dc751039a3117bc88ae6192e891e 11-Dec-2010 joel <joel@FreeBSD.org> Remove the advertising clause from UCB copyrighted files in usr.bin. This
is in accordance with the information provided at
ftp://ftp.cs.berkeley.edu/pub/4bsd/README.Impt.License.Change

Also add $FreeBSD$ to a few files to keep svn happy.

Discussed with: imp, rwatson
bb24a2af3668e1f62969c57c12deb6934545a730 27-Nov-2010 brucec <brucec@FreeBSD.org> Fix typo.
09f9c897d33c41618ada06fbbcf1a9b3812dee53 19-Oct-2010 jamie <jamie@FreeBSD.org> A new jail(8) with a configuration file, to replace the work currently done
by /etc/rc.d/jail.
f1216d1f0ade038907195fc114b7e630623b402c 19-Mar-2010 delphij <delphij@FreeBSD.org> Create a custom branch where I will be able to do the merge.
feddbae3c6ec48260ed41e5682527930d44449dc 29-Apr-2009 bms <bms@FreeBSD.org> Add MLDv2 statistic IDs to netstat for IPv6 stack.
5d8f0a53a75aefe97721f737758596bf3b542e2c 01-Feb-2009 bz <bz@FreeBSD.org> Remove the single global unlocked route cache ip6_forward_rt
from the inet6 stack along with statistics and make sure we
properly free the rt in all cases.

While the current situation is not better performance wise it
prevents panics seen more often these days.
After more inet6 and ipsec cleanup we should be able to improve
the situation again passing the rt to ip6_forward directly.

Leave the ip6_forward_rt entry in struct vinet6 but mark it
for removal.

PR: kern/128247, kern/131038
MFC after: 25 days
Committed from: Bugathon #6
Tested by: Denis Ahrens <denis@h3q.com> (different initial version)
7abddeaa685d1477063455663f5f715efd487344 13-Jan-2009 maxim <maxim@FreeBSD.org> o Respect -ss flags (suppress zero counters) for icmp6 "histogram
of error messages" section.

Submitted by: naddy
MFC after: 1 week
ea7e9a42ea936f90bbe124583f056dbcdab3d1b7 26-Dec-2008 maxim <maxim@FreeBSD.org> o Fix grammar.

PR: bin/129938
Submitted by: Bruce Cran
19b6af98ec71398e77874582eb84ec5310c7156f 22-Nov-2008 dfr <dfr@FreeBSD.org> Clone Kip's Xen on stable/6 tree so that I can work on improving FreeBSD/amd64
performance in Xen's HVM mode.
cf5320822f93810742e3d4a1ac8202db8482e633 19-Oct-2008 lulf <lulf@FreeBSD.org> - Import the HEAD csup code which is the basis for the cvsmode work.
34864c972b4a7c34b6fbc30005e9f7ff1e92e8c0 25-Mar-2008 ume <ume@FreeBSD.org> MFC 1.31: Change .8s port name restriction to .15s.
This change corresponds to inet.c 1.13.
6661549bace5ac4ddcc6e0364895d33a86e2650a 25-Mar-2008 ume <ume@FreeBSD.org> MFC 1.31: Change .8s port name restriction to .15s.
This change corresponds to inet.c 1.13.
d6bcc8a9c773ff0b56227958fac8a55b857d35ca 18-Mar-2008 ume <ume@FreeBSD.org> Change .8s port name restriction to .15s.
This change corresponds to inet.c 1.13.

MFC after: 1 week
4e4c1baf05facc6b498b90fd6adbd3a8e2c1444a 16-Mar-2008 obrien <obrien@FreeBSD.org> MFC: style(9)
74070565806ee33326b76dcdd5e1e0a86cd4e6ed 02-Jan-2008 obrien <obrien@FreeBSD.org> style(9)
+ kread is not a boolean, so check it as such
+ fix $FreeBSD$ Ids
+ denote copyrights with /*-
+ misc whitespace changes.
818361dec31495e88061ffe2312c04e835d973d5 04-Oct-2007 obrien <obrien@FreeBSD.org> MFC: Use uintmax_t to pass around 64-bit quantities, including to printf().
Using uintmax_t is also robust to further extensions in both the C language
and the bitwidth of kernel counters.
44ff2749c081059ba6487d842a736b022cce05bb 23-Jul-2007 jhb <jhb@FreeBSD.org> MFC: Restore netstat -M functionality for most statistics on core dumps.
One change in this patch relative to the changes in HEAD is that the
mroute statistics will still fallback to using libkvm on live kernels
if the sysctl fails.
27187e7f6bd04a94e9ada0ca994e7c828abb4514 16-Jul-2007 jhb <jhb@FreeBSD.org> Restore netstat -M functionality for most statistics on core dumps. In
general, when support was added to netstat for fetching data using sysctl,
no provision was left for fetching equivalent data from a core dump, and
in fact, netstat would _always_ fetch data from the live kernel using
sysctl even when -M was specified resulting in the user believing they
were getting data from coredumps when they actually weren't. Some specific
changes:
- Add a global 'live' variable that is true if netstat is running against
the live kernel and false if -M has been specified.
- Stop abusing the sysctl flag in the protocol tables to hold the protocol
number. Instead, the protocol is now its own field in the tables, and
it is passed as a separate parameter to the PCB and stat routines rather
than overloading the KVM offset parameter.
- Don't run PCB or stats functions who don't have a namelist offset if we
are being run against a crash dump (!live).
- For the inet and unix PCB routines, we generate the same buffer from KVM
that the sysctl usually generates complete with the header and trailer.
- Don't run bpf stats for !live (before it would just silently always run
live).
- kread() no longer trashes memory when opening the buffer if there is an
error on open and the passed in buffer is smaller than _POSIX2_LINE_MAX.
- The multicast routing code doesn't fallback to kvm on live kernels if
the sysctl fails. Keeping this made the code rather hairy, and netstat
is already tied to the kernel ABI anyway (even when using sysctl's since
things like xinpcb contain an inpcb) so any kernels this is run against
that have the multicast routing stuff should have the sysctls.
- Don't try to dig around in the kernel linker in the netgraph PCB routine
for core dumps.

Other notes:
- sctp's PCB routine only works on live kernels, it looked rather
complicated to generate all the same stuff via KVM. Someone can always
add it later if desired though.
- Fix the ipsec removal bug where N_xxx for IPSEC stats weren't renumbered.
- Use sysctlbyname() everywhere rather than hardcoded mib values.

MFC after: 1 week
Approved by: re (rwatson)
79da54db6260784340c97d4f6f8f1ba325cfe3df 24-Feb-2007 bms <bms@FreeBSD.org> Use sysctl(2), not kvm(3), to read IPv6 multicast information from
the running system.
Use the name 'IPv6 Forwarding Table', not 'IPv6 Routing Table', to be
consistent with what the code actually does and is.
e1db503689ae54aa3513f73b6e1aa4212ded2641 28-Jul-2006 yar <yar@FreeBSD.org> Achieve WARNS=2 by using uintmax_t to pass around 64-bit quantities,
including to printf(). Using uintmax_t is also robust to further
extensions in both the C language and the bitwidth of kernel counters.

Tested on: i386 amd64 ia64
075428bf8d2fe953e936fb0a41f8e5767ccccbbd 26-Jul-2006 julian <julian@FreeBSD.org> MFC: 1.26
Don't print an error if used on a kernel with no ipv6, just do nothing.
429b08f9da29cb5db6f609aeb7864082284ba089 14-Jul-2006 julian <julian@FreeBSD.org> Not having ipv6 in your kernel is not an error and should not be reported.
MFC after: 1 week
7cdc27d942c90c6de3bea3b6dc6c8a1872052e2b 28-Jul-2004 stefanf <stefanf@FreeBSD.org> Use the length modifier 'll' instead of 'q' to print long longs.
cd48a1d32b7e37d716e9ca0da9ba773994c976b3 26-Jul-2004 charnier <charnier@FreeBSD.org> Add __FBSDID. Replace local variable sin by sockin to not conflict with sin(3).
Use warnx() instead of warn() when error message is not of any interest. Add
prototypes.
756361c57e76deae895429266625b448186a62b8 05-Feb-2004 ume <ume@FreeBSD.org> printed statistics about source address selection rules.

Obtained from: KAME
315524cfd593b5fa38f782d5c1941a2df598be65 05-Feb-2004 ume <ume@FreeBSD.org> stops program if kvm_read fails.

Obtained from: KAME
2da153c5bb45b9d849dd9db0ed1e7bd4b90abbba 14-Jan-2003 mtm <mtm@FreeBSD.org> 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
cb4604919fc3c4fef1de7daff27468d6c5fbd56d 05-Sep-2002 dwmalone <dwmalone@FreeBSD.org> 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).
d4767a7bb1ee2a63583238d78820322964ef290d 28-Apr-2002 markm <markm@FreeBSD.org> Cast to kill warnings. De-register.
63326af6cd5d7d77a690b61ec9797fbd94a36ad0 07-Sep-2001 ru <ru@FreeBSD.org> 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.)
111d2769845191e9d37e0f7cd5d9c83f08d4bdaa 28-Jun-2001 ume <ume@FreeBSD.org> - 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
eaafbef7b8981b37477c444f9653513886a2e97b 21-Jun-2001 sumikawa <sumikawa@FreeBSD.org> - Avoid hardcoded constant on icmp6 in/out histogram printing
- Icmp6 histogram update for inverse neighbor solicit/advert.

Obtained from: KAME
MFC after: 2 weeks
f5fc9b53400a054604623dad4c679865150873d4 15-Jun-2001 assar <assar@FreeBSD.org> remove warnings
remove superfluous declarations
make things more consistent
ee746c97f9f42b279e24583560b4f0eaef1e081b 15-Jun-2001 assar <assar@FreeBSD.org> remove K&R support
6c0b683445bcb0c4262928ed96c5600046fd89c4 15-Jun-2001 assar <assar@FreeBSD.org> revert removal of warning and K&R support

Requested by: bde
9e34fe7efd02802c8741141cf670713ba1ade2e5 15-Jun-2001 assar <assar@FreeBSD.org> remove most of the warnings
ea6e16bc20e4706c99c89ec7b7f3ab3be1791a4c 15-Jun-2001 assar <assar@FreeBSD.org> add the option -S for printing port numbers symbolically but addresses
numerically. clean up the CFLAGS in Makefile.
832f8d224926758a9ae0b23a6b45353e44fbc87a 11-Jun-2001 ume <ume@FreeBSD.org> 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
4c27d7fa9313e6d4e3468b23a9b808eb0fabab18 01-Jun-2001 dd <dd@FreeBSD.org> Correct some typos.

PR: 27251
Submitted by: Pekka Savola <pekkas@netcore.fi>
dabce43c5b93b638113eb1b7059ca91b32eb3607 19-Mar-2001 phk <phk@FreeBSD.org> 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.
dd004da290c46c50b50ee5c919ad6eab35694921 14-Mar-2001 brian <brian@FreeBSD.org> 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
e35ff24b97251716934363c568b0a7c1e8e064f5 07-Aug-2000 ume <ume@FreeBSD.org> To make compilable without -DINET6.

PR: bin/20407
Submitted by: Patrick Bihan-Faou <patrick@mindstep.com>
dc0f712932e2b472f5de092b0fa45e8345b133f0 12-Jul-2000 itojun <itojun@FreeBSD.org> remove m_pulldown related statistics, it is not for production system
(it belongs to kame experiment).
77ac5d68c962311b7a303ced7d56bbcf8e95f7d2 04-Jul-2000 itojun <itojun@FreeBSD.org> sync with latest kame netstat. basically, more statistics
b42951578188c5aab5c9f8cbcde4a743f8092cdc 02-Apr-2000 cvs2svn <cvs2svn@FreeBSD.org> This commit was manufactured by cvs2svn to create branch 'ALSA'.
b8e88750ca8496f0291145d8c4a7b0ab0efc5e3c 07-Jan-2000 shin <shin@FreeBSD.org> -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>
8c2ccb59caf882ac518eda1f570ea731d4466216 28-Dec-1999 shin <shin@FreeBSD.org> 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
70f0bdf6818a73c858bc47a23afc1e9d7c56d716 07-Dec-1999 shin <shin@FreeBSD.org> 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