diff options
author | ume <ume@FreeBSD.org> | 2001-06-11 12:39:29 +0000 |
---|---|---|
committer | ume <ume@FreeBSD.org> | 2001-06-11 12:39:29 +0000 |
commit | 832f8d224926758a9ae0b23a6b45353e44fbc87a (patch) | |
tree | a79fc7ad2b97862c4a404f352f0211ad93a7b5f1 /share/man/man4/inet6.4 | |
parent | 2693854b01a52b0395a91322aa3edf926bddff38 (diff) | |
download | FreeBSD-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.4 | 91 |
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, |