]> CyberLeo.Net >> Repos - FreeBSD/FreeBSD.git/blob - usr.sbin/rtsold/rtsold.8
libarchive: merge vendor bugfixes
[FreeBSD/FreeBSD.git] / usr.sbin / rtsold / rtsold.8
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 December 15, 2021
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 dDfFimu1
43 .Op Fl M Ar script-name
44 .Op Fl O Ar script-name
45 .Op Fl p Ar pidfile
46 .Op Fl R Ar script-name
47 .Ar interface ...
48 .Nm
49 .Op Fl dDfFimu1
50 .Op Fl M Ar script-name
51 .Op Fl O Ar script-name
52 .Op Fl p Ar pidfile
53 .Op Fl R Ar script-name
54 .Fl a
55 .Nm rtsol
56 .Op Fl dDiu
57 .Op Fl M Ar script-name
58 .Op Fl O Ar script-name
59 .Op Fl R Ar script-name
60 .Ar interface ...
61 .Nm rtsol
62 .Op Fl dDiu
63 .Op Fl M Ar script-name
64 .Op Fl O Ar script-name
65 .Op Fl R Ar script-name
66 .Fl a
67 .\"
68 .Sh DESCRIPTION
69 .Nm
70 is the daemon program to send ICMPv6 Router Solicitation messages
71 on the specified interfaces.
72 If a node (re)attaches to a link,
73 .Nm
74 sends some Router Solicitations on the link destined to the link-local scope
75 all-routers multicast address to discover new routers
76 and to get non link-local addresses.
77 .Pp
78 .Nm
79 should be used on IPv6 hosts
80 .Pq non-router nodes
81 only.
82 .Pp
83 If you invoke the program as
84 .Nm rtsol ,
85 it will transmit probes from the specified
86 .Ar interface ,
87 without becoming a daemon.
88 In other words,
89 .Nm rtsol
90 behaves as
91 .Do
92 .Nm
93 .Fl f1
94 .Ar interfaces
95 .Dc .
96 .Pp
97 Specifically,
98 .Nm
99 sends at most 3 Router Solicitations on an interface
100 after one of the following events:
101 .Pp
102 .Bl -bullet -compact
103 .It
104 Just after invocation of
105 .Nm
106 daemon.
107 .It
108 The interface is up after a temporary interface failure.
109 .Nm
110 detects such failures by periodically probing to see if the status
111 of the interface is active or not.
112 Note that some network cards and drivers do not allow the extraction
113 of link state.
114 In such cases,
115 .Nm
116 cannot detect the change of the interface status.
117 .It
118 Every 60 seconds if the
119 .Fl m
120 option is specified and the
121 .Nm
122 daemon cannot get the interface status.
123 This feature does not conform to the IPv6 neighbor discovery
124 specification, but is provided for mobile stations.
125 The default interval for router advertisements, which is on the order of 10
126 minutes, is slightly long for mobile stations.
127 This feature is provided
128 for such stations so that they can find new routers as soon as possible
129 when they attach to another link.
130 .El
131 .Lp
132 Once
133 .Nm
134 has sent a Router Solicitation, and has received a valid Router Advertisement,
135 it refrains from sending additional solicitations on that interface, until
136 the next time one of the above events occurs.
137 .Lp
138 When sending a Router Solicitation on an interface,
139 .Nm
140 includes a Source Link-layer address option if the interface
141 has a link-layer address.
142 .Lp
143 .Nm
144 manages a per-interface parameter to detect if a separate protocol is
145 needed for configuration parameters other than host's addresses.
146 At the invocation time, the flag is FALSE, and becomes TRUE when
147 the daemon receives a router advertisement with the OtherConfig flag
148 being set.
149 A script file can be specified to deal with the case
150 .Pq see below .
151 When
152 .Nm
153 start resending router solicitation messages by one of the conditions
154 events,
155 the daemon resets the parameter because the event may indicate a
156 change on the attached link.
157 .Pp
158 Upon receipt of signal
159 .Dv SIGUSR1 ,
160 .Nm
161 will dump the current internal state into
162 .Pa /var/run/rtsold.dump .
163 .\"
164 .Pp
165 The options are as follows:
166 .Bl -tag -width indent
167 .It Fl a
168 Autoprobe outgoing interfaces.
169 .Nm
170 will try to find any non-loopback, IPv6-capable interfaces
171 and send router solicitation messages on all of them.
172 .It Fl d
173 Enable debugging.
174 .It Fl D
175 Enable more debugging including the printing of internal timer information.
176 .It Fl f
177 Prevent
178 .Nm
179 from becoming a daemon (foreground mode).
180 Warning messages are generated to standard error
181 instead of
182 .Xr syslog 3 .
183 .It Fl F
184 Explicitly configure the kernel to accept Router Advertisements and
185 disable IPv6 forwarding.
186 These settings are required for proper
187 .Nm
188 operation.
189 Without this option, the current settings will be obeyed;
190 if they are incompatible with proper operation,
191 warning messages will be generated,
192 but Router Solicitations will still be sent.
193 The settings may be changed manually with
194 .Xr sysctl 8
195 and
196 .Xr ifconfig 8 .
197 .It Fl i
198 Transmit Router Solicitation packets immediately, without waiting the
199 normal random (between 0 and 1 second) delay.
200 This option should not be used on networks where it might result in
201 congestion due to many hosts simultaneously (re)connecting and
202 sending such packets.
203 .It Fl m
204 Enable mobility support.
205 If this option is specified,
206 .Nm
207 sends probing packets to default routers that have advertised Router
208 Advertisements
209 when the node (re)attaches to an interface.
210 Moreover, if the option is specified,
211 .Nm
212 periodically sends Router Solicitation on an interface that does not support
213 .Dv SIOCGIFMEDIA
214 ioctl.
215 .It Fl 1
216 Perform only one probe.
217 Transmit Router Solicitation packets until at least one valid Router
218 Advertisement packet has arrived on each
219 .Ar interface ,
220 then exit.
221 .It Fl M Ar script-name
222 Specifies a supplement script file to handle the Managed Configuration
223 flag of the router advertisement.
224 When the flag changes from FALSE to TRUE,
225 .Nm
226 will invoke
227 .Ar script-name
228 with a first argument of the receiving interface name
229 and a second argument of the sending router address,
230 expecting the script will then start a protocol for the managed
231 configuration.
232 .Ar script-name
233 must be the absolute path from root to the script file, be a regular
234 file, and be created by the same owner who runs
235 .Nm .
236 .It Fl O Ar script-name
237 Specifies a supplement script file to handle the Other Configuration
238 flag of the router advertisement.
239 When the flag changes from FALSE to TRUE,
240 .Nm
241 will invoke
242 .Ar script-name
243 with a first argument of the receiving interface name
244 and a second argument of the sending router address,
245 expecting the script will then start a protocol for the other
246 configuration.
247 The script will not be run if the Managed Configuration flag in the
248 router advertisement is also TRUE.
249 .Ar script-name
250 must be the absolute path from root to the script file, be a regular
251 file, and be created by the same owner who runs
252 .Nm .
253 .It Fl p Ar pidfile
254 Writes the process ID of
255 .Nm
256 to
257 .Pa pidfile
258 instead of the default PID file
259 .Pa /var/run/rtsold.pid .
260 .It Fl R Ar script-name
261 Specifies a script to run when router advertisement options
262 .Dv RDNSS Pq Recursive DNS Server
263 or
264 .Dv DNSSL Pq DNS Search List
265 are encountered.
266 The information of DNS servers and DNS search domains will be sent to
267 standard input of this script.
268 The
269 .Xr resolvconf 8
270 script is used by default.
271 .It Fl u
272 Specifies whether to add the source address of Router Advertisement
273 messages to the interface name in the parameters of the RDNSS and DNSSL
274 scripts.
275 .Pp
276 If
277 .Fl u
278 is specified, the interface name in the script parameters will be
279 .Ql ifname:slaac:[RA-source-address] .
280 .Pp
281 Otherwise it will be
282 .Ql ifname:slaac .
283 .El
284 .Sh FILES
285 .Bl -tag -width /var/run/rtsold.dump -compact
286 .It Pa /var/run/rtsold.pid
287 The PID of the currently running
288 .Nm .
289 .It Pa /var/run/rtsold.dump
290 Internal state dump file.
291 .El
292 .\"
293 .Sh EXIT STATUS
294 .Ex -std
295 .\"
296 .Sh SEE ALSO
297 .Xr resolvconf 8 ,
298 .Xr rtadvd 8 ,
299 .Xr sysctl 8
300 .\"
301 .Sh HISTORY
302 The
303 .Nm
304 command is based on the
305 .Nm rtsol
306 command, which first appeared in WIDE/KAME IPv6 protocol stack kit.
307 .Nm rtsol
308 is now integrated into
309 .Xr rtsold 8 .
310 .\"
311 .Sh BUGS
312 When a network card is removed and reinserted, the corresponding interface index
313 may change.
314 However,
315 .Nm
316 assumes such changes will not occur, and always uses the index that
317 it got at invocation.
318 As a result,
319 .Nm
320 may not work if you reinsert a network card.
321 In such a case,
322 .Nm
323 should be killed and restarted.
324 .Pp
325 The IPv6 autoconfiguration specification assumes a single-interface host.
326 You may see kernel error messages if you try to autoconfigure a host with
327 multiple interfaces.
328 Also, it seems contradictory for
329 .Nm
330 to accept multiple
331 .Ar interface
332 arguments.