9a364ca35a
the interface wake up. it can be started anytime even when there is no network interface on the list of intarfaces in the kernel. - get a correct link ID for each interface at initialization (using scope libraries if HAVE_SCOPELIB is defined). - fill in sin6_scope_id correctly before sendmsg(). Obtained from: KAME MFC after: 1 week
261 lines
7.0 KiB
Groff
261 lines
7.0 KiB
Groff
.\" $KAME: rtsold.8,v 1.20 2003/04/11 12:46:12 jinmei Exp $
|
|
.\"
|
|
.\" Copyright (C) 1995, 1996, 1997, and 1998 WIDE Project.
|
|
.\" All rights reserved.
|
|
.\"
|
|
.\" Redistribution and use in source and binary forms, with or without
|
|
.\" modification, are permitted provided that the following conditions
|
|
.\" are met:
|
|
.\" 1. Redistributions of source code must retain the above copyright
|
|
.\" notice, this list of conditions and the following disclaimer.
|
|
.\" 2. Redistributions in binary form must reproduce the above copyright
|
|
.\" notice, this list of conditions and the following disclaimer in the
|
|
.\" documentation and/or other materials provided with the distribution.
|
|
.\" 3. Neither the name of the project nor the names of its contributors
|
|
.\" may be used to endorse or promote products derived from this software
|
|
.\" without specific prior written permission.
|
|
.\"
|
|
.\" THIS SOFTWARE IS PROVIDED BY THE PROJECT AND CONTRIBUTORS ``AS IS'' AND
|
|
.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
|
|
.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
|
|
.\" ARE DISCLAIMED. IN NO EVENT SHALL THE PROJECT OR CONTRIBUTORS BE LIABLE
|
|
.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
|
|
.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
|
|
.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
|
|
.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
|
|
.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
|
|
.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
|
|
.\" SUCH DAMAGE.
|
|
.\"
|
|
.\" $FreeBSD$
|
|
.\"
|
|
.Dd May 17, 1998
|
|
.Dt RTSOLD 8
|
|
.Os
|
|
.\"
|
|
.Sh NAME
|
|
.Nm rtsold , rtsol
|
|
.Nd router solicitation daemon
|
|
.\"
|
|
.Sh SYNOPSIS
|
|
.Nm
|
|
.Op Fl dDfm1
|
|
.Op Fl O Ar script-name
|
|
.Ar interface ...
|
|
.Nm
|
|
.Op Fl dDfm1
|
|
.Op Fl O Ar script-name
|
|
.Fl a
|
|
.Nm rtsol
|
|
.Op Fl dD
|
|
.Op Fl O Ar script-name
|
|
.Ar interface ...
|
|
.Nm rtsol
|
|
.Op Fl dD
|
|
.Op Fl O Ar script-name
|
|
.Fl a
|
|
.\"
|
|
.Sh DESCRIPTION
|
|
.Nm
|
|
is the daemon program to send ICMPv6 Router Solicitation messages
|
|
on the specified interfaces.
|
|
If a node (re)attaches to a link,
|
|
.Nm
|
|
sends some Router Solicitations on the link destined to the link-local scope
|
|
all-routers multicast address to discover new routers
|
|
and to get non link-local addresses.
|
|
.Pp
|
|
.Nm
|
|
should be used on IPv6 hosts
|
|
.Pq non-router nodes
|
|
only.
|
|
.Pp
|
|
If you invoke the program as
|
|
.Nm rtsol ,
|
|
it will transmit probes from the specified
|
|
.Ar interface ,
|
|
without becoming a daemon.
|
|
In other words,
|
|
.Nm rtsol
|
|
behaves as
|
|
.Do
|
|
.Nm
|
|
.Fl f1
|
|
.Ar interfaces
|
|
.Dc .
|
|
.Pp
|
|
Specifically,
|
|
.Nm
|
|
sends at most 3 Router Solicitations on an interface
|
|
after one of the following events:
|
|
.Pp
|
|
.Bl -bullet -compact
|
|
.It
|
|
Just after invocation of
|
|
.Nm
|
|
daemon.
|
|
.It
|
|
The interface is up after a temporary interface failure.
|
|
.Nm
|
|
detects such failures by periodically probing to see if the status
|
|
of the interface is active or not.
|
|
Note that some network cards and drivers do not allow the extraction
|
|
of link state.
|
|
In such cases,
|
|
.Nm
|
|
cannot detect the change of the interface status.
|
|
.It
|
|
Every 60 seconds if the
|
|
.Fl m
|
|
option is specified and the
|
|
.Nm
|
|
daemon cannot get the interface status.
|
|
This feature does not conform to the IPv6 neighbor discovery
|
|
specification, but is provided for mobile stations.
|
|
The default interval for router advertisements, which is on the order of 10
|
|
minutes, is slightly long for mobile stations.
|
|
This feature is provided
|
|
for such stations so that they can find new routers as soon as possible
|
|
when they attach to another link.
|
|
.El
|
|
.Lp
|
|
Once
|
|
.Nm
|
|
has sent a Router Solicitation, and has received a valid Router Advertisement,
|
|
it refrains from sending additional solicitations on that interface, until
|
|
the next time one of the above events occurs.
|
|
.Lp
|
|
When sending a Router Solicitation on an interface,
|
|
.Nm
|
|
includes a Source Link-layer address option if the interface
|
|
has a link-layer address.
|
|
.Lp
|
|
.Nm
|
|
manages a per-interface parameter to detect if a separate protocol is
|
|
needed for configuration parameters other than host's addresses.
|
|
At the invocation time, the flag is FALSE, and becomes TRUE when
|
|
the daemon receives a router advertisement with the OtherConfig flag
|
|
being set.
|
|
A script file can be specified to deal with the case
|
|
.Pq see below .
|
|
When
|
|
.Nm
|
|
start resending router solicitation messages by one of the conditions
|
|
events,
|
|
the daemon resets the parameter because the event may indicate a
|
|
change on the attached link.
|
|
.Pp
|
|
Upon receipt of signal
|
|
.Dv SIGUSR1 ,
|
|
.Nm
|
|
will dump the current internal state into
|
|
.Pa /var/run/rtsold.dump .
|
|
.\"
|
|
.Pp
|
|
The options are as follows:
|
|
.Bl -tag -width indent
|
|
.It Fl a
|
|
Autoprobe outgoing interface.
|
|
.Nm
|
|
will try to find a non-loopback, non-point-to-point, IPv6-capable interface.
|
|
If
|
|
.Nm
|
|
finds multiple interfaces,
|
|
.Nm
|
|
will exit with error.
|
|
.\"
|
|
.It Fl d
|
|
Enable debugging.
|
|
.It Fl D
|
|
Enable more debugging including the printing of internal timer information.
|
|
.It Fl f
|
|
.Fl f
|
|
prevents
|
|
.Nm
|
|
from becoming a daemon (foreground mode).
|
|
Warning messages are generated to standard error
|
|
instead of
|
|
.Xr syslog 3 .
|
|
.It Fl m
|
|
Enable mobility support.
|
|
If this option is specified,
|
|
.Nm
|
|
sends probing packets to default routers that have advertised Router
|
|
Advertisements
|
|
when the node (re)attaches to an interface.
|
|
Moreover, if the option is specified,
|
|
.Nm
|
|
periodically sends Router Solicitation on an interface that does not support
|
|
.Dv SIOCGIFMEDIA
|
|
ioctl.
|
|
.It Fl 1
|
|
Perform only one probe.
|
|
Transmit Router Solicitation packets until at least one valid Router
|
|
Advertisement packet has arrived on each
|
|
.Ar interface ,
|
|
then exit.
|
|
.It Fl O Ar script-name
|
|
Specifies a supplement script file to handle the Other Configuration
|
|
flag of the router advertisement.
|
|
When the flag changes from FALSE to TRUE,
|
|
.Nm
|
|
will invoke
|
|
.Ar script-name
|
|
with a single argument of the receiving interface name,
|
|
expecting the script will then start a protocol for the other
|
|
configuration.
|
|
.Ar script-name
|
|
must be the absolute path from root to the script file, be a regular
|
|
file, and be created by the same owner who runs
|
|
.Nm .
|
|
.El
|
|
.Sh RETURN VALUES
|
|
The
|
|
.Nm
|
|
program exits 0 on success, and >0 on failures.
|
|
.\"
|
|
.Sh FILES
|
|
.Bl -tag -width /var/run/rtsold.dump -compact
|
|
.It Pa /var/run/rtsold.pid
|
|
the pid of the currently running
|
|
.Nm .
|
|
.It Pa /var/run/rtsold.dump
|
|
dumps internal state on.
|
|
.El
|
|
.\"
|
|
.Sh SEE ALSO
|
|
.Xr rtadvd 8 ,
|
|
.Xr sysctl 8
|
|
.\"
|
|
.Sh HISTORY
|
|
The
|
|
.Nm
|
|
command is based on the
|
|
.Nm rtsol
|
|
command, which first appeared in WIDE/KAME IPv6 protocol stack kit.
|
|
.Nm rtsol
|
|
is now integrated into
|
|
.Xr rtsold 8 .
|
|
.\"
|
|
.Sh BUGS
|
|
In some operating systems, when a PCMCIA network card is removed
|
|
and reinserted, the corresponding interface index is changed.
|
|
However,
|
|
.Nm
|
|
assumes such changes will not occur, and always uses the index that
|
|
it got at invocation. As a result,
|
|
.Nm
|
|
may not work if you reinsert a network card.
|
|
In such a case,
|
|
.Nm
|
|
should be killed and restarted.
|
|
.Pp
|
|
The IPv6 autoconfiguration specification assumes a single-interface host.
|
|
You may see kernel error messages if you try to autoconfigure a host with
|
|
multiple interfaces.
|
|
Also, it seems contradictory for
|
|
.Nm
|
|
to accept multiple
|
|
.Ar interface
|
|
arguments.
|