XNSROUTED(8) BSD System Manager's Manual XNSROUTED(8) NNAAMMEE XXNNSSrroouutteedd - NS Routing Information Protocol daemon SSYYNNOOPPSSIISS XXNNSSrroouutteedd [--qq] [--ss] [--tt] [_l_o_g_f_i_l_e] DDEESSCCRRIIPPTTIIOONN XXNNSSrroouutteedd is invoked at boot time to manage the Xerox NS routing tables. The NS routing daemon uses the Xerox NS Routing Information Protocol in maintaining up to date kernel routing table entries. Available options: --qq Do not supply routing information (opposite of --ss option below). --ss Forces XXNNSSrroouutteedd to supply routing information whether it is acting as an internetwork router or not. --tt All packets sent or received are printed on the standard output. In addition, XXNNSSrroouutteedd will not divorce itself from the control- ling terminal so that interrupts from the keyboard will kill the process. _l_o_g_f_i_l_e Name of file in which XXNNSSrroouutteedd'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. In normal operation XXNNSSrroouutteedd listens for routing information packets. If the host is connected to multiple NS networks, it periodically sup- plies copies of its routing tables to any directly connected hosts and networks. When XXNNSSrroouutteedd 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 multiple inter- faces are present, it is assumed the host will forward packets between networks. XXNNSSrroouutteedd then transmits a _r_e_q_u_e_s_t packet on each interface (using a broadcast packet if the interface supports it) and enters a loop, listening for _r_e_q_u_e_s_t and _r_e_s_p_o_n_s_e packets from other hosts. When a _r_e_q_u_e_s_t packet is received, XXNNSSrroouutteedd formulates a reply based on the information maintained in its internal tables. The _r_e_s_p_o_n_s_e 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 _r_e_l_a_t_i_v_e _t_o _t_h_e _s_e_n_d_e_r. _R_e_s_p_o_n_s_e packets received by XXNNSSrroouutteedd are used to update the routing ta- bles if one of the following conditions is satisfied: ++oo No routing table entry exists for the destination network or host, and the metric indicates the destination is ``reachable'' (i.e. the hop count is not infinite). ++oo The source host of the packet is the same as the router in the exist- ing routing table entry. That is, updated information is being re- ceived from the very internetwork router through which packets for the destination are being routed. ++oo 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 ef- fective as the current route. ++oo 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, XXNNSSrroouutteedd records the change in its internal tables and generates a _r_e_s_p_o_n_s_e packet to all directly connected hosts and networks. Routed(8) 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, XXNNSSrroouutteedd 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 insure the invalidation is propagated to other routers. Hosts acting as internetwork routers gratuitously supply their routing tables every 30 seconds to all directly connected hosts and networks. SSEEEE AALLSSOO idp(4) _I_n_t_e_r_n_e_t _T_r_a_n_s_p_o_r_t _P_r_o_t_o_c_o_l_s, XSIS 028112, Xerox System Integration Standard. HHIISSTTOORRYY The XXNNSSrroouutteedd command appeared in 4.3BSD. 4.3 Berkeley Distribution June 5, 1993 2