xref: /aosp_15_r20/external/iputils/doc/rdisc.sgml (revision bd1f8aeb6080fa6544ec30aeca3eb4da100f359f)
1*bd1f8aebSAndroid Build Coastguard Worker<refentry id="rdisc">
2*bd1f8aebSAndroid Build Coastguard Worker
3*bd1f8aebSAndroid Build Coastguard Worker<refmeta>
4*bd1f8aebSAndroid Build Coastguard Worker<refentrytitle>rdisc</refentrytitle>
5*bd1f8aebSAndroid Build Coastguard Worker<manvolnum>8</manvolnum>
6*bd1f8aebSAndroid Build Coastguard Worker<refmiscinfo>iputils-&snapshot;</refmiscinfo>
7*bd1f8aebSAndroid Build Coastguard Worker</refmeta>
8*bd1f8aebSAndroid Build Coastguard Worker
9*bd1f8aebSAndroid Build Coastguard Worker<refnamediv>
10*bd1f8aebSAndroid Build Coastguard Worker<refname>rdisc</refname>
11*bd1f8aebSAndroid Build Coastguard Worker<refpurpose>network router discovery daemon</refpurpose>
12*bd1f8aebSAndroid Build Coastguard Worker</refnamediv>
13*bd1f8aebSAndroid Build Coastguard Worker
14*bd1f8aebSAndroid Build Coastguard Worker<refsynopsisdiv>
15*bd1f8aebSAndroid Build Coastguard Worker<cmdsynopsis>
16*bd1f8aebSAndroid Build Coastguard Worker<command>rdisc</command>
17*bd1f8aebSAndroid Build Coastguard Worker<arg choice="opt"><option>-abdfrstvV</option></arg>
18*bd1f8aebSAndroid Build Coastguard Worker<arg choice="opt">-p <replaceable/preference/</arg>
19*bd1f8aebSAndroid Build Coastguard Worker<arg choice="opt">-T <replaceable/max_interval/</arg>
20*bd1f8aebSAndroid Build Coastguard Worker<arg choice="opt"><replaceable/send_address/</arg>
21*bd1f8aebSAndroid Build Coastguard Worker<arg choice="opt"><replaceable/receive_address/</arg>
22*bd1f8aebSAndroid Build Coastguard Worker</cmdsynopsis>
23*bd1f8aebSAndroid Build Coastguard Worker</refsynopsisdiv>
24*bd1f8aebSAndroid Build Coastguard Worker
25*bd1f8aebSAndroid Build Coastguard Worker<refsect1><title>DESCRIPTION</title>
26*bd1f8aebSAndroid Build Coastguard Worker<para>
27*bd1f8aebSAndroid Build Coastguard Worker<command/rdisc/ implements client side of the ICMP router discover protocol.
28*bd1f8aebSAndroid Build Coastguard Worker<command/rdisc/ is invoked at boot time to populate the network
29*bd1f8aebSAndroid Build Coastguard Workerrouting tables with default routes.
30*bd1f8aebSAndroid Build Coastguard Worker</para>
31*bd1f8aebSAndroid Build Coastguard Worker
32*bd1f8aebSAndroid Build Coastguard Worker<para>
33*bd1f8aebSAndroid Build Coastguard Worker<command/rdisc/ listens on the ALL_HOSTS (224.0.0.1) multicast address
34*bd1f8aebSAndroid Build Coastguard Worker(or <replaceable/receive_address/ provided it is given)
35*bd1f8aebSAndroid Build Coastguard Workerfor ROUTER_ADVERTISE messages from routers. The received
36*bd1f8aebSAndroid Build Coastguard Workermessages are handled by first ignoring those listed router addresses
37*bd1f8aebSAndroid Build Coastguard Workerwith which the host does not share a network. Among the remaining addresses
38*bd1f8aebSAndroid Build Coastguard Workerthe ones with the highest preference are selected as default routers
39*bd1f8aebSAndroid Build Coastguard Workerand a default route is entered in the kernel routing table
40*bd1f8aebSAndroid Build Coastguard Workerfor each one of them.
41*bd1f8aebSAndroid Build Coastguard Worker</para>
42*bd1f8aebSAndroid Build Coastguard Worker
43*bd1f8aebSAndroid Build Coastguard Worker<para>
44*bd1f8aebSAndroid Build Coastguard WorkerOptionally, <command/rdisc/ can avoid waiting for routers to announce
45*bd1f8aebSAndroid Build Coastguard Workerthemselves by sending out a few ROUTER_SOLICITATION messages
46*bd1f8aebSAndroid Build Coastguard Workerto the ALL_ROUTERS (224.0.0.2) multicast address
47*bd1f8aebSAndroid Build Coastguard Worker(or <replaceable/send_address/ provided it is given)
48*bd1f8aebSAndroid Build Coastguard Workerwhen it is started.
49*bd1f8aebSAndroid Build Coastguard Worker</para>
50*bd1f8aebSAndroid Build Coastguard Worker
51*bd1f8aebSAndroid Build Coastguard Worker<para>
52*bd1f8aebSAndroid Build Coastguard WorkerA timer is associated with each router address and the address will
53*bd1f8aebSAndroid Build Coastguard Workerno longer be considered for inclusion in the the routing tables if the
54*bd1f8aebSAndroid Build Coastguard Workertimer expires before a new
55*bd1f8aebSAndroid Build Coastguard Worker<emphasis/advertise/ message is received from the router.
56*bd1f8aebSAndroid Build Coastguard WorkerThe address will also be excluded from consideration if the host receives an
57*bd1f8aebSAndroid Build Coastguard Worker<emphasis/advertise/
58*bd1f8aebSAndroid Build Coastguard Workermessage with the preference being maximally negative.
59*bd1f8aebSAndroid Build Coastguard Worker</para>
60*bd1f8aebSAndroid Build Coastguard Worker
61*bd1f8aebSAndroid Build Coastguard Worker<para>
62*bd1f8aebSAndroid Build Coastguard WorkerServer side of router discovery protocol is supported by Cisco IOS
63*bd1f8aebSAndroid Build Coastguard Workerand by any more or less complete UNIX routing daemon, f.e <command/gated/.
64*bd1f8aebSAndroid Build Coastguard WorkerOr, <command/rdisc/ can act as responder, if compiled with -DRDISC_SERVER.
65*bd1f8aebSAndroid Build Coastguard Worker</para>
66*bd1f8aebSAndroid Build Coastguard Worker
67*bd1f8aebSAndroid Build Coastguard Worker</refsect1>
68*bd1f8aebSAndroid Build Coastguard Worker
69*bd1f8aebSAndroid Build Coastguard Worker<refsect1><title>OPTIONS</title>
70*bd1f8aebSAndroid Build Coastguard Worker
71*bd1f8aebSAndroid Build Coastguard Worker<variablelist>
72*bd1f8aebSAndroid Build Coastguard Worker <varlistentry>
73*bd1f8aebSAndroid Build Coastguard Worker  <term><option/-a/</term>
74*bd1f8aebSAndroid Build Coastguard Worker  <listitem><para>
75*bd1f8aebSAndroid Build Coastguard WorkerAccept all routers independently of the preference they have in their
76*bd1f8aebSAndroid Build Coastguard Worker<emphasis/advertise/ messages.
77*bd1f8aebSAndroid Build Coastguard WorkerNormally <command/rdisc/ only accepts (and enters in the kernel routing
78*bd1f8aebSAndroid Build Coastguard Workertables) the router or routers with the highest preference.
79*bd1f8aebSAndroid Build Coastguard Worker  </para></listitem>
80*bd1f8aebSAndroid Build Coastguard Worker </varlistentry>
81*bd1f8aebSAndroid Build Coastguard Worker <varlistentry>
82*bd1f8aebSAndroid Build Coastguard Worker  <term><option/-b/</term>
83*bd1f8aebSAndroid Build Coastguard Worker  <listitem><para>
84*bd1f8aebSAndroid Build Coastguard WorkerOpposite to <option/-a/, i.e. install only router with the best
85*bd1f8aebSAndroid Build Coastguard Workerpreference value. It is default behaviour.
86*bd1f8aebSAndroid Build Coastguard Worker  </para></listitem>
87*bd1f8aebSAndroid Build Coastguard Worker </varlistentry>
88*bd1f8aebSAndroid Build Coastguard Worker <varlistentry>
89*bd1f8aebSAndroid Build Coastguard Worker  <term><option/-d/</term>
90*bd1f8aebSAndroid Build Coastguard Worker  <listitem><para>
91*bd1f8aebSAndroid Build Coastguard WorkerSend debugging messages to syslog.
92*bd1f8aebSAndroid Build Coastguard Worker  </para></listitem>
93*bd1f8aebSAndroid Build Coastguard Worker </varlistentry>
94*bd1f8aebSAndroid Build Coastguard Worker <varlistentry>
95*bd1f8aebSAndroid Build Coastguard Worker  <term><option/-f/</term>
96*bd1f8aebSAndroid Build Coastguard Worker  <listitem><para>
97*bd1f8aebSAndroid Build Coastguard WorkerRun <command/rdisc/ forever even if no routers are found.
98*bd1f8aebSAndroid Build Coastguard WorkerNormally <command/rdisc/ gives up if it has not received any
99*bd1f8aebSAndroid Build Coastguard Worker<emphasis/advertise/ message after after soliciting three times,
100*bd1f8aebSAndroid Build Coastguard Workerin which case it exits with a non-zero exit code.
101*bd1f8aebSAndroid Build Coastguard WorkerIf <option/-f/ is not specified in the first form then
102*bd1f8aebSAndroid Build Coastguard Worker<option/-s/ must be specified.
103*bd1f8aebSAndroid Build Coastguard Worker  </para></listitem>
104*bd1f8aebSAndroid Build Coastguard Worker </varlistentry>
105*bd1f8aebSAndroid Build Coastguard Worker
106*bd1f8aebSAndroid Build Coastguard Worker <varlistentry>
107*bd1f8aebSAndroid Build Coastguard Worker  <term><option/-r/</term>
108*bd1f8aebSAndroid Build Coastguard Worker  <listitem><para>
109*bd1f8aebSAndroid Build Coastguard WorkerResponder mode, available only if compiled with -DRDISC_SERVER.
110*bd1f8aebSAndroid Build Coastguard Worker  </para></listitem>
111*bd1f8aebSAndroid Build Coastguard Worker </varlistentry>
112*bd1f8aebSAndroid Build Coastguard Worker
113*bd1f8aebSAndroid Build Coastguard Worker <varlistentry>
114*bd1f8aebSAndroid Build Coastguard Worker  <term><option/-s/</term>
115*bd1f8aebSAndroid Build Coastguard Worker  <listitem><para>
116*bd1f8aebSAndroid Build Coastguard WorkerSend three <emphasis/solicitation/ messages initially to quickly discover
117*bd1f8aebSAndroid Build Coastguard Workerthe routers when the system is booted.
118*bd1f8aebSAndroid Build Coastguard WorkerWhen <option/-s/ is specified <command/rdisc/
119*bd1f8aebSAndroid Build Coastguard Workerexits with a non-zero exit code if it can not find any routers.
120*bd1f8aebSAndroid Build Coastguard WorkerThis can be overridden with the <option/-f/ option.
121*bd1f8aebSAndroid Build Coastguard Worker  </para></listitem>
122*bd1f8aebSAndroid Build Coastguard Worker </varlistentry>
123*bd1f8aebSAndroid Build Coastguard Worker
124*bd1f8aebSAndroid Build Coastguard Worker <varlistentry>
125*bd1f8aebSAndroid Build Coastguard Worker  <term><option>-p <replaceable/preference/</option></term>
126*bd1f8aebSAndroid Build Coastguard Worker  <listitem><para>
127*bd1f8aebSAndroid Build Coastguard WorkerSet preference in advertisement.
128*bd1f8aebSAndroid Build Coastguard WorkerAvailable only with -r option.
129*bd1f8aebSAndroid Build Coastguard Worker  </para></listitem>
130*bd1f8aebSAndroid Build Coastguard Worker </varlistentry>
131*bd1f8aebSAndroid Build Coastguard Worker
132*bd1f8aebSAndroid Build Coastguard Worker <varlistentry>
133*bd1f8aebSAndroid Build Coastguard Worker  <term><option>-T <replaceable/max_interval/</option></term>
134*bd1f8aebSAndroid Build Coastguard Worker  <listitem><para>
135*bd1f8aebSAndroid Build Coastguard WorkerSet maximum advertisement interval in seconds.  Default is 600 secs.
136*bd1f8aebSAndroid Build Coastguard WorkerAvailable only with -r option.
137*bd1f8aebSAndroid Build Coastguard Worker  </para></listitem>
138*bd1f8aebSAndroid Build Coastguard Worker </varlistentry>
139*bd1f8aebSAndroid Build Coastguard Worker
140*bd1f8aebSAndroid Build Coastguard Worker <varlistentry>
141*bd1f8aebSAndroid Build Coastguard Worker  <term><option/-t/</term>
142*bd1f8aebSAndroid Build Coastguard Worker  <listitem><para>
143*bd1f8aebSAndroid Build Coastguard WorkerTest mode. Do not go to background.
144*bd1f8aebSAndroid Build Coastguard Worker  </para></listitem>
145*bd1f8aebSAndroid Build Coastguard Worker </varlistentry>
146*bd1f8aebSAndroid Build Coastguard Worker
147*bd1f8aebSAndroid Build Coastguard Worker <varlistentry>
148*bd1f8aebSAndroid Build Coastguard Worker  <term><option/-v/</term>
149*bd1f8aebSAndroid Build Coastguard Worker  <listitem><para>
150*bd1f8aebSAndroid Build Coastguard WorkerBe verbose i.e. send lots of debugging messages to syslog.
151*bd1f8aebSAndroid Build Coastguard Worker  </para></listitem>
152*bd1f8aebSAndroid Build Coastguard Worker </varlistentry>
153*bd1f8aebSAndroid Build Coastguard Worker
154*bd1f8aebSAndroid Build Coastguard Worker <varlistentry>
155*bd1f8aebSAndroid Build Coastguard Worker  <term><option/-V/</term>
156*bd1f8aebSAndroid Build Coastguard Worker  <listitem><para>
157*bd1f8aebSAndroid Build Coastguard WorkerPrint version and exit.
158*bd1f8aebSAndroid Build Coastguard Worker  </para></listitem>
159*bd1f8aebSAndroid Build Coastguard Worker </varlistentry>
160*bd1f8aebSAndroid Build Coastguard Worker</variablelist>
161*bd1f8aebSAndroid Build Coastguard Worker</refsect1>
162*bd1f8aebSAndroid Build Coastguard Worker
163*bd1f8aebSAndroid Build Coastguard Worker<refsect1><title>HISTORY</title>
164*bd1f8aebSAndroid Build Coastguard Worker<para>
165*bd1f8aebSAndroid Build Coastguard WorkerThis program was developed by Sun Microsystems (see copyright
166*bd1f8aebSAndroid Build Coastguard Workernotice in source file). It was ported to Linux by
167*bd1f8aebSAndroid Build Coastguard Worker<ulink url="mailto:[email protected]">Alexey Kuznetsov
168*bd1f8aebSAndroid Build Coastguard Worker&lt;[email protected]&gt;</ulink>.
169*bd1f8aebSAndroid Build Coastguard WorkerIt is now maintained by
170*bd1f8aebSAndroid Build Coastguard Worker<ulink url="mailto:[email protected]">YOSHIFUJI Hideaki
171*bd1f8aebSAndroid Build Coastguard Worker&lt;[email protected]&gt;</ulink>.
172*bd1f8aebSAndroid Build Coastguard Worker</para>
173*bd1f8aebSAndroid Build Coastguard Worker</refsect1>
174*bd1f8aebSAndroid Build Coastguard Worker
175*bd1f8aebSAndroid Build Coastguard Worker
176*bd1f8aebSAndroid Build Coastguard Worker<refsect1><title>SEE ALSO</title>
177*bd1f8aebSAndroid Build Coastguard Worker<para>
178*bd1f8aebSAndroid Build Coastguard Worker<citerefentry><refentrytitle/icmp/<manvolnum/7/</citerefentry>,
179*bd1f8aebSAndroid Build Coastguard Worker<citerefentry><refentrytitle/inet/<manvolnum/7/</citerefentry>,
180*bd1f8aebSAndroid Build Coastguard Worker<link linkend="ping">
181*bd1f8aebSAndroid Build Coastguard Worker<citerefentry><refentrytitle/ping/<manvolnum/8/</citerefentry></link>.
182*bd1f8aebSAndroid Build Coastguard Worker</para>
183*bd1f8aebSAndroid Build Coastguard Worker</refsect1>
184*bd1f8aebSAndroid Build Coastguard Worker
185*bd1f8aebSAndroid Build Coastguard Worker<refsect1><title>REFERENCES</title>
186*bd1f8aebSAndroid Build Coastguard Worker<para>
187*bd1f8aebSAndroid Build Coastguard WorkerDeering, S.E.,ed "ICMP Router Discovery Messages",
188*bd1f8aebSAndroid Build Coastguard Worker<ulink url="http://tools.ietf.org/rfc/rfc1256.txt">
189*bd1f8aebSAndroid Build Coastguard WorkerRFC1256</ulink>, Network Information Center, SRI International,
190*bd1f8aebSAndroid Build Coastguard WorkerMenlo Park, Calif., September 1991.
191*bd1f8aebSAndroid Build Coastguard Worker</para>
192*bd1f8aebSAndroid Build Coastguard Worker</refsect1>
193*bd1f8aebSAndroid Build Coastguard Worker
194*bd1f8aebSAndroid Build Coastguard Worker<refsect1><title>SECURITY</title>
195*bd1f8aebSAndroid Build Coastguard Worker<para>
196*bd1f8aebSAndroid Build Coastguard Worker<command/rdisc/ requires <constant/CAP_NET_RAW/ to listen
197*bd1f8aebSAndroid Build Coastguard Workerand send ICMP messages and capability <constant/CAP_NET_ADMIN/
198*bd1f8aebSAndroid Build Coastguard Workerto update routing tables.
199*bd1f8aebSAndroid Build Coastguard Worker</para>
200*bd1f8aebSAndroid Build Coastguard Worker</refsect1>
201*bd1f8aebSAndroid Build Coastguard Worker
202*bd1f8aebSAndroid Build Coastguard Worker<refsect1><title>AVAILABILITY</title>
203*bd1f8aebSAndroid Build Coastguard Worker<para>
204*bd1f8aebSAndroid Build Coastguard Worker<command/rdisc/ is part of <filename/iputils/ package
205*bd1f8aebSAndroid Build Coastguard Workerand the latest versions are  available in source form at
206*bd1f8aebSAndroid Build Coastguard Worker<ulink url="http://www.skbuff.net/iputils/iputils-current.tar.bz2">
207*bd1f8aebSAndroid Build Coastguard Workerhttp://www.skbuff.net/iputils/iputils-current.tar.bz2</ulink>.
208*bd1f8aebSAndroid Build Coastguard Worker</para>
209*bd1f8aebSAndroid Build Coastguard Worker</refsect1>
210*bd1f8aebSAndroid Build Coastguard Worker
211*bd1f8aebSAndroid Build Coastguard Worker<![IGNORE[
212*bd1f8aebSAndroid Build Coastguard Worker<refsect1><title>COPYING</title>
213*bd1f8aebSAndroid Build Coastguard Worker<para>
214*bd1f8aebSAndroid Build Coastguard Worker<literallayout>
215*bd1f8aebSAndroid Build Coastguard WorkerRdisc (this program) was developed by Sun Microsystems, Inc. and is
216*bd1f8aebSAndroid Build Coastguard Workerprovided for unrestricted use provided that this legend is included on
217*bd1f8aebSAndroid Build Coastguard Workerall tape media and as a part of the software program in whole or part.
218*bd1f8aebSAndroid Build Coastguard WorkerUsers may copy or modify Rdisc without charge, and they may freely
219*bd1f8aebSAndroid Build Coastguard Workerdistribute it.
220*bd1f8aebSAndroid Build Coastguard Worker
221*bd1f8aebSAndroid Build Coastguard WorkerRDISC IS PROVIDED AS IS WITH NO WARRANTIES OF ANY KIND INCLUDING THE
222*bd1f8aebSAndroid Build Coastguard WorkerWARRANTIES OF DESIGN, MERCHANTIBILITY AND FITNESS FOR A PARTICULAR
223*bd1f8aebSAndroid Build Coastguard WorkerPURPOSE, OR ARISING FROM A COURSE OF DEALING, USAGE OR TRADE PRACTICE.
224*bd1f8aebSAndroid Build Coastguard Worker
225*bd1f8aebSAndroid Build Coastguard WorkerRdisc is provided with no support and without any obligation on the
226*bd1f8aebSAndroid Build Coastguard Workerpart of Sun Microsystems, Inc. to assist in its use, correction,
227*bd1f8aebSAndroid Build Coastguard Workermodification or enhancement.
228*bd1f8aebSAndroid Build Coastguard Worker
229*bd1f8aebSAndroid Build Coastguard WorkerSUN MICROSYSTEMS, INC. SHALL HAVE NO LIABILITY WITH RESPECT TO THE
230*bd1f8aebSAndroid Build Coastguard WorkerINFRINGEMENT OF COPYRIGHTS, TRADE SECRETS OR ANY PATENTS BY RDISC
231*bd1f8aebSAndroid Build Coastguard WorkerOR ANY PART THEREOF.
232*bd1f8aebSAndroid Build Coastguard Worker
233*bd1f8aebSAndroid Build Coastguard WorkerIn no event will Sun Microsystems, Inc. be liable for any lost revenue
234*bd1f8aebSAndroid Build Coastguard Workeror profits or other special, indirect and consequential damages, even if
235*bd1f8aebSAndroid Build Coastguard WorkerSun has been advised of the possibility of such damages.
236*bd1f8aebSAndroid Build Coastguard Worker
237*bd1f8aebSAndroid Build Coastguard WorkerSun Microsystems, Inc.
238*bd1f8aebSAndroid Build Coastguard Worker2550 Garcia Avenue
239*bd1f8aebSAndroid Build Coastguard WorkerMountain View, California  94043
240*bd1f8aebSAndroid Build Coastguard Worker</literallayout>
241*bd1f8aebSAndroid Build Coastguard Worker</para>
242*bd1f8aebSAndroid Build Coastguard Worker</refsect1>
243*bd1f8aebSAndroid Build Coastguard Worker]]>
244*bd1f8aebSAndroid Build Coastguard Worker
245*bd1f8aebSAndroid Build Coastguard Worker
246*bd1f8aebSAndroid Build Coastguard Worker</refentry>
247