xref: /freebsd/usr.sbin/rtsold/rtsold.8 (revision fa9896e082a1046ff4fbc75fcba4d18d1f2efc19)
19a364ca3SHajimu UMEMOTO.\"	$KAME: rtsold.8,v 1.20 2003/04/11 12:46:12 jinmei Exp $
2804c83d4SKris Kennaway.\"
37d56d374SYoshinobu Inoue.\" Copyright (C) 1995, 1996, 1997, and 1998 WIDE Project.
47d56d374SYoshinobu Inoue.\" All rights reserved.
57d56d374SYoshinobu Inoue.\"
67d56d374SYoshinobu Inoue.\" Redistribution and use in source and binary forms, with or without
77d56d374SYoshinobu Inoue.\" modification, are permitted provided that the following conditions
87d56d374SYoshinobu Inoue.\" are met:
97d56d374SYoshinobu Inoue.\" 1. Redistributions of source code must retain the above copyright
107d56d374SYoshinobu Inoue.\"    notice, this list of conditions and the following disclaimer.
117d56d374SYoshinobu Inoue.\" 2. Redistributions in binary form must reproduce the above copyright
127d56d374SYoshinobu Inoue.\"    notice, this list of conditions and the following disclaimer in the
137d56d374SYoshinobu Inoue.\"    documentation and/or other materials provided with the distribution.
147d56d374SYoshinobu Inoue.\" 3. Neither the name of the project nor the names of its contributors
157d56d374SYoshinobu Inoue.\"    may be used to endorse or promote products derived from this software
167d56d374SYoshinobu Inoue.\"    without specific prior written permission.
177d56d374SYoshinobu Inoue.\"
187d56d374SYoshinobu Inoue.\" THIS SOFTWARE IS PROVIDED BY THE PROJECT AND CONTRIBUTORS ``AS IS'' AND
197d56d374SYoshinobu Inoue.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
207d56d374SYoshinobu Inoue.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
217d56d374SYoshinobu Inoue.\" ARE DISCLAIMED.  IN NO EVENT SHALL THE PROJECT OR CONTRIBUTORS BE LIABLE
227d56d374SYoshinobu Inoue.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
237d56d374SYoshinobu Inoue.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
247d56d374SYoshinobu Inoue.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
257d56d374SYoshinobu Inoue.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
267d56d374SYoshinobu Inoue.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
277d56d374SYoshinobu Inoue.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
287d56d374SYoshinobu Inoue.\" SUCH DAMAGE.
297d56d374SYoshinobu Inoue.\"
30*476babaeSKristof Provost.Dd May 2, 2023
317d56d374SYoshinobu Inoue.Dt RTSOLD 8
3233841545SHajimu UMEMOTO.Os
337d56d374SYoshinobu Inoue.\"
347d56d374SYoshinobu Inoue.Sh NAME
356658f7a1SRuslan Ermilov.Nm rtsold , rtsol
367d56d374SYoshinobu Inoue.Nd router solicitation daemon
377d56d374SYoshinobu Inoue.\"
387d56d374SYoshinobu Inoue.Sh SYNOPSIS
39e97407b4SRuslan Ermilov.Nm
40231bac4cSColin Percival.Op Fl dDfFimu1
4160e7f669SBjoern A. Zeeb.Op Fl M Ar script-name
4286b032afSHajimu UMEMOTO.Op Fl O Ar script-name
43*476babaeSKristof Provost.Op Fl A Ar script-name
44489e04d0SHiroki Sato.Op Fl p Ar pidfile
45db82af41SHiroki Sato.Op Fl R Ar script-name
467d56d374SYoshinobu Inoue.Ar interface ...
47e97407b4SRuslan Ermilov.Nm
48231bac4cSColin Percival.Op Fl dDfFimu1
4960e7f669SBjoern A. Zeeb.Op Fl M Ar script-name
5086b032afSHajimu UMEMOTO.Op Fl O Ar script-name
51*476babaeSKristof Provost.Op Fl A Ar script-name
52489e04d0SHiroki Sato.Op Fl p Ar pidfile
53db82af41SHiroki Sato.Op Fl R Ar script-name
54804c83d4SKris Kennaway.Fl a
557d56d374SYoshinobu Inoue.Nm rtsol
56231bac4cSColin Percival.Op Fl dDiu
5760e7f669SBjoern A. Zeeb.Op Fl M Ar script-name
5886b032afSHajimu UMEMOTO.Op Fl O Ar script-name
59*476babaeSKristof Provost.Op Fl A Ar script-name
60db82af41SHiroki Sato.Op Fl R Ar script-name
617d56d374SYoshinobu Inoue.Ar interface ...
62804c83d4SKris Kennaway.Nm rtsol
63231bac4cSColin Percival.Op Fl dDiu
6460e7f669SBjoern A. Zeeb.Op Fl M Ar script-name
6586b032afSHajimu UMEMOTO.Op Fl O Ar script-name
66*476babaeSKristof Provost.Op Fl A Ar script-name
67db82af41SHiroki Sato.Op Fl R Ar script-name
68804c83d4SKris Kennaway.Fl a
697d56d374SYoshinobu Inoue.\"
707d56d374SYoshinobu Inoue.Sh DESCRIPTION
71804c83d4SKris Kennaway.Nm
729a364ca3SHajimu UMEMOTOis the daemon program to send ICMPv6 Router Solicitation messages
737d56d374SYoshinobu Inoueon the specified interfaces.
747d56d374SYoshinobu InoueIf a node (re)attaches to a link,
757d56d374SYoshinobu Inoue.Nm
767d56d374SYoshinobu Inouesends some Router Solicitations on the link destined to the link-local scope
777d56d374SYoshinobu Inoueall-routers multicast address to discover new routers
787d56d374SYoshinobu Inoueand to get non link-local addresses.
79259df286SKris Kennaway.Pp
80804c83d4SKris Kennaway.Nm
819a364ca3SHajimu UMEMOTOshould be used on IPv6 hosts
829a364ca3SHajimu UMEMOTO.Pq non-router nodes
83804c83d4SKris Kennawayonly.
84804c83d4SKris Kennaway.Pp
85259df286SKris KennawayIf you invoke the program as
86259df286SKris Kennaway.Nm rtsol ,
87259df286SKris Kennawayit will transmit probes from the specified
88259df286SKris Kennaway.Ar interface ,
89259df286SKris Kennawaywithout becoming a daemon.
90259df286SKris KennawayIn other words,
91259df286SKris Kennaway.Nm rtsol
92259df286SKris Kennawaybehaves as
93259df286SKris Kennaway.Do
94259df286SKris Kennaway.Nm
95259df286SKris Kennaway.Fl f1
96259df286SKris Kennaway.Ar interfaces
97259df286SKris Kennaway.Dc .
98259df286SKris Kennaway.Pp
997d56d374SYoshinobu InoueSpecifically,
1007d56d374SYoshinobu Inoue.Nm
1017d56d374SYoshinobu Inouesends at most 3 Router Solicitations on an interface
1027d56d374SYoshinobu Inoueafter one of the following events:
103259df286SKris Kennaway.Pp
1047d56d374SYoshinobu Inoue.Bl -bullet -compact
1057d56d374SYoshinobu Inoue.It
1067d56d374SYoshinobu InoueJust after invocation of
1077d56d374SYoshinobu Inoue.Nm
1087d56d374SYoshinobu Inouedaemon.
1097d56d374SYoshinobu Inoue.It
1107d56d374SYoshinobu InoueThe interface is up after a temporary interface failure.
111804c83d4SKris Kennaway.Nm
1129a364ca3SHajimu UMEMOTOdetects such failures by periodically probing to see if the status
113259df286SKris Kennawayof the interface is active or not.
114259df286SKris KennawayNote that some network cards and drivers do not allow the extraction
115259df286SKris Kennawayof link state.
1167d56d374SYoshinobu InoueIn such cases,
1177d56d374SYoshinobu Inoue.Nm
1187d56d374SYoshinobu Inouecannot detect the change of the interface status.
1197d56d374SYoshinobu Inoue.It
120259df286SKris KennawayEvery 60 seconds if the
1217d56d374SYoshinobu Inoue.Fl m
122259df286SKris Kennawayoption is specified and the
1237d56d374SYoshinobu Inoue.Nm
1247d56d374SYoshinobu Inouedaemon cannot get the interface status.
12533841545SHajimu UMEMOTOThis feature does not conform to the IPv6 neighbor discovery
1267d56d374SYoshinobu Inouespecification, but is provided for mobile stations.
12733841545SHajimu UMEMOTOThe default interval for router advertisements, which is on the order of 10
1287d56d374SYoshinobu Inoueminutes, is slightly long for mobile stations.
1297d56d374SYoshinobu InoueThis feature is provided
1307d56d374SYoshinobu Inouefor such stations so that they can find new routers as soon as possible
131259df286SKris Kennawaywhen they attach to another link.
1327d56d374SYoshinobu Inoue.El
1337d56d374SYoshinobu Inoue.Lp
1347d56d374SYoshinobu InoueOnce
1357d56d374SYoshinobu Inoue.Nm
13633841545SHajimu UMEMOTOhas sent a Router Solicitation, and has received a valid Router Advertisement,
137259df286SKris Kennawayit refrains from sending additional solicitations on that interface, until
1387d56d374SYoshinobu Inouethe next time one of the above events occurs.
1397d56d374SYoshinobu Inoue.Lp
1407d56d374SYoshinobu InoueWhen sending a Router Solicitation on an interface,
1417d56d374SYoshinobu Inoue.Nm
1427d56d374SYoshinobu Inoueincludes a Source Link-layer address option if the interface
14333841545SHajimu UMEMOTOhas a link-layer address.
14486b032afSHajimu UMEMOTO.Lp
14586b032afSHajimu UMEMOTO.Nm
14686b032afSHajimu UMEMOTOmanages a per-interface parameter to detect if a separate protocol is
14786b032afSHajimu UMEMOTOneeded for configuration parameters other than host's addresses.
14886b032afSHajimu UMEMOTOAt the invocation time, the flag is FALSE, and becomes TRUE when
14986b032afSHajimu UMEMOTOthe daemon receives a router advertisement with the OtherConfig flag
15086b032afSHajimu UMEMOTObeing set.
15186b032afSHajimu UMEMOTOA script file can be specified to deal with the case
15286b032afSHajimu UMEMOTO.Pq see below .
15386b032afSHajimu UMEMOTOWhen
15486b032afSHajimu UMEMOTO.Nm
15586b032afSHajimu UMEMOTOstart resending router solicitation messages by one of the conditions
15686b032afSHajimu UMEMOTOevents,
15786b032afSHajimu UMEMOTOthe daemon resets the parameter because the event may indicate a
15886b032afSHajimu UMEMOTOchange on the attached link.
1597d56d374SYoshinobu Inoue.Pp
1607d56d374SYoshinobu InoueUpon receipt of signal
1617d56d374SYoshinobu Inoue.Dv SIGUSR1 ,
1627d56d374SYoshinobu Inoue.Nm
1637d56d374SYoshinobu Inouewill dump the current internal state into
164259df286SKris Kennaway.Pa /var/run/rtsold.dump .
1657d56d374SYoshinobu Inoue.\"
1669a364ca3SHajimu UMEMOTO.Pp
1679a364ca3SHajimu UMEMOTOThe options are as follows:
1687d56d374SYoshinobu Inoue.Bl -tag -width indent
169804c83d4SKris Kennaway.It Fl a
170dd336899SMark JohnstonAutoprobe outgoing interfaces.
171804c83d4SKris Kennaway.Nm
172bfa812f5SFranco Fitchnerwill try to find any non-loopback, IPv6-capable interfaces
173dcc8e548SMark Johnstonand send router solicitation messages on all of them.
1747d56d374SYoshinobu Inoue.It Fl d
1757d56d374SYoshinobu InoueEnable debugging.
1767d56d374SYoshinobu Inoue.It Fl D
17733841545SHajimu UMEMOTOEnable more debugging including the printing of internal timer information.
1787d56d374SYoshinobu Inoue.It Fl f
1797d6f91e2SDima DorfmanPrevent
1807d56d374SYoshinobu Inoue.Nm
1817d56d374SYoshinobu Inouefrom becoming a daemon (foreground mode).
18233841545SHajimu UMEMOTOWarning messages are generated to standard error
1837d56d374SYoshinobu Inoueinstead of
1847d56d374SYoshinobu Inoue.Xr syslog 3 .
185fcdaee31SHajimu UMEMOTO.It Fl F
1867d6f91e2SDima DorfmanExplicitly configure the kernel to accept Router Advertisements and
1877d6f91e2SDima Dorfmandisable IPv6 forwarding.
1887d6f91e2SDima DorfmanThese settings are required for proper
189fcdaee31SHajimu UMEMOTO.Nm
1907d6f91e2SDima Dorfmanoperation.
1917d6f91e2SDima DorfmanWithout this option, the current settings will be obeyed;
1927d6f91e2SDima Dorfmanif they are incompatible with proper operation,
1937d6f91e2SDima Dorfmanwarning messages will be generated,
1947d6f91e2SDima Dorfmanbut Router Solicitations will still be sent.
1957d6f91e2SDima DorfmanThe settings may be changed manually with
196eb87e699SHiroki Sato.Xr sysctl 8
197eb87e699SHiroki Satoand
198eb87e699SHiroki Sato.Xr ifconfig 8 .
199231bac4cSColin Percival.It Fl i
200231bac4cSColin PercivalTransmit Router Solicitation packets immediately, without waiting the
201231bac4cSColin Percivalnormal random (between 0 and 1 second) delay.
202231bac4cSColin PercivalThis option should not be used on networks where it might result in
203231bac4cSColin Percivalcongestion due to many hosts simultaneously (re)connecting and
204231bac4cSColin Percivalsending such packets.
2057d56d374SYoshinobu Inoue.It Fl m
2067d56d374SYoshinobu InoueEnable mobility support.
2077d56d374SYoshinobu InoueIf this option is specified,
2087d56d374SYoshinobu Inoue.Nm
2097d56d374SYoshinobu Inouesends probing packets to default routers that have advertised Router
2107d56d374SYoshinobu InoueAdvertisements
2117d56d374SYoshinobu Inouewhen the node (re)attaches to an interface.
2127d56d374SYoshinobu InoueMoreover, if the option is specified,
2137d56d374SYoshinobu Inoue.Nm
2147d56d374SYoshinobu Inoueperiodically sends Router Solicitation on an interface that does not support
2157d56d374SYoshinobu Inoue.Dv SIOCGIFMEDIA
2167d56d374SYoshinobu Inoueioctl.
2177d56d374SYoshinobu Inoue.It Fl 1
2187d56d374SYoshinobu InouePerform only one probe.
21933841545SHajimu UMEMOTOTransmit Router Solicitation packets until at least one valid Router
22033841545SHajimu UMEMOTOAdvertisement packet has arrived on each
22133841545SHajimu UMEMOTO.Ar interface ,
22233841545SHajimu UMEMOTOthen exit.
22360e7f669SBjoern A. Zeeb.It Fl M Ar script-name
22460e7f669SBjoern A. ZeebSpecifies a supplement script file to handle the Managed Configuration
22560e7f669SBjoern A. Zeebflag of the router advertisement.
22660e7f669SBjoern A. ZeebWhen the flag changes from FALSE to TRUE,
22760e7f669SBjoern A. Zeeb.Nm
22860e7f669SBjoern A. Zeebwill invoke
22960e7f669SBjoern A. Zeeb.Ar script-name
23002508a3dSFranco Fitchnerwith a first argument of the receiving interface name
23102508a3dSFranco Fitchnerand a second argument of the sending router address,
23260e7f669SBjoern A. Zeebexpecting the script will then start a protocol for the managed
23360e7f669SBjoern A. Zeebconfiguration.
23460e7f669SBjoern A. Zeeb.Ar script-name
23560e7f669SBjoern A. Zeebmust be the absolute path from root to the script file, be a regular
23660e7f669SBjoern A. Zeebfile, and be created by the same owner who runs
23760e7f669SBjoern A. Zeeb.Nm .
23886b032afSHajimu UMEMOTO.It Fl O Ar script-name
23986b032afSHajimu UMEMOTOSpecifies a supplement script file to handle the Other Configuration
24086b032afSHajimu UMEMOTOflag of the router advertisement.
24186b032afSHajimu UMEMOTOWhen the flag changes from FALSE to TRUE,
24286b032afSHajimu UMEMOTO.Nm
24386b032afSHajimu UMEMOTOwill invoke
24486b032afSHajimu UMEMOTO.Ar script-name
24502508a3dSFranco Fitchnerwith a first argument of the receiving interface name
24602508a3dSFranco Fitchnerand a second argument of the sending router address,
24786b032afSHajimu UMEMOTOexpecting the script will then start a protocol for the other
24886b032afSHajimu UMEMOTOconfiguration.
24960e7f669SBjoern A. ZeebThe script will not be run if the Managed Configuration flag in the
25060e7f669SBjoern A. Zeebrouter advertisement is also TRUE.
25186b032afSHajimu UMEMOTO.Ar script-name
25286b032afSHajimu UMEMOTOmust be the absolute path from root to the script file, be a regular
25386b032afSHajimu UMEMOTOfile, and be created by the same owner who runs
25486b032afSHajimu UMEMOTO.Nm .
255*476babaeSKristof Provost.It Fl A Ar script-name
256*476babaeSKristof ProvostSpecifies a supplement script file to always be called for the router
257*476babaeSKristof Provostadvertisement.
258*476babaeSKristof Provost.Nm
259*476babaeSKristof Provostwill invoke
260*476babaeSKristof Provost.Ar script-name
261*476babaeSKristof Provostwith a first argument of the receiving interface name
262*476babaeSKristof Provostand a second argument of the sending router address.
263*476babaeSKristof Provost.Ar script-name
264*476babaeSKristof Provostmust be the absolute path from root to the script file, be a regular
265*476babaeSKristof Provostfile, and be created by the same owner who runs
266*476babaeSKristof Provost.Nm .
267489e04d0SHiroki Sato.It Fl p Ar pidfile
268db82af41SHiroki SatoWrites the process ID of
269db82af41SHiroki Sato.Nm
270db82af41SHiroki Satoto
271db82af41SHiroki Sato.Pa pidfile
272db82af41SHiroki Satoinstead of the default PID file
273db82af41SHiroki Sato.Pa /var/run/rtsold.pid .
274db82af41SHiroki Sato.It Fl R Ar script-name
2753df5ecacSUlrich SpörleinSpecifies a script to run when router advertisement options
276db82af41SHiroki Sato.Dv RDNSS Pq Recursive DNS Server
277db82af41SHiroki Satoor
278db82af41SHiroki Sato.Dv DNSSL Pq DNS Search List
279db82af41SHiroki Satoare encountered.
280db82af41SHiroki SatoThe information of DNS servers and DNS search domains will be sent to
281db82af41SHiroki Satostandard input of this script.
282db82af41SHiroki SatoThe
283db82af41SHiroki Sato.Xr resolvconf 8
284db82af41SHiroki Satoscript is used by default.
285489e04d0SHiroki Sato.It Fl u
286af193023SMark JohnstonSpecifies whether to add the source address of Router Advertisement
287af193023SMark Johnstonmessages to the interface name in the parameters of the RDNSS and DNSSL
288af193023SMark Johnstonscripts.
289489e04d0SHiroki Sato.Pp
290489e04d0SHiroki SatoIf
291489e04d0SHiroki Sato.Fl u
292af193023SMark Johnstonis specified, the interface name in the script parameters will be
293489e04d0SHiroki Sato.Ql ifname:slaac:[RA-source-address] .
294489e04d0SHiroki Sato.Pp
295af193023SMark JohnstonOtherwise it will be
296489e04d0SHiroki Sato.Ql ifname:slaac .
2977d56d374SYoshinobu Inoue.El
2987d56d374SYoshinobu Inoue.Sh FILES
2997d56d374SYoshinobu Inoue.Bl -tag -width /var/run/rtsold.dump -compact
3007d56d374SYoshinobu Inoue.It Pa /var/run/rtsold.pid
301dd336899SMark JohnstonThe PID of the currently running
302e97407b4SRuslan Ermilov.Nm .
303259df286SKris Kennaway.It Pa /var/run/rtsold.dump
304dd336899SMark JohnstonInternal state dump file.
3057d56d374SYoshinobu Inoue.El
3067d56d374SYoshinobu Inoue.\"
3070b31f1f7SUlrich Spörlein.Sh EXIT STATUS
3080b31f1f7SUlrich Spörlein.Ex -std
3090b31f1f7SUlrich Spörlein.\"
3107d56d374SYoshinobu Inoue.Sh SEE ALSO
311db82af41SHiroki Sato.Xr resolvconf 8 ,
3127d56d374SYoshinobu Inoue.Xr rtadvd 8 ,
3137d56d374SYoshinobu Inoue.Xr sysctl 8
3147d56d374SYoshinobu Inoue.\"
3157d56d374SYoshinobu Inoue.Sh HISTORY
3167d56d374SYoshinobu InoueThe
3177d56d374SYoshinobu Inoue.Nm
3189a364ca3SHajimu UMEMOTOcommand is based on the
3197d56d374SYoshinobu Inoue.Nm rtsol
3209a364ca3SHajimu UMEMOTOcommand, which first appeared in WIDE/KAME IPv6 protocol stack kit.
3217d56d374SYoshinobu Inoue.Nm rtsol
3229a364ca3SHajimu UMEMOTOis now integrated into
3239a364ca3SHajimu UMEMOTO.Xr rtsold 8 .
324259df286SKris Kennaway.\"
325259df286SKris Kennaway.Sh BUGS
326574763f1SWarner LoshWhen a network card is removed and reinserted, the corresponding interface index
327574763f1SWarner Loshmay change.
328259df286SKris KennawayHowever,
329259df286SKris Kennaway.Nm
33033841545SHajimu UMEMOTOassumes such changes will not occur, and always uses the index that
33107bfccd7SRuslan Ermilovit got at invocation.
33207bfccd7SRuslan ErmilovAs a result,
333259df286SKris Kennaway.Nm
334259df286SKris Kennawaymay not work if you reinsert a network card.
335259df286SKris KennawayIn such a case,
336259df286SKris Kennaway.Nm
337259df286SKris Kennawayshould be killed and restarted.
338804c83d4SKris Kennaway.Pp
33933841545SHajimu UMEMOTOThe IPv6 autoconfiguration specification assumes a single-interface host.
34033841545SHajimu UMEMOTOYou may see kernel error messages if you try to autoconfigure a host with
341804c83d4SKris Kennawaymultiple interfaces.
342804c83d4SKris KennawayAlso, it seems contradictory for
343804c83d4SKris Kennaway.Nm
344804c83d4SKris Kennawayto accept multiple
34533841545SHajimu UMEMOTO.Ar interface
34633841545SHajimu UMEMOTOarguments.
347