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<[email protected]></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<[email protected]></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