Skip site navigation (1)Skip section navigation (2)

FreeBSD Manual Pages


home | help
in.routed(1M)		System Administration Commands		 in.routed(1M)

       in.routed, routed - network routing daemon

       /usr/sbin/in.routed [-s]	[-q] [-t] [-g] [-S] [-v] [logfile]

       in.routed is invoked at boot time to manage the network routing tables.
       The routing daemon uses a variant of the	Xerox NS  Routing  Information
       Protocol	in maintaining up-to-date kernel routing table entries.

       At  boot	 time,	in.routed is invoked with either the -s	 or -q option.
       Options are described below.   The  -s  option  is  appropriate	for  a
       router.	The in.routed -s command is invoked under the following	condi-

	  o  A machine has multiple interfaces

	  o  The interfaces are	not configured by DHCP

	  o  The defaultrouter(4) and /etc/notrouter files are not present

       Otherwise, the in.routed	-q command is invoked.

       In normal operation, in.routed listens on udp(7P) 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  in.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 multiple
       interfaces are present, it is assumed the host will forward packets be-
       tween  networks.	 in.routed then	transmits a request packet on each in-
       terface (using a	broadcast packet if the	interface supports it) and en-
       ters  a	loop,  listening  for  request and response packets from other

       When a request packet is	received, in.routed formulates a  reply	 based
       on  the	information  maintained	 in  its internal tables. The response
       packet contains a list of known routes, each marked with	a "hop	count"
       metric  (a count	of 16, or greater, is considered "infinite"). The met-
       ric associated with each	route returned,	provides a metric relative  to
       the sender.

       request	packets	 received  by in.routed	are used to update the routing
       tables if one of	the following conditions is satisfied:

	  o  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	not infinite).

	  o  The source	host of	the packet is the same as the  router  in  the
	     existing routing table entry. That	is, updated information	is be-
	     ing received from the  very  internetwork	router	through	 which
	     packets for the destination are being routed.

	  o  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.

	  o  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 de-
	     cide this.

       When an update is applied, in.routed records the	change in its internal
       tables  and generates a response	packet to all directly connected hosts
       and networks. in.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, in.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	 dele-
       tion.  Deletions	are delayed an additional 60 seconds to	insure the in-
       validation 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.

       In  addition  to	the facilities described above,	in.routed supports the
       notion of "distant" passive and	active	gateways.  When	 in.routed  is
       started	up,  it	reads the file gateways	to find	gateways which may not
       be identified using the SIOCGIFCONFioctl. Gateways  specified  in  this
       manner  should  be marked  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 in.routed
       process running on the machine).	Routes through	passive	 gateways  are
       installed  in  the kernel's routing tables once upon startup.  They may
       change, depending upon routing  information  they  receive  from	 other
       gateways.  Information regarding	their existence	is not 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 time, the as-
       sociated	route is deleted.

       The  gateways  is comprised of a	series of lines, each in the following

       < net | host > filename1	gateway	filename2 metric value < passive | active >

       The net or host keyword indicates if the	route is to a network or  spe-
       cific host.

       filename1 is 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(3SOCKET).

       filename2  is  the  name	 or  address  of the gateway to	which messages
       should be forwarded.

       value is	a metric indicating the	hop count to the destination  host  or

       The  keyword  passive  or  active  indicates  if	 the gateway should be
       treated as passive or active (as	described above).

       - g   Is	used on	internetwork routers to	offer a	 route	to  the	 ``de-
	     fault''  destination.  This is typically 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.

       -q    Is	the opposite of	the -s option.

       -s    Forces in.routed to supply	routing	information whether it is act-
	     ing as an internetwork router or not.

       -S    If	in.routed is not acting	as an internetwork router it will, in-
	     stead of entering the whole routing table in the kernel, only en-
	     ter a default route for each internetwork	router.	 This  reduces
	     the  the memory requirements without losing any routing reliabil-

       -t    All packets sent or received are printed on standard  output.  In
	     addition,	in.routed will not divorce itself from the controlling
	     terminal so that interrupts  from	the  keyboard  will  kill  the
	     process.  Any  other argument supplied is interpreted as the name
	     of	the file in which in.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  re-
	     lated to the changed route.

       -v    Allows  a	logfile	 (whose	 name  must be supplied) to be created
	     showing the changes made to the routing tables with a timestamp.

	     list of defaultrouters

	     list of distant gateways

	     Internet host table

	     associations of Internet Protocol network	numbers	 with  network

	     A file that acts as a flag	for a boot-time	script that determines
	     whether a machine will act	as a router or a host. The presence of
	     the  notrouter  file  prevents a machine that does	not have a de-
	     fault route from acting as	an IPv4	router,	even if	 that  machine
	     has multiple interfaces.

       See attributes(5) for descriptions of the following attributes:

       |      ATTRIBUTE	TYPE	     |	    ATTRIBUTE VALUE	   |
       |Availability		     |SUNWroute			   |

       route(1M),  ioctl(2),  inet(3SOCKET),  defaultrouter(4),	attributes(5),
       inet(7P),  udp(7P)

       The kernel's routing tables may not correspond to  those	 of  in.routed
       for  short periods of time while	processes that utilize existing	routes
       exit; the only remedy for this is to place the routing process  in  the

       in.routed  should listen	to intelligent interfaces, such	as an IMP, and
       to error	protocols, such	as ICMP, to gather more	information.

       in.routed initially obtains a routing table by examining	the interfaces
       configured  on a	machine	and the	gateways file. It then sends a request
       on all  directly	 connected  networks  for  more	 routing  information.
       in.routed does not recognize or use any routing information already es-
       tablished on the	machine	prior to startup.  With	the exception  of  in-
       terface	changes, in.routed does	not see	any routing table changes that
       have been done by other programs	on the machine,	 for  example,	routes
       added,  deleted or flushed by way of the	route(1M) command.  Therefore,
       these types of changes should not be done while in.routed  is  running.
       Rather,	 shut  down  in.routed,	 make  the  changes required, and then
       restart in.routed.

SunOS 5.9			  6 Nov	2000			 in.routed(1M)


Want to link to this manual page? Use this URL:

home | help