routed(1M) routed(1M)
NAME
routed - network routing daemon
SYNOPSIS
in.routed [-dgqst] [logfile]
DESCRIPTION
The command routed is invoked at boot time to manage the
network routing tables. The routed routing daemon uses a
variant of the Xerox NS Routing Information Protocol in
maintaining up-to-date kernel routing table entries.
In normal operation routed listens on UDP(7) socket 520
(decimal) for routing information packets. If the host is an
internetwork router, it periodically supplies copies of its
routing tables to any directly connected hosts and networks.
When routed is started, it uses the SIOCGIFCONF ioctl(2) to
find those directly connected interfaces configured into the
system and marked ``up'' (the software loopback interface is
ignored). If the kernel variable ipforwarding is non-zero, it
is assumed that the host will forward packets between
networks. In this case, routed will generate response
messages on all attached non-loopback interfaces. This
behavior can be overridden with the -s or -q flags (see
below). routed then transmits a request packet on each
interface (using a broadcast packet if the interface supports
it) and enters a loop, listening for request and response
packets from other hosts. Note that no request or response
packets are sent to ignored interfaces [see if.ignore(4)].
When a request packet is received, routed formulates a reply
based on the information maintained in its internal tables.
The response packet generated contains a list of known routes,
each marked with a ``hop count ''metric (a count of 16, or
greater, is considered ``infinite''). The metric associated
with each route returned provides a metric relative to the
sender.
Request packets received by routed are used to update the
routing tables if one of the following conditions is
satisfied:
(1) No routing table entry exists for the destination
network or host, and the metric indicates the
destination is ``reachable'' (that is, the hop count is
Copyright 1994 Novell, Inc. Page 1
routed(1M) routed(1M)
not infinite).
(2) The source host of the packet is the same as the router
in the existing routing table entry. That is, updated
information is being received from the very internetwork
router through which packets for the destination are
being routed.
(3) The existing entry in the routing table has not been
updated for some time (defined to be 90 seconds) and the
route is at least as cost effective as the current
route.
(4) The new route describes a shorter route to the
destination than the one currently stored in the routing
tables; the metric of the new route is compared against
the one stored in the table to decide this.
When an update is applied, routed records the change in its
internal tables and generates a response packet to all
directly connected hosts and networks. routed waits a short
period of time (no more than 30 seconds) before modifying the
kernel's routing tables to allow possible unstable situations
to settle.
In addition to processing incoming packets, routed also
periodically checks the routing table entries. If an entry
has not been updated for 3 minutes, the entry's metric is set
to infinity and marked for deletion. Deletions are delayed an
additional 60 seconds to ensure the invalidation is propagated
throughout the Internet.
Hosts acting as internetwork routers gratuitously supply their
routing tables every 30 seconds to all directly connected
hosts and networks.
Files
/etc/gateways for distant gateways
/etc/networks
/etc/hosts
/etc/inet/if.ignore
USAGE
Options
routed takes the following options:
Copyright 1994 Novell, Inc. Page 2
routed(1M) routed(1M)
-d Prevents routed from going into the background and
releasing itself from the controlling terminal, so that
interrupts from the keyboard will kill the process.
-g Is used on internetwork routers to offer a route to the
``default'' destination. Typically, this option is used
on a gateway to the Internet, or on a gateway that uses
another routing protocol whose routes are not reported
to other local routers.
-s Forces routed to supply routing information regardless
of whether it is acting as an internetwork router or
not.
-q The -q option is the opposite of the -s option.
-t Increments the tracing level. Successive levels are:
routed -t trace actions only
routed -t -t trace actions and packets
routed -t -t -t trace actions, history of
packets and contents after
change
routed -t -t -t -t trace actions, packets and
contents
The tracing level may also be incremented by sending a
SIGUSR1 signal to the routed process. SIGUSR2 sets the
tracing level to zero (off). All tracing is sent to
standard output unless routed has divorced itself from a
controlling terminal, or a logfile has been specified.
In addition, routed will not divorce itself from the
controlling terminal so that interrupts from the
keyboard will kill the process.
Any other argument supplied on the routed command line is
interpreted as the name of file in which routed's actions
should be logged. This log contains information about any
changes to the routing tables and a history of recent messages
sent and received which are related to the changed route.
gateways File
In addition to the facilities described above, routed supports
the notion of ``distant'' passive and active gateways. When
routed is started up, it reads the file gateways to find
gateways which may not be identified using the SIOGIFCONF
ioctl. Gateways specified in this manner should be marked
Copyright 1994 Novell, Inc. Page 3
routed(1M) routed(1M)
passive if they are not expected to exchange routing
information, while gateways marked active should be willing to
exchange routing information (that is, they should have a
routed process running on the machine). Passive gateways are
maintained in the routing tables forever and information
regarding their existence is included in any routing
information transmitted. Active gateways are treated equally
to network interfaces. Routing information is distributed to
the gateway and, if no routing information is received for a
period of the time, the associated route is deleted.
The gateways file is comprised of a series of lines, where
each line is of the following format:
net | host filename1 gateway filename2 metric value passive | active
where:
net
host are keywords that indicate if the route
is to a network or specific host.
filename1 specifies the name of the destination
network or host. This may be a symbolic
name located in networks or hosts, or an
Internet address specified in dot
notation; see inet(3N).
gateway is a keyword that indicates that messages
should be forwarded to a gateway.
filename2 specifies the name or address of the
gateway to which messages should be
forwarded.
metric is a keyword that indicates the hop count
to the destination host or network.
value specifies the hop count to the
destination host or network.
passive
Copyright 1994 Novell, Inc. Page 4
routed(1M) routed(1M)
active are keywords that indicate if the gateway
should be treated as passive or active
(as described above).
REFERENCES
ioctl(2), inet(3N), inet(7), UDP(7)
NOTICES
The kernel's routing tables may not correspond to those of
routed for short periods of time while processes utilizing
existing routes exit; the only remedy for this is to place the
routing process in the kernel.
routed should listen to intelligent interfaces, such as an
IMP, and to error protocols, such as ICMP, to gather more
information.
Copyright 1994 Novell, Inc. Page 5