xref: /freebsd/usr.sbin/rtsold/rtsold.8 (revision 1e413cf93298b5b97441a21d9a50fdcd0ee9945e)
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 17, 1998
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.Ar interface ...
45.Nm
46.Op Fl dDfFm1
47.Op Fl O Ar script-name
48.Fl a
49.Nm rtsol
50.Op Fl dDF
51.Op Fl O Ar script-name
52.Ar interface ...
53.Nm rtsol
54.Op Fl dD
55.Op Fl O Ar script-name
56.Fl a
57.\"
58.Sh DESCRIPTION
59.Nm
60is the daemon program to send ICMPv6 Router Solicitation messages
61on the specified interfaces.
62If a node (re)attaches to a link,
63.Nm
64sends some Router Solicitations on the link destined to the link-local scope
65all-routers multicast address to discover new routers
66and to get non link-local addresses.
67.Pp
68.Nm
69should be used on IPv6 hosts
70.Pq non-router nodes
71only.
72.Pp
73If you invoke the program as
74.Nm rtsol ,
75it will transmit probes from the specified
76.Ar interface ,
77without becoming a daemon.
78In other words,
79.Nm rtsol
80behaves as
81.Do
82.Nm
83.Fl f1
84.Ar interfaces
85.Dc .
86.Pp
87Specifically,
88.Nm
89sends at most 3 Router Solicitations on an interface
90after one of the following events:
91.Pp
92.Bl -bullet -compact
93.It
94Just after invocation of
95.Nm
96daemon.
97.It
98The interface is up after a temporary interface failure.
99.Nm
100detects such failures by periodically probing to see if the status
101of the interface is active or not.
102Note that some network cards and drivers do not allow the extraction
103of link state.
104In such cases,
105.Nm
106cannot detect the change of the interface status.
107.It
108Every 60 seconds if the
109.Fl m
110option is specified and the
111.Nm
112daemon cannot get the interface status.
113This feature does not conform to the IPv6 neighbor discovery
114specification, but is provided for mobile stations.
115The default interval for router advertisements, which is on the order of 10
116minutes, is slightly long for mobile stations.
117This feature is provided
118for such stations so that they can find new routers as soon as possible
119when they attach to another link.
120.El
121.Lp
122Once
123.Nm
124has sent a Router Solicitation, and has received a valid Router Advertisement,
125it refrains from sending additional solicitations on that interface, until
126the next time one of the above events occurs.
127.Lp
128When sending a Router Solicitation on an interface,
129.Nm
130includes a Source Link-layer address option if the interface
131has a link-layer address.
132.Lp
133.Nm
134manages a per-interface parameter to detect if a separate protocol is
135needed for configuration parameters other than host's addresses.
136At the invocation time, the flag is FALSE, and becomes TRUE when
137the daemon receives a router advertisement with the OtherConfig flag
138being set.
139A script file can be specified to deal with the case
140.Pq see below .
141When
142.Nm
143start resending router solicitation messages by one of the conditions
144events,
145the daemon resets the parameter because the event may indicate a
146change on the attached link.
147.Pp
148Upon receipt of signal
149.Dv SIGUSR1 ,
150.Nm
151will dump the current internal state into
152.Pa /var/run/rtsold.dump .
153.\"
154.Pp
155The options are as follows:
156.Bl -tag -width indent
157.It Fl a
158Autoprobe outgoing interface.
159.Nm
160will try to find a non-loopback, non-point-to-point, IPv6-capable interface.
161If
162.Nm
163finds multiple interfaces,
164.Nm
165will exit with error.
166.\"
167.It Fl d
168Enable debugging.
169.It Fl D
170Enable more debugging including the printing of internal timer information.
171.It Fl f
172Prevent
173.Nm
174from becoming a daemon (foreground mode).
175Warning messages are generated to standard error
176instead of
177.Xr syslog 3 .
178.It Fl F
179Explicitly configure the kernel to accept Router Advertisements and
180disable IPv6 forwarding.
181These settings are required for proper
182.Nm
183operation.
184Without this option, the current settings will be obeyed;
185if they are incompatible with proper operation,
186warning messages will be generated,
187but Router Solicitations will still be sent.
188The settings may be changed manually with
189.Xr sysctl 8 .
190.It Fl m
191Enable mobility support.
192If this option is specified,
193.Nm
194sends probing packets to default routers that have advertised Router
195Advertisements
196when the node (re)attaches to an interface.
197Moreover, if the option is specified,
198.Nm
199periodically sends Router Solicitation on an interface that does not support
200.Dv SIOCGIFMEDIA
201ioctl.
202.It Fl 1
203Perform only one probe.
204Transmit Router Solicitation packets until at least one valid Router
205Advertisement packet has arrived on each
206.Ar interface ,
207then exit.
208.It Fl O Ar script-name
209Specifies a supplement script file to handle the Other Configuration
210flag of the router advertisement.
211When the flag changes from FALSE to TRUE,
212.Nm
213will invoke
214.Ar script-name
215with a single argument of the receiving interface name,
216expecting the script will then start a protocol for the other
217configuration.
218.Ar script-name
219must be the absolute path from root to the script file, be a regular
220file, and be created by the same owner who runs
221.Nm .
222.El
223.Sh RETURN VALUES
224The
225.Nm
226program exits 0 on success, and >0 on failures.
227.\"
228.Sh FILES
229.Bl -tag -width /var/run/rtsold.dump -compact
230.It Pa /var/run/rtsold.pid
231the pid of the currently running
232.Nm .
233.It Pa /var/run/rtsold.dump
234dumps internal state on.
235.El
236.\"
237.Sh SEE ALSO
238.Xr rtadvd 8 ,
239.Xr sysctl 8
240.\"
241.Sh HISTORY
242The
243.Nm
244command is based on the
245.Nm rtsol
246command, which first appeared in WIDE/KAME IPv6 protocol stack kit.
247.Nm rtsol
248is now integrated into
249.Xr rtsold 8 .
250.\"
251.Sh BUGS
252In some operating systems, when a PCMCIA network card is removed
253and reinserted, the corresponding interface index is changed.
254However,
255.Nm
256assumes such changes will not occur, and always uses the index that
257it got at invocation.
258As a result,
259.Nm
260may not work if you reinsert a network card.
261In such a case,
262.Nm
263should be killed and restarted.
264.Pp
265The IPv6 autoconfiguration specification assumes a single-interface host.
266You may see kernel error messages if you try to autoconfigure a host with
267multiple interfaces.
268Also, it seems contradictory for
269.Nm
270to accept multiple
271.Ar interface
272arguments.
273