2003-08-17 11:11:32 +00:00
|
|
|
.\" $KAME: rtsold.8,v 1.20 2003/04/11 12:46:12 jinmei Exp $
|
2000-10-06 23:46:52 +00:00
|
|
|
.\"
|
1999-12-28 02:37:14 +00:00
|
|
|
.\" Copyright (C) 1995, 1996, 1997, and 1998 WIDE Project.
|
|
|
|
.\" All rights reserved.
|
2000-10-06 23:46:52 +00:00
|
|
|
.\"
|
1999-12-28 02:37:14 +00:00
|
|
|
.\" 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.
|
2000-10-06 23:46:52 +00:00
|
|
|
.\"
|
1999-12-28 02:37:14 +00:00
|
|
|
.\" 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.
|
|
|
|
.\"
|
2005-02-09 18:07:17 +00:00
|
|
|
.\" $FreeBSD$
|
1999-12-28 02:37:14 +00:00
|
|
|
.\"
|
2021-08-14 15:08:07 +00:00
|
|
|
.Dd August 14, 2021
|
1999-12-28 02:37:14 +00:00
|
|
|
.Dt RTSOLD 8
|
2001-06-11 12:39:29 +00:00
|
|
|
.Os
|
1999-12-28 02:37:14 +00:00
|
|
|
.\"
|
|
|
|
.Sh NAME
|
2001-09-11 12:27:15 +00:00
|
|
|
.Nm rtsold , rtsol
|
1999-12-28 02:37:14 +00:00
|
|
|
.Nd router solicitation daemon
|
|
|
|
.\"
|
|
|
|
.Sh SYNOPSIS
|
2000-11-20 20:10:44 +00:00
|
|
|
.Nm
|
2011-09-12 23:55:23 +00:00
|
|
|
.Op Fl dDfFmu1
|
2020-08-25 16:09:23 +00:00
|
|
|
.Op Fl M Ar script-name
|
2003-08-08 16:42:37 +00:00
|
|
|
.Op Fl O Ar script-name
|
2011-09-12 23:55:23 +00:00
|
|
|
.Op Fl p Ar pidfile
|
2011-06-06 03:06:43 +00:00
|
|
|
.Op Fl R Ar script-name
|
1999-12-28 02:37:14 +00:00
|
|
|
.Ar interface ...
|
2000-11-20 20:10:44 +00:00
|
|
|
.Nm
|
2011-09-12 23:55:23 +00:00
|
|
|
.Op Fl dDfFmu1
|
2020-08-25 16:09:23 +00:00
|
|
|
.Op Fl M Ar script-name
|
2003-08-08 16:42:37 +00:00
|
|
|
.Op Fl O Ar script-name
|
2011-09-12 23:55:23 +00:00
|
|
|
.Op Fl p Ar pidfile
|
2011-06-06 03:06:43 +00:00
|
|
|
.Op Fl R Ar script-name
|
2000-10-06 23:46:52 +00:00
|
|
|
.Fl a
|
1999-12-28 02:37:14 +00:00
|
|
|
.Nm rtsol
|
2011-09-12 23:55:23 +00:00
|
|
|
.Op Fl dDu
|
2020-08-25 16:09:23 +00:00
|
|
|
.Op Fl M Ar script-name
|
2003-08-08 16:42:37 +00:00
|
|
|
.Op Fl O Ar script-name
|
2011-06-06 03:06:43 +00:00
|
|
|
.Op Fl R Ar script-name
|
1999-12-28 02:37:14 +00:00
|
|
|
.Ar interface ...
|
2000-10-06 23:46:52 +00:00
|
|
|
.Nm rtsol
|
2011-09-12 23:55:23 +00:00
|
|
|
.Op Fl dDu
|
2020-08-25 16:09:23 +00:00
|
|
|
.Op Fl M Ar script-name
|
2003-08-08 16:42:37 +00:00
|
|
|
.Op Fl O Ar script-name
|
2011-06-06 03:06:43 +00:00
|
|
|
.Op Fl R Ar script-name
|
2000-10-06 23:46:52 +00:00
|
|
|
.Fl a
|
1999-12-28 02:37:14 +00:00
|
|
|
.\"
|
|
|
|
.Sh DESCRIPTION
|
2000-10-06 23:46:52 +00:00
|
|
|
.Nm
|
2003-08-17 11:11:32 +00:00
|
|
|
is the daemon program to send ICMPv6 Router Solicitation messages
|
1999-12-28 02:37:14 +00:00
|
|
|
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.
|
2000-07-05 10:14:11 +00:00
|
|
|
.Pp
|
2000-10-06 23:46:52 +00:00
|
|
|
.Nm
|
2003-08-17 11:11:32 +00:00
|
|
|
should be used on IPv6 hosts
|
|
|
|
.Pq non-router nodes
|
2000-10-06 23:46:52 +00:00
|
|
|
only.
|
|
|
|
.Pp
|
2000-07-05 10:14:11 +00:00
|
|
|
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
|
1999-12-28 02:37:14 +00:00
|
|
|
Specifically,
|
|
|
|
.Nm
|
|
|
|
sends at most 3 Router Solicitations on an interface
|
|
|
|
after one of the following events:
|
2000-07-05 10:14:11 +00:00
|
|
|
.Pp
|
1999-12-28 02:37:14 +00:00
|
|
|
.Bl -bullet -compact
|
|
|
|
.It
|
|
|
|
Just after invocation of
|
|
|
|
.Nm
|
|
|
|
daemon.
|
|
|
|
.It
|
|
|
|
The interface is up after a temporary interface failure.
|
2000-10-06 23:46:52 +00:00
|
|
|
.Nm
|
2003-08-17 11:11:32 +00:00
|
|
|
detects such failures by periodically probing to see if the status
|
2000-07-05 10:14:11 +00:00
|
|
|
of the interface is active or not.
|
|
|
|
Note that some network cards and drivers do not allow the extraction
|
|
|
|
of link state.
|
1999-12-28 02:37:14 +00:00
|
|
|
In such cases,
|
|
|
|
.Nm
|
|
|
|
cannot detect the change of the interface status.
|
|
|
|
.It
|
2000-07-05 10:14:11 +00:00
|
|
|
Every 60 seconds if the
|
1999-12-28 02:37:14 +00:00
|
|
|
.Fl m
|
2000-07-05 10:14:11 +00:00
|
|
|
option is specified and the
|
1999-12-28 02:37:14 +00:00
|
|
|
.Nm
|
|
|
|
daemon cannot get the interface status.
|
2001-06-11 12:39:29 +00:00
|
|
|
This feature does not conform to the IPv6 neighbor discovery
|
1999-12-28 02:37:14 +00:00
|
|
|
specification, but is provided for mobile stations.
|
2001-06-11 12:39:29 +00:00
|
|
|
The default interval for router advertisements, which is on the order of 10
|
1999-12-28 02:37:14 +00:00
|
|
|
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
|
2000-07-05 10:14:11 +00:00
|
|
|
when they attach to another link.
|
1999-12-28 02:37:14 +00:00
|
|
|
.El
|
|
|
|
.Lp
|
|
|
|
Once
|
|
|
|
.Nm
|
2001-06-11 12:39:29 +00:00
|
|
|
has sent a Router Solicitation, and has received a valid Router Advertisement,
|
2000-07-05 10:14:11 +00:00
|
|
|
it refrains from sending additional solicitations on that interface, until
|
1999-12-28 02:37:14 +00:00
|
|
|
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
|
2001-06-11 12:39:29 +00:00
|
|
|
has a link-layer address.
|
2003-08-08 16:42:37 +00:00
|
|
|
.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.
|
1999-12-28 02:37:14 +00:00
|
|
|
.Pp
|
|
|
|
Upon receipt of signal
|
|
|
|
.Dv SIGUSR1 ,
|
|
|
|
.Nm
|
|
|
|
will dump the current internal state into
|
2000-10-06 23:46:52 +00:00
|
|
|
.Pa /var/run/rtsold.dump .
|
1999-12-28 02:37:14 +00:00
|
|
|
.\"
|
2003-08-17 11:11:32 +00:00
|
|
|
.Pp
|
|
|
|
The options are as follows:
|
1999-12-28 02:37:14 +00:00
|
|
|
.Bl -tag -width indent
|
2000-10-06 23:46:52 +00:00
|
|
|
.It Fl a
|
2013-05-28 13:54:26 +00:00
|
|
|
Autoprobe outgoing interfaces.
|
2000-10-06 23:46:52 +00:00
|
|
|
.Nm
|
2021-08-14 15:08:07 +00:00
|
|
|
will try to find any non-loopback, IPv6-capable interfaces
|
2013-05-23 19:47:35 +00:00
|
|
|
and send router solicitation messages on all of them.
|
1999-12-28 02:37:14 +00:00
|
|
|
.It Fl d
|
|
|
|
Enable debugging.
|
|
|
|
.It Fl D
|
2001-06-11 12:39:29 +00:00
|
|
|
Enable more debugging including the printing of internal timer information.
|
1999-12-28 02:37:14 +00:00
|
|
|
.It Fl f
|
2006-08-14 08:49:08 +00:00
|
|
|
Prevent
|
1999-12-28 02:37:14 +00:00
|
|
|
.Nm
|
|
|
|
from becoming a daemon (foreground mode).
|
2001-06-11 12:39:29 +00:00
|
|
|
Warning messages are generated to standard error
|
1999-12-28 02:37:14 +00:00
|
|
|
instead of
|
|
|
|
.Xr syslog 3 .
|
2004-01-14 17:42:03 +00:00
|
|
|
.It Fl F
|
2006-08-14 08:49:08 +00:00
|
|
|
Explicitly configure the kernel to accept Router Advertisements and
|
|
|
|
disable IPv6 forwarding.
|
|
|
|
These settings are required for proper
|
|
|
|
.Nm
|
|
|
|
operation.
|
|
|
|
Without this option, the current settings will be obeyed;
|
|
|
|
if they are incompatible with proper operation,
|
|
|
|
warning messages will be generated,
|
|
|
|
but Router Solicitations will still be sent.
|
|
|
|
The settings may be changed manually with
|
2009-09-12 22:14:58 +00:00
|
|
|
.Xr sysctl 8
|
|
|
|
and
|
|
|
|
.Xr ifconfig 8 .
|
1999-12-28 02:37:14 +00:00
|
|
|
.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.
|
2001-06-11 12:39:29 +00:00
|
|
|
Transmit Router Solicitation packets until at least one valid Router
|
|
|
|
Advertisement packet has arrived on each
|
|
|
|
.Ar interface ,
|
|
|
|
then exit.
|
2020-08-25 16:09:23 +00:00
|
|
|
.It Fl M Ar script-name
|
|
|
|
Specifies a supplement script file to handle the Managed Configuration
|
|
|
|
flag of the router advertisement.
|
|
|
|
When the flag changes from FALSE to TRUE,
|
|
|
|
.Nm
|
|
|
|
will invoke
|
|
|
|
.Ar script-name
|
2021-08-14 15:10:21 +00:00
|
|
|
with a first argument of the receiving interface name
|
|
|
|
and a second argument of the sending router address,
|
2020-08-25 16:09:23 +00:00
|
|
|
expecting the script will then start a protocol for the managed
|
|
|
|
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 .
|
2003-08-08 16:42:37 +00:00
|
|
|
.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
|
2021-08-14 15:10:21 +00:00
|
|
|
with a first argument of the receiving interface name
|
|
|
|
and a second argument of the sending router address,
|
2003-08-08 16:42:37 +00:00
|
|
|
expecting the script will then start a protocol for the other
|
|
|
|
configuration.
|
2020-08-25 16:09:23 +00:00
|
|
|
The script will not be run if the Managed Configuration flag in the
|
|
|
|
router advertisement is also TRUE.
|
2003-08-08 16:42:37 +00:00
|
|
|
.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 .
|
2011-09-12 23:55:23 +00:00
|
|
|
.It Fl p Ar pidfile
|
2011-06-06 03:06:43 +00:00
|
|
|
Writes the process ID of
|
|
|
|
.Nm
|
|
|
|
to
|
|
|
|
.Pa pidfile
|
|
|
|
instead of the default PID file
|
|
|
|
.Pa /var/run/rtsold.pid .
|
|
|
|
.It Fl R Ar script-name
|
2011-12-30 10:58:14 +00:00
|
|
|
Specifies a script to run when router advertisement options
|
2011-06-06 03:06:43 +00:00
|
|
|
.Dv RDNSS Pq Recursive DNS Server
|
|
|
|
or
|
|
|
|
.Dv DNSSL Pq DNS Search List
|
|
|
|
are encountered.
|
|
|
|
The information of DNS servers and DNS search domains will be sent to
|
|
|
|
standard input of this script.
|
|
|
|
The
|
|
|
|
.Xr resolvconf 8
|
|
|
|
script is used by default.
|
2011-09-12 23:55:23 +00:00
|
|
|
.It Fl u
|
2018-10-25 21:41:58 +00:00
|
|
|
Specifies whether to add the source address of Router Advertisement
|
|
|
|
messages to the interface name in the parameters of the RDNSS and DNSSL
|
|
|
|
scripts.
|
2011-09-12 23:55:23 +00:00
|
|
|
.Pp
|
|
|
|
If
|
|
|
|
.Fl u
|
2018-10-25 21:41:58 +00:00
|
|
|
is specified, the interface name in the script parameters will be
|
2011-09-12 23:55:23 +00:00
|
|
|
.Ql ifname:slaac:[RA-source-address] .
|
|
|
|
.Pp
|
2018-10-25 21:41:58 +00:00
|
|
|
Otherwise it will be
|
2011-09-12 23:55:23 +00:00
|
|
|
.Ql ifname:slaac .
|
1999-12-28 02:37:14 +00:00
|
|
|
.El
|
|
|
|
.Sh FILES
|
|
|
|
.Bl -tag -width /var/run/rtsold.dump -compact
|
|
|
|
.It Pa /var/run/rtsold.pid
|
2013-05-28 13:54:26 +00:00
|
|
|
The PID of the currently running
|
2000-11-20 20:10:44 +00:00
|
|
|
.Nm .
|
2000-07-05 10:14:11 +00:00
|
|
|
.It Pa /var/run/rtsold.dump
|
2013-05-28 13:54:26 +00:00
|
|
|
Internal state dump file.
|
1999-12-28 02:37:14 +00:00
|
|
|
.El
|
|
|
|
.\"
|
2010-05-13 12:08:11 +00:00
|
|
|
.Sh EXIT STATUS
|
|
|
|
.Ex -std
|
|
|
|
.\"
|
1999-12-28 02:37:14 +00:00
|
|
|
.Sh SEE ALSO
|
2011-06-06 03:06:43 +00:00
|
|
|
.Xr resolvconf 8 ,
|
1999-12-28 02:37:14 +00:00
|
|
|
.Xr rtadvd 8 ,
|
|
|
|
.Xr sysctl 8
|
|
|
|
.\"
|
|
|
|
.Sh HISTORY
|
|
|
|
The
|
|
|
|
.Nm
|
2003-08-17 11:11:32 +00:00
|
|
|
command is based on the
|
1999-12-28 02:37:14 +00:00
|
|
|
.Nm rtsol
|
2003-08-17 11:11:32 +00:00
|
|
|
command, which first appeared in WIDE/KAME IPv6 protocol stack kit.
|
1999-12-28 02:37:14 +00:00
|
|
|
.Nm rtsol
|
2003-08-17 11:11:32 +00:00
|
|
|
is now integrated into
|
|
|
|
.Xr rtsold 8 .
|
2000-07-05 10:14:11 +00:00
|
|
|
.\"
|
|
|
|
.Sh BUGS
|
|
|
|
In some operating systems, when a PCMCIA network card is removed
|
|
|
|
and reinserted, the corresponding interface index is changed.
|
|
|
|
However,
|
|
|
|
.Nm
|
2001-06-11 12:39:29 +00:00
|
|
|
assumes such changes will not occur, and always uses the index that
|
2004-07-02 23:13:00 +00:00
|
|
|
it got at invocation.
|
|
|
|
As a result,
|
2000-07-05 10:14:11 +00:00
|
|
|
.Nm
|
|
|
|
may not work if you reinsert a network card.
|
|
|
|
In such a case,
|
|
|
|
.Nm
|
|
|
|
should be killed and restarted.
|
2000-10-06 23:46:52 +00:00
|
|
|
.Pp
|
2001-06-11 12:39:29 +00:00
|
|
|
The IPv6 autoconfiguration specification assumes a single-interface host.
|
|
|
|
You may see kernel error messages if you try to autoconfigure a host with
|
2000-10-06 23:46:52 +00:00
|
|
|
multiple interfaces.
|
|
|
|
Also, it seems contradictory for
|
|
|
|
.Nm
|
|
|
|
to accept multiple
|
2001-06-11 12:39:29 +00:00
|
|
|
.Ar interface
|
|
|
|
arguments.
|