1.\" $KAME: rtsold.8,v 1.20 2003/04/11 12:46:12 jinmei Exp $ 2.\" 3.\" Copyright (C) 1995, 1996, 1997, and 1998 WIDE Project. 4.\" All rights reserved. 5.\" 6.\" Redistribution and use in source and binary forms, with or without 7.\" modification, are permitted provided that the following conditions 8.\" are met: 9.\" 1. Redistributions of source code must retain the above copyright 10.\" notice, this list of conditions and the following disclaimer. 11.\" 2. Redistributions in binary form must reproduce the above copyright 12.\" notice, this list of conditions and the following disclaimer in the 13.\" documentation and/or other materials provided with the distribution. 14.\" 3. Neither the name of the project nor the names of its contributors 15.\" may be used to endorse or promote products derived from this software 16.\" without specific prior written permission. 17.\" 18.\" THIS SOFTWARE IS PROVIDED BY THE PROJECT AND CONTRIBUTORS ``AS IS'' AND 19.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE 20.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE 21.\" ARE DISCLAIMED. IN NO EVENT SHALL THE PROJECT OR CONTRIBUTORS BE LIABLE 22.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL 23.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS 24.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) 25.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT 26.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY 27.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF 28.\" SUCH DAMAGE. 29.\" 30.\" $FreeBSD$ 31.\" 32.Dd May 28, 2011 33.Dt RTSOLD 8 34.Os 35.\" 36.Sh NAME 37.Nm rtsold , rtsol 38.Nd router solicitation daemon 39.\" 40.Sh SYNOPSIS 41.Nm 42.Op Fl dDfFm1 43.Op Fl O Ar script-name 44.Op Fl P Ar pidfile 45.Op Fl R Ar script-name 46.Ar interface ... 47.Nm 48.Op Fl dDfFm1 49.Op Fl O Ar script-name 50.Op Fl P Ar pidfile 51.Op Fl R Ar script-name 52.Fl a 53.Nm rtsol 54.Op Fl dD 55.Op Fl O Ar script-name 56.Op Fl R Ar script-name 57.Ar interface ... 58.Nm rtsol 59.Op Fl dD 60.Op Fl O Ar script-name 61.Op Fl R Ar script-name 62.Fl a 63.\" 64.Sh DESCRIPTION 65.Nm 66is the daemon program to send ICMPv6 Router Solicitation messages 67on the specified interfaces. 68If a node (re)attaches to a link, 69.Nm 70sends some Router Solicitations on the link destined to the link-local scope 71all-routers multicast address to discover new routers 72and to get non link-local addresses. 73.Pp 74.Nm 75should be used on IPv6 hosts 76.Pq non-router nodes 77only. 78.Pp 79If you invoke the program as 80.Nm rtsol , 81it will transmit probes from the specified 82.Ar interface , 83without becoming a daemon. 84In other words, 85.Nm rtsol 86behaves as 87.Do 88.Nm 89.Fl f1 90.Ar interfaces 91.Dc . 92.Pp 93Specifically, 94.Nm 95sends at most 3 Router Solicitations on an interface 96after one of the following events: 97.Pp 98.Bl -bullet -compact 99.It 100Just after invocation of 101.Nm 102daemon. 103.It 104The interface is up after a temporary interface failure. 105.Nm 106detects such failures by periodically probing to see if the status 107of the interface is active or not. 108Note that some network cards and drivers do not allow the extraction 109of link state. 110In such cases, 111.Nm 112cannot detect the change of the interface status. 113.It 114Every 60 seconds if the 115.Fl m 116option is specified and the 117.Nm 118daemon cannot get the interface status. 119This feature does not conform to the IPv6 neighbor discovery 120specification, but is provided for mobile stations. 121The default interval for router advertisements, which is on the order of 10 122minutes, is slightly long for mobile stations. 123This feature is provided 124for such stations so that they can find new routers as soon as possible 125when they attach to another link. 126.El 127.Lp 128Once 129.Nm 130has sent a Router Solicitation, and has received a valid Router Advertisement, 131it refrains from sending additional solicitations on that interface, until 132the next time one of the above events occurs. 133.Lp 134When sending a Router Solicitation on an interface, 135.Nm 136includes a Source Link-layer address option if the interface 137has a link-layer address. 138.Lp 139.Nm 140manages a per-interface parameter to detect if a separate protocol is 141needed for configuration parameters other than host's addresses. 142At the invocation time, the flag is FALSE, and becomes TRUE when 143the daemon receives a router advertisement with the OtherConfig flag 144being set. 145A script file can be specified to deal with the case 146.Pq see below . 147When 148.Nm 149start resending router solicitation messages by one of the conditions 150events, 151the daemon resets the parameter because the event may indicate a 152change on the attached link. 153.Pp 154Upon receipt of signal 155.Dv SIGUSR1 , 156.Nm 157will dump the current internal state into 158.Pa /var/run/rtsold.dump . 159.\" 160.Pp 161The options are as follows: 162.Bl -tag -width indent 163.It Fl a 164Autoprobe outgoing interface. 165.Nm 166will try to find a non-loopback, non-point-to-point, IPv6-capable interface. 167If 168.Nm 169finds multiple interfaces, 170.Nm 171will exit with error. 172.\" 173.It Fl d 174Enable debugging. 175.It Fl D 176Enable more debugging including the printing of internal timer information. 177.It Fl f 178Prevent 179.Nm 180from becoming a daemon (foreground mode). 181Warning messages are generated to standard error 182instead of 183.Xr syslog 3 . 184.It Fl F 185Explicitly configure the kernel to accept Router Advertisements and 186disable IPv6 forwarding. 187These settings are required for proper 188.Nm 189operation. 190Without this option, the current settings will be obeyed; 191if they are incompatible with proper operation, 192warning messages will be generated, 193but Router Solicitations will still be sent. 194The settings may be changed manually with 195.Xr sysctl 8 196and 197.Xr ifconfig 8 . 198.It Fl m 199Enable mobility support. 200If this option is specified, 201.Nm 202sends probing packets to default routers that have advertised Router 203Advertisements 204when the node (re)attaches to an interface. 205Moreover, if the option is specified, 206.Nm 207periodically sends Router Solicitation on an interface that does not support 208.Dv SIOCGIFMEDIA 209ioctl. 210.It Fl 1 211Perform only one probe. 212Transmit Router Solicitation packets until at least one valid Router 213Advertisement packet has arrived on each 214.Ar interface , 215then exit. 216.It Fl O Ar script-name 217Specifies a supplement script file to handle the Other Configuration 218flag of the router advertisement. 219When the flag changes from FALSE to TRUE, 220.Nm 221will invoke 222.Ar script-name 223with a single argument of the receiving interface name, 224expecting the script will then start a protocol for the other 225configuration. 226.Ar script-name 227must be the absolute path from root to the script file, be a regular 228file, and be created by the same owner who runs 229.Nm . 230.It Fl P Ar pidfile 231Writes the process ID of 232.Nm 233to 234.Pa pidfile 235instead of the default PID file 236.Pa /var/run/rtsold.pid . 237.It Fl R Ar script-name 238Specifies a script to run when router advertisment options 239.Dv RDNSS Pq Recursive DNS Server 240or 241.Dv DNSSL Pq DNS Search List 242are encountered. 243The information of DNS servers and DNS search domains will be sent to 244standard input of this script. 245The 246.Xr resolvconf 8 247script is used by default. 248.El 249.Sh FILES 250.Bl -tag -width /var/run/rtsold.dump -compact 251.It Pa /var/run/rtsold.pid 252the pid of the currently running 253.Nm . 254.It Pa /var/run/rtsold.dump 255dumps internal state on. 256.El 257.\" 258.Sh EXIT STATUS 259.Ex -std 260.\" 261.Sh SEE ALSO 262.Xr resolvconf 8 , 263.Xr rtadvd 8 , 264.Xr sysctl 8 265.\" 266.Sh HISTORY 267The 268.Nm 269command is based on the 270.Nm rtsol 271command, which first appeared in WIDE/KAME IPv6 protocol stack kit. 272.Nm rtsol 273is now integrated into 274.Xr rtsold 8 . 275.\" 276.Sh BUGS 277In some operating systems, when a PCMCIA network card is removed 278and reinserted, the corresponding interface index is changed. 279However, 280.Nm 281assumes such changes will not occur, and always uses the index that 282it got at invocation. 283As a result, 284.Nm 285may not work if you reinsert a network card. 286In such a case, 287.Nm 288should be killed and restarted. 289.Pp 290The IPv6 autoconfiguration specification assumes a single-interface host. 291You may see kernel error messages if you try to autoconfigure a host with 292multiple interfaces. 293Also, it seems contradictory for 294.Nm 295to accept multiple 296.Ar interface 297arguments. 298