summaryrefslogtreecommitdiffstats
path: root/share/man/man4/inet6.4
diff options
context:
space:
mode:
authorume <ume@FreeBSD.org>2001-06-11 12:39:29 +0000
committerume <ume@FreeBSD.org>2001-06-11 12:39:29 +0000
commit832f8d224926758a9ae0b23a6b45353e44fbc87a (patch)
treea79fc7ad2b97862c4a404f352f0211ad93a7b5f1 /share/man/man4/inet6.4
parent2693854b01a52b0395a91322aa3edf926bddff38 (diff)
downloadFreeBSD-src-832f8d224926758a9ae0b23a6b45353e44fbc87a.zip
FreeBSD-src-832f8d224926758a9ae0b23a6b45353e44fbc87a.tar.gz
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
Diffstat (limited to 'share/man/man4/inet6.4')
-rw-r--r--share/man/man4/inet6.491
1 files changed, 39 insertions, 52 deletions
diff --git a/share/man/man4/inet6.4 b/share/man/man4/inet6.4
index 3ba609e..62607ec 100644
--- a/share/man/man4/inet6.4
+++ b/share/man/man4/inet6.4
@@ -1,5 +1,5 @@
.\" $FreeBSD$
-.\" $KAME: inet6.4,v 1.16 2000/07/05 08:18:42 itojun Exp $
+.\" $KAME: inet6.4,v 1.21 2001/04/05 01:00:18 itojun Exp $
.\"
.\" Copyright (C) 1995, 1996, 1997, and 1998 WIDE Project.
.\" All rights reserved.
@@ -74,7 +74,7 @@ as a discriminated union.
.Pp
Sockets bound to the
.Nm
-family utilize the following addressing structure,
+family utilize the following addressing structure:
.Bd -literal -offset indent
struct sockaddr_in6 {
u_int8_t sin6_len;
@@ -95,34 +95,21 @@ which is equal to IPv6 address
to effect
.Dq wildcard
matching on incoming messages.
-The address in a
-.Xr connect 2
-or
-.Xr sendto 2
-call may be given as
-.Dq Dv ::
-to mean
-.Dq this host .
-.Dq Dv ::
-can be obtained by setting
-.Dv sin6_addr
-field into 0, or by using the address contained in variable
-.Dv in6addr_any .
.Pp
-IPv6 specification defines scoped address,
-like link-local or site-local address.
+The IPv6 specification defines scoped addresses,
+like link-local or site-local addresses.
A scoped address is ambiguous to the kernel,
-if it is specified without scope identifier.
+if it is specified without a scope identifier.
To manipulate scoped addresses properly from the userland,
-programs must use advanced API defined in RFC2292.
-Compact description on the advanced API is available in
+programs must use the advanced API defined in RFC2292.
+A compact description of the advanced API is available in
.Xr ip6 4 .
-If scoped addresses are specified without explicit scope,
-the kernel may raise error.
+If a scoped address is specified without an explicit scope,
+the kernel may raise an error.
Note that scoped addresses are not for daily use at this moment,
-both from specification and implementation point of view.
+both from a specification and an implementation point of view.
.Pp
-KAME implementation supports extended numeric IPv6 address notation
+The KAME implementation supports an extended numeric IPv6 address notation
for link-local addresses,
like
.Dq Li fe80::1%de0
@@ -133,7 +120,7 @@ on
.Li de0
interface
.Dc .
-The notation is supported by
+This notation is supported by
.Xr getaddrinfo 3
and
.Xr getnameinfo 3 .
@@ -141,23 +128,23 @@ Some of normal userland programs, such as
.Xr telnet 1
or
.Xr ftp 1 ,
-are able to use the notation.
+are able to use this notation.
With special programs
like
.Xr ping6 8 ,
-you can specify outgoing interface by extra command line option
+you can specify the outgoing interface by an extra command line option
to disambiguate scoped addresses.
.Pp
Scoped addresses are handled specially in the kernel.
-In the kernel structures like routing tables or interface structure,
-scoped addresses will have its interface index embedded into the address.
+In kernel structures like routing tables or interface structures,
+a scoped address will have its interface index embedded into the address.
Therefore,
-the address on some of the kernel structure is not the same as that on the wire.
-The embedded index will become visible on
+the address in some kernel structures is not the same as that on the wire.
+The embedded index will become visible through a
.Dv PF_ROUTE
socket, kernel memory accesses via
.Xr kvm 3
-and some other occasions.
+and on some other occasions.
HOWEVER, users should never use the embedded form.
For details please consult
.Pa IMPLEMENTATION
@@ -431,20 +418,20 @@ which initiates dynamic adaptation (default 128).
The behavior of
.Dv AF_INET6
TCP/UDP socket is documented in RFC2553.
-Basically, it says as follows:
+Basically, it says this:
.Bl -bullet -compact
.It
-Specific bind on
+A specific bind on an
.Dv AF_INET6
socket
.Po
.Xr bind 2
-with address specified
+with an address specified
.Pc
should accept IPv6 traffic to that address only.
.It
-If you perform wildcard bind
-on
+If you perform a wildcard bind
+on an
.Dv AF_INET6
socket
.Po
@@ -458,33 +445,33 @@ socket on that TCP/UDP port, IPv6 traffic as well as IPv4 traffic
should be routed to that
.Dv AF_INET6
socket.
-IPv4 traffic should be seen as if it came from IPv6 address like
+IPv4 traffic should be seen as if it came from an IPv6 address like
.Li ::ffff:10.1.1.1 .
-This is called IPv4 mapped address.
+This is called an IPv4 mapped address.
.It
-If there are both wildcard bind
+If there are both a wildcard bind
.Dv AF_INET
-socket and wildcard bind
+socket and a wildcard bind
.Dv AF_INET6
socket on one TCP/UDP port, they should behave separately.
-IPv4 traffic should be routed to
+IPv4 traffic should be routed to the
.Dv AF_INET
-socket and IPv6 should be routed to
+socket and IPv6 should be routed to the
.Dv AF_INET6
socket.
.El
.Pp
-However, RFC2553 does not define the constraint between the order of
+However, RFC2553 does not define the ordering constraint between calls to
.Xr bind 2 ,
-nor how IPv4 TCP/UDP port number and IPv6 TCP/UDP port number
-relate each other
+nor how IPv4 TCP/UDP port numbers and IPv6 TCP/UDP port numbers
+relate to each other
.Po
should they be integrated or separated
.Pc .
-Implemented behavior is very different across kernel to kernel.
+Implemented behavior is very different from kernel to kernel.
Therefore, it is unwise to rely too much upon the behavior of
.Dv AF_INET6
-wildcard bind socket.
+wildcard bind sockets.
It is recommended to listen to two sockets, one for
.Dv AF_INET
and another for
@@ -497,7 +484,7 @@ and are able to bypass access control,
if the target node routes IPv4 traffic to
.Dv AF_INET6
socket.
-Users are advised to take caution handling connections
+Users are advised to take care handling connections
from IPv4 mapped address to
.Dv AF_INET6
sockets.
@@ -506,7 +493,7 @@ sockets.
.\"KAME/NetBSD and KAME/OpenBSD
.\"does not route IPv4 traffic to
.\".Dv AF_INET6
-.\"socket.
+.\"sockets.
.\"Listen to two sockets if you want to accept both IPv4 and IPv6 traffic.
.\"On KAME/NetBSD, IPv4 traffic may be routed with certain
.\"per-socket/per-node configuration, however, it is not recommended.
@@ -536,8 +523,8 @@ sockets.
.Sh HISTORY
The
.Nm
-protocol interface are defined in RFC2553 and RFC2292.
-The implementation described herein appeared in WIDE/KAME project.
+protocol interfaces are defined in RFC2553 and RFC2292.
+The implementation described herein appeared in the WIDE/KAME project.
.Sh BUGS
The IPv6 support is subject to change as the Internet protocols develop.
Users should not depend on details of the current implementation,
OpenPOWER on IntegriCloud