
                      XROUTER INTERIM DOCUMENTATION
                      =============================

                       Routing Information Protocol
                       ----------------------------

		  This revision dated: 19th July 2002



Purpose Of This Document
~~~~~~~~~~~~~~~~~~~~~~~~
"Interim" documentation is that which hasn't yet been incorporated into
the sysop manual.  It is intended to provide easily-accessible and
printable guidance for the configuration and use of new and possibly
experimental features, and is not guaranteed to be complete, accurate,
or permanent.  As development proceeds and feedback is received, the
software and this documentation may be modified.  When the development
cycle is complete, the information herein will be incorporated into the
sysop manual, and this document will be discontinued soon afterwards.

  ====================================================================

Routing Information Protocol (RIP)
==================================

RIP allows routers to learn about each other's routing, in a similar
fashion to Netrom.  There are various versions of RIP, and Xrouter
implements only RIP98, which was developed by G8BPQ specifically for
radio-based routers.  If there is a need for older versions of RIP, I
may include them at a later date.

RIP98 works by sending its routing table to nominated peers at regular
intervals, and accepting routing information from peers.  The routes
learned by this means have a finite lifetime, and if not updated for
a while they will drop out of the routing table.


Configuring Xrouter to use RIP98
================================

The following configuration commands are available:

	RIP ACCEPT	Remove a peer from the refuse list.
	RIP ADD		Add a peer to the broadcast list. (*)
	RIP DROP	Remove a peer from the broadcast list.
	RIP LEARN	Allow / disallow route learning. (*)
	RIP REFUSE	Ignore broadcasts from a peer. (*)
	RIP STATUS	Show status of RIP.
	RIP TIMEOUT	Specify lifetime of learned routes. (*)

Commands marked (*) may be used in IPROUTE.SYS to configure the
system automatically.

Commands are explained in more detail below:


RIP ACCEPT	- Remove a peer from the refuse list.

	Syntax:	RIP AC[cept] <ip_address>

	Peers which have been added to the refuse list using the
	RIP REFUSE command can be removed using RIP ACCEPT, allowing
	the router to learn information from them.  <ip_address> is
	the IP address of the peer.


RIP ADD		- Add a peer to the broadcast list.

	Syntax:	RIP A[dd] <ip_address> <secs>

	Adds a peer to the list of those who will receive RIP
	transmissions from us.  The <secs> parameter specifies the
	interval between transmissions, and should be chosen in
	agreement with the peer, so that <secs> is approximately one
	quarter of the lifetime of their RIP entries.  This allows up
	to 4 transmissions to be lost before the route is purged.


RIP DROP	- Remove a peer from the broadcast list.

	Syntax:	RIP D[rop] <ip_address>

	Removes a peer from the list of those who will receive RIP
	transmissions from us.


RIP LEARN	- Allow / disallow route learning.

	Syntax:	RIP L[earn] [ON | OFF]

	By default, RIP98 route learning is OFF.  If no arguments are
	given, the current status is reported.  "ON" allows Xrouter
	to learn routes from its RIP98 peers, and "OFF" prevents it.
	I recommend enabling LEARN mode.


RIP REFUSE	- Ignore broadcasts from a peer.

	Syntax: RIP R[efuse] <ip_address>

	This is the opposite of ACCEPT.  It adds a peer to the refuse
	list so broadcasts from that peer will be ignored.  I have
	provided this command in case you need to exclude a peer which
	is advertising faulty routes.


RIP STATUS	- Display RIP status.

	Syntax: RIP S[tatus]

	This command displays various RIP98 parameters such as the
	list of peers who receive broadcasts from us, the list of
	peers we are ignoring, the timeout value, and the setting
	of learn mode.


RIP TIMEOUT	- Display / Set lifetime of learned routes.

	Syntax: RIP T[imeout] [secs]

	Routes learned from peers have a finite lifetime.  If the
	route entry is not refreshed within this lifetime, it is
	removed from the routes table.  The timeout should preferably
	be 4 times the interval between broadcasts from peers, and
	the default is currently 4 hours.
