rdisc — network router discovery daemon
Synopsis
rdisc [-abdfrstvV] [-p preference] [-T max_interval] [send_address] [receive_address]
Description
rdisc implements client side of the ICMP router discover protocol. rdisc is invoked at boot time to populate the network routing tables with default routes.
rdisc listens on the ALL_HOSTS (224.0.0.1) multicast address (or receive_address provided it is given) 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 (224.0.0.2) multicast address (or send_address provided it is given) when it is started.
A timer is associated with each router address and the address will no longer be considered for inclusion in the 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.
Server side of router discovery protocol is supported by Cisco IOS and by any more or less complete UNIX routing daemon, f.e gated. Or, rdisc can act as responder, if compiled with ENABLE_RDISC_SERVER.
Options
- -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.
- -b
Opposite to -a, i.e. install only router with the best preference value. It is default behaviour.
- -d
Send debugging messages to syslog.
- -f
Run rdisc forever even if no routers are found. Normally rdisc gives up if it has not received any advertise message after 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.
- -r
Responder mode, available only if compiled with ENABLE_RDISC_SERVER.
- -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 -f option.
- -p preference
Set preference in advertisement. Available only with -r option.
- -T max_interval
Set maximum advertisement interval in seconds. Default is 600 secs. Available only with -r option.
- -t
Test mode. Do not go to background.
- -v
Be verbose i.e. send lots of debugging messages to syslog.
- -V
Print version and exit.
History
This program was developed by Sun Microsystems (see copyright notice in source file). It was ported to Linux by Alexey Kuznetsov<kuznet@ms2.inr.ac.ru>.
See Also
References
Deering, S.E.,ed "ICMP Router Discovery Messages", RFC1256, Network Information Center, SRI International, Menlo Park, Calif., September 1991.
Security
rdisc requires CAP_NET_RAW to listen and send ICMP messages and capability CAP_NET_ADMIN to update routing tables.
Availability
rdisc is part of iputils package.