RTSOLD(8)               OpenBSD System Manager's Manual              RTSOLD(8)

NAME
     rtsold - router solicitation daemon

SYNOPSIS
     rtsold [-1DdFfm] [-O script-name] interface ...
     rtsold [-1DdFfm] -a

     rtsol [-DdF] [-O script-name] interface ...
     rtsol [-DdF] -a

DESCRIPTION
     rtsold is the daemon program to send ICMPv6 Router Solicitation messages
     on the specified interfaces.  If a node (re)attaches to a link, rtsold
     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.

     rtsold should be used on IPv6 hosts (non-router nodes) only.  The
     net.inet6.ip6.forwarding sysctl(8) should be set to zero and the
     net.inet6.ip6.accept_rtadv sysctl(8) should be set to a non-zero value
     (see also the -F option below).

     If you invoke the program as rtsol, it will transmit probes from the
     specified interface, without becoming a daemon.  In other words, rtsol
     behaves as ``rtsold -f1 interface ...''.

     An interface may be configured at boot to be brought up using rtsol via a
     hostname.if(5) file.  See that man page for more information.

     rtsold sends at most 3 Router Solicitations on an interface after one of
     the following events:

     o   Just after invocation of rtsold daemon.

     o   The interface is up after a temporary interface failure.  rtsold de-
         tects 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,
         rtsold cannot detect the change of the interface status.

     o   Every 60 seconds if the -m option is specified and the rtsold 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.

     Once rtsold 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.

     When sending a Router Solicitation on an interface, rtsold includes a
     Source Link-layer address option if the interface has a link-layer ad-
     dress.

     rtsold is able to do some additional configuration for interfaces where
     more than setting the host's address is needed.  When the daemon receives
     a router advertisement with the ``Other Configuration'' flag set, the
     script specified using the -O option is run.

     Upon receipt of signal SIGUSR1, rtsold will dump the current internal
     state into /var/run/rtsold.dump.

     The options are as follows:

     -1      Perform only one probe.  Transmit Router Solicitation packets un-
             til at least one valid Router Advertisement packet has arrived on
             each interface, then exit.

     -a      Autoprobe outgoing interface.  rtsold will try to find a non-
             loopback, non-point-to-point, IPv6-capable interface.  If rtsold
             finds multiple interfaces, rtsold will exit with error.

     -D      Enable more debugging (than that offered by the -d option) in-
             cluding the printing of internal timer information.

     -d      Enable debugging.

     -F      Automatically set the sysctl(8) variables relating to rtsold (see
             above).  Without this option, rtsold will obey the current
             sysctl(8) settings.

     -f      This option prevents rtsold from becoming a daemon (foreground
             mode).  Warning messages are generated to standard error instead
             of syslog(3).

     -m      Enable mobility support.  If this option is specified, rtsold
             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, rtsold periodically sends
             Router Solicitation on an interface that does not support
             SIOCGIFMEDIA ioctl.

     -O script-name
             Specifies a script to handle the Other Configuration flag of the
             router advertisement (see above).  script-name is invoked with a
             single argument of the receiving interface name, expecting the
             script will then start a protocol to provide additional configu-
             ration.  script-name should be specified as the absolute path
             from root to the script file, and the file itself should be a
             regular file and owned by the same user running rtsold.

     The rtsold utility exits 0 on success, and >0 if an error occurs.

FILES
     /var/run/rtsold.dump    Internal state dump file.

SEE ALSO
     hostname.if(5), netstart(8), rtadvd(8), sysctl(8)

HISTORY
     The rtsold command is based on the rtsol command, which first appeared in
     WIDE/KAME IPv6 protocol stack kit.  rtsol is now integrated into rtsold.

BUGS
     In some operating systems, when a PCMCIA network card is removed and
     reinserted, the corresponding interface index is changed.  However,
     rtsold assumes such changes will not occur, and always uses the index
     that it got at invocation.  As a result, rtsold may not work if you rein-
     sert a network card.  In such a case, rtsold should be killed and
     restarted.

     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 rtsold to accept
     multiple interface arguments.

OpenBSD 4.7                      June 10, 2008                               2
