<refentry xmlns:db="http://docbook.org/ns/docbook" version="5.0"
xml:id="man.rdisc">
<refentryinfo>
<title>rdisc</title>
<productname>iputils</productname>
</refentryinfo>
<refmeta>
<refentrytitle>
<application>rdisc</application>
</refentrytitle>
<manvolnum>8</manvolnum>
<refmiscinfo class='manual'>iputils</refmiscinfo>
</refmeta>
<refnamediv>
<refname>rdisc</refname>
<refpurpose>network router discovery daemon</refpurpose>
</refnamediv>
<refsynopsisdiv>
<cmdsynopsis>
<command>rdisc</command>
<arg choice="opt" rep="norepeat">
<option>-abdfrstvV</option>
</arg>
<arg choice="opt" rep="norepeat">
<option>-p
<replaceable>preference</replaceable></option>
</arg>
<arg choice="opt" rep="norepeat">
<option>-T
<replaceable>max_interval</replaceable></option>
</arg>
<arg choice="opt" rep="norepeat">send_address</arg>
<arg choice="opt" rep="norepeat">receive_address</arg>
</cmdsynopsis>
</refsynopsisdiv>
<refsection xml:id="description">
<info>
<title>DESCRIPTION</title>
</info>
<para>
<command>rdisc</command> implements client side of the ICMP
Internet Router Discovery Protocol (IRDP).
<command>rdisc</command> is invoked at boot time to populate the
network routing tables with default routes.</para>
<para>
<command>rdisc</command> listens on the ALL_HOSTS (224.0.0.1)
multicast address (or
<emphasis remap="I">receive_address</emphasis> if it is provided)
for ROUTER_ADVERTISE messages from routers. The received
messages are handled by first ignoring those listed router
addresses with which the host does not share a network. Among
the remaining addresses the ones with the highest preference
are selected as default routers and a default route is entered
in the kernel routing table for each one of them.</para>
<para>Optionally,
<command>rdisc</command> can avoid waiting for routers to
announce themselves by sending out a few ROUTER_SOLICITATION
messages to the ALL_ROUTERS (224.0.0.2) multicast address (or
<emphasis remap="I">send_address</emphasis> if it is provided)
when it is started.</para>
<para>A timer is associated with each router address and the
address will no longer be considered for inclusion in the
routing tables if the timer expires before a new
<emphasis remap="B">advertise</emphasis> message is received
from the router. The address will also be excluded from
consideration if the received
<emphasis remap="B">advertise</emphasis> message has a
preference of maximum negative.</para>
<para>Server side of router discovery protocol is supported by
Cisco IOS and by any more or less complete UNIX routing daemon,
for example
<emphasis remap="B">gated</emphasis>. If compiled with
ENABLE_RDISC_SERVER, <command>rdisc</command> can act as
responder.</para>
</refsection>
<refsection xml:id="options">
<info>
<title>OPTIONS</title>
</info>
<variablelist remap="TP">
<varlistentry>
<term>
<option>-a</option>
</term>
<listitem>
<para>Accept all routers independently of the preference
they have in their
<emphasis remap="B">advertise</emphasis> messages.
Normally
<command>rdisc</command> only accepts (and enters in the
kernel routing tables) the router or routers with the
highest preference.</para>
</listitem>
</varlistentry>
<varlistentry>
<term>
<option>-b</option>
</term>
<listitem>
<para>Opposite to
<option>-a</option>, i.e. install only router with the
best preference value. This is the default behaviour.</para>
</listitem>
</varlistentry>
<varlistentry>
<term>
<option>-d</option>
</term>
<listitem>
<para>Send debugging messages to syslog.</para>
</listitem>
</varlistentry>
<varlistentry>
<term>
<option>-f</option>
</term>
<listitem>
<para>Keep
<command>rdisc</command> running in the background even
if no routers are found. Normally
<command>rdisc</command> gives up if it has not received
any
<emphasis remap="B">advertise</emphasis> message after
soliciting three times. In this case it exits with
a non-zero exit code. If
<option>-f</option> is not specified in the first form
then
<option>-s</option> must be specified.</para>
</listitem>
</varlistentry>
<varlistentry>
<term>
<option>-r</option>
</term>
<listitem>
<para>Responder mode, available only if compiled with
ENABLE_RDISC_SERVER.</para>
</listitem>
</varlistentry>
<varlistentry>
<term>
<option>-s</option>
</term>
<listitem>
<para>Send three
<emphasis remap="B">solicitation</emphasis> messages
initially to quickly discover the routers when the system
is booted. When
<option>-s</option> is specified
<command>rdisc</command> exits with a non-zero exit code
if it can not find any routers. This can be overridden
with the
<option>-f</option> option.</para>
</listitem>
</varlistentry>
<varlistentry>
<term>
<option>-p</option>
<emphasis remap="I">preference</emphasis>
</term>
<listitem>
<para>Set preference in advertisement messages. Available only
with -r option.</para>
</listitem>
</varlistentry>
<varlistentry>
<term>
<option>-T</option>
<emphasis remap="I">max_interval</emphasis>
</term>
<listitem>
<para>Set maximum advertisement interval in seconds.
Default is 600. Available only with -r
option.</para>
</listitem>
</varlistentry>
<varlistentry>
<term>
<option>-t</option>
</term>
<listitem>
<para>Test mode. Do not go to background.</para>
</listitem>
</varlistentry>
<varlistentry>
<term>
<option>-v</option>
</term>
<listitem>
<para>Be verbose and send lots of debugging messages to
syslog.</para>
</listitem>
</varlistentry>
<varlistentry>
<term>
<option>-V</option>
</term>
<listitem>
<para>Print version and exit.</para>
</listitem>
</varlistentry>
</variablelist>
</refsection>
<refsection xml:id="history">
<info>
<title>HISTORY</title>
</info>
<para>This program was developed by Sun Microsystems (see
copyright notice in source file). It was ported to Linux by
Alexey Kuznetsov <email>kuznet@ms2.inr.ac.ru</email>.</para>
</refsection>
<refsection xml:id="see_also">
<info>
<title>SEE ALSO</title>
</info>
<para>
<citerefentry>
<refentrytitle>icmp</refentrytitle>
<manvolnum>7</manvolnum>
</citerefentry>,
<citerefentry>
<refentrytitle>inet</refentrytitle>
<manvolnum>7</manvolnum>
</citerefentry>,
<citerefentry>
<refentrytitle>ping</refentrytitle>
<manvolnum>8</manvolnum>
</citerefentry>.</para>
</refsection>
<refsection xml:id="references">
<info>
<title>REFERENCES</title>
</info>
<para>RFC1256 ICMP Router Discovery Messages. S. Deering, Ed..
September 1991.</para>
</refsection>
<refsection xml:id="security">
<info>
<title>SECURITY</title>
</info>
<para>
<command>rdisc</command> requires CAP_NET_RAW to listen and send
ICMP messages and capability CAP_NET_ADMIN to update routing
tables.</para>
</refsection>
<refsection xml:id="availability">
<info>
<title>AVAILABILITY</title>
</info>
<para>
<command>rdisc</command> is part of
<emphasis remap="I">iputils</emphasis> package.</para>
</refsection>
</refentry>