1) Merge some text in from recent KAME distributions concerning

the syntax of scoped addresses.

2) Fix typos and grammatical nitpicks.

PR:		17082
Submitted by:	Bruce A. Mah <bmah@eisenhower.ca.sandia.gov>
This commit is contained in:
Gregory Sutter 2000-03-01 02:37:46 +00:00
parent e777d9c31a
commit 270fe004b8

View File

@ -53,7 +53,7 @@ implements Internet Protocol version 6.
is a collection of protocols layered atop the
.Em Internet Protocol version 6
.Pq Tn IPv6
transport layer, and utilizing the IPv6 address format.
network layer, and utilizing the IPv6 address format.
The
.Nm
family provides protocol support for the
@ -66,7 +66,7 @@ interface provides access to the
.Tn IPv6
protocol.
.Sh ADDRESSING
IPv6 addresses are 16 byte quantities, stored in network standard format
IPv6 addresses are 16 byte quantities, stored in network standard format.
The include file
.Aq Pa netinet/in.h
defines this address
@ -103,46 +103,61 @@ call may be given as
.Dq Dv ::
to mean
.Dq this host .
The address
.Dq Dv ::
can be obtained by setting
can be obtained by setting the
.Dv sin6_addr
field into 0, or by using the address contained in variable
field to 0, or by using the address contained in the variable
.Dv in6addr_any .
.Pp
IPv6 defines scoped address such as link-local or site-local address.
IPv6 defines scoped addresses such as link-local or site-local addresses.
To manipulate link-local addresses properly from the userland,
programs must use advanced API defined in RFC2292.
Otherwise, the address is ambiguous to the kernel and error will be generated.
Scoped address is not for daily use at this moment both from specification
and implementation point of view.
Most of normal userland program
programs must use the advanced API defined in RFC2292.
Otherwise, the address is ambiguous to the kernel and
an error will be generated.
Scoped addressing is not for daily use at this time, and is discouraged
both by the specifications and specific implementations.
.Pp
FreeBSD's IPv6 implementation supports extended numeric IPv6 address
notation for link-local addresses,
like
.Dq Li fe80::1%de0
to specify
.Do
.Li fe80::1
on the
.Li de0
interface
.Dc .
This notation is supported by
.Xr getaddrinfo 3
and
.Xr getnameinfo 3 .
Some of the normal userland programs, such as
.Xr telnet 1
or
.Xr telnetd 8
cannot handle scoped address properly.
Only special programs,
like
.Xr ftp 8 ,
are able to use this notation.
With some special programs such as
.Xr ping6 8 ,
supports scoped address.
For example,
.Xr ping6 8
has special option for specifying outgoing interface
you can specify an outgoing interface by an extra command line option
to disambiguate scoped addresses.
.Pp
Scoped addresses are handled specially in the kernel.
Scoped addresses will have its interface index embedded into the address,
in routing table or interface structure.
Scoped addresses will have their interface indices embedded into the address,
in the routing table or interface structures.
Therefore,
the address on some of the kernel structure is not the same as that on the wire.
The embedded index will be visible on
a scoped address may have a different representation in the kernel
than on the wire.
The embedded index will be visible in
.Dv PF_ROUTE
socket and results from
.Xr ifconfig 8 ,
sockets, kernel memory accesses via
.Xr kvm 3
and some other occasions.
HOWEVER, users should never use the embedded form.
For details please consult
For details, please consult
.Pa IMPLEMENTATION
supplied with KAME kit.
supplied with the KAME kit.
.Sh PROTOCOLS
The
.Nm
@ -283,5 +298,5 @@ and
.Sh HISTORY
The
.Nm
protocol interface are defined in RFC2553 and RFC2292.
IPv6 APIs are defined in RFC2553 and RFC2292.
The implementation described herein appeared in WIDE/KAME project.