rdisc - Internet router discovery daemon
/usr/etc/rdisc [ -sfa ]
/usr/etc/rdisc -r [ -p preference ] [ -T interval ]
rdisc implements the ICMP router discover protocol. The first form of
the command is used on hosts and the second form is used on routers. On
a host rdisc is invoked at boot time to populate the network routing
tables with default routes. On a router it is also invoked at boot time
in order to start advertising the router to all the hosts.
Host (First Form)
On a host rdisc listens on the ALL_HOSTS (220.127.116.11) multicast address
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.
Optionally, rdisc can avoid waiting for routers to announce themselves by
sending out a few ROUTER_SOLICITATION messages to the ALL_ROUTERS
(18.104.22.168) multicast address when it is started.
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 advertise message is received from the router. The
address will also be excluded from consideration if the host receives an
advertise message with the preference being maximally negative.
Router (Second Form) [Toc] [Back]
When rdisc is started on a router, it uses the SIOCGIFCONF ioctl(2) to
find the interfaces configured into the system and it starts listening on
the ALL_ROUTERS multicast address on all the interfaces that support
multicast. It sends out advertise messages to the ALL_HOSTS multicast
address advertising all its addresses. A few initial advertise messages
are sent out during the first 30 seconds and after that it will transmit
advertise messages approximately every 600 seconds.
When rdisc receives a solicitation message it sends an advertise message
to the host that sent the solicitation message.
When rdisc is terminated by a signal it sends out an advertise message
with the preference being maximally negative.
-a Accept all routers independently of the preference they
have in their advertise messages. Normally rdisc only
accepts (and enters in the kernel routing tables) the
router or routers with the highest preference.
-f Run rdisc forever even if no routers are found. Normally
rdisc gives up if it has not received any advertise
message after soliciting three times, in which case it
exits with a non-zero exit code. If -f is not specified
in the first form then -s must be specified.
-p preference Set the preference transmitted in the solicitation
messages. The default is zero.
-r Act as a router as opposed to a host.
-s Send three solicitation messages initially to quickly
discover the routers when the system is booted. When -s
is specified rdisc exits with a non-zero exit code if it
can not find any routers. This can be overridden with the
-T interval Set the interval between transmitting the advertise
messages. The default time is 600 seconds.
routed(1M) ioctl(2), icmp(7), inet(7)
Deering, S.E.,ed ``ICMP Router Discovery Messages,'' RFC 1256, Network
Information Center, SRI International, Menlo Park, Calif., September
PPPPaaaaggggeeee 2222 [ Back ]