mirror of
				https://git.proxmox.com/git/mirror_frr
				synced 2025-11-04 06:38:04 +00:00 
			
		
		
		
	
		
			
				
	
	
		
			593 lines
		
	
	
		
			22 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
			
		
		
	
	
			593 lines
		
	
	
		
			22 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
@c -*-texinfo-*-
 | 
						|
@c This is part of the Quagga Manual.
 | 
						|
@c Copyright (C) 1999, 2000 Kunihiro Ishiguro
 | 
						|
@c See file zebra.texi for copying conditions.
 | 
						|
@node RIP
 | 
						|
@comment  node-name,  next,  previous,  up
 | 
						|
@chapter RIP
 | 
						|
 | 
						|
RIP -- Routing Information Protocol is widely deployed interior gateway
 | 
						|
protocol.  RIP was developed in the 1970s at Xerox Labs as part of the
 | 
						|
XNS routing protocol.  RIP is a @dfn{distance-vector} protocol and is
 | 
						|
based on the @dfn{Bellman-Ford} algorithms.  As a distance-vector
 | 
						|
protocol, RIP router send updates to its neighbors periodically, thus
 | 
						|
allowing the convergence to a known topology.  In each update, the
 | 
						|
distance to any given network will be broadcasted to its neighboring
 | 
						|
router.
 | 
						|
 | 
						|
@command{ripd} supports RIP version 2 as described in RFC2453 and RIP
 | 
						|
version 1 as described in RFC1058.
 | 
						|
 | 
						|
@menu
 | 
						|
* Starting and Stopping ripd::  
 | 
						|
* RIP Configuration::           
 | 
						|
* How to Announce RIP route::   
 | 
						|
* Filtering RIP Routes::        
 | 
						|
* RIP Metric Manipulation::     
 | 
						|
* RIP distance::                
 | 
						|
* RIP route-map::               
 | 
						|
* RIP Authentication::          
 | 
						|
* RIP Timers::                  
 | 
						|
* Show RIP Information::        
 | 
						|
* RIP Debug Commands::          
 | 
						|
@end menu
 | 
						|
 | 
						|
@node Starting and Stopping ripd, RIP Configuration, RIP, RIP
 | 
						|
@comment  node-name,  next,  previous,  up
 | 
						|
@section Starting and Stopping ripd
 | 
						|
 | 
						|
The default configuration file name of @command{ripd}'s is
 | 
						|
@file{ripd.conf}.  When invocation @command{ripd} searches directory
 | 
						|
@value{INSTALL_PREFIX_ETC}.  If @file{ripd.conf} is not there next
 | 
						|
search current directory.
 | 
						|
 | 
						|
RIP uses UDP port 520 to send and receive RIP packets.  So the user must have
 | 
						|
the capability to bind the port, generally this means that the user must
 | 
						|
have superuser privileges.  RIP protocol requires interface information
 | 
						|
maintained by @command{zebra} daemon.  So running @command{zebra}
 | 
						|
is mandatory to run @command{ripd}.  Thus minimum sequence for running
 | 
						|
RIP is like below:
 | 
						|
 | 
						|
@example
 | 
						|
@group
 | 
						|
# zebra -d
 | 
						|
# ripd -d
 | 
						|
@end group
 | 
						|
@end example
 | 
						|
 | 
						|
Please note that @command{zebra} must be invoked before @command{ripd}.
 | 
						|
 | 
						|
To stop @command{ripd}.  Please use @command{kill `cat
 | 
						|
/var/run/ripd.pid`}.  Certain signals have special meaningss to @command{ripd}.
 | 
						|
 | 
						|
@table @samp
 | 
						|
@item SIGHUP
 | 
						|
Reload configuration file @file{ripd.conf}.  All configurations are
 | 
						|
reseted.  All routes learned so far are cleared and removed from routing
 | 
						|
table.
 | 
						|
@item SIGUSR1
 | 
						|
Rotate @command{ripd} logfile.
 | 
						|
@item SIGINT
 | 
						|
@itemx SIGTERM
 | 
						|
@command{ripd} sweeps all installed RIP routes then terminates properly.
 | 
						|
@end table
 | 
						|
 | 
						|
@command{ripd} invocation options.  Common options that can be specified
 | 
						|
(@pxref{Common Invocation Options}).
 | 
						|
 | 
						|
@table @samp
 | 
						|
@item -r
 | 
						|
@itemx --retain
 | 
						|
When the program terminates, retain routes added by @command{ripd}.
 | 
						|
@end table
 | 
						|
 | 
						|
@menu
 | 
						|
* RIP netmask::                 
 | 
						|
@end menu
 | 
						|
 | 
						|
@node RIP netmask,  , Starting and Stopping ripd, Starting and Stopping ripd
 | 
						|
@comment  node-name,  next,  previous,  up
 | 
						|
@subsection RIP netmask
 | 
						|
 | 
						|
The netmask features of @command{ripd} support both version 1 and version 2 of
 | 
						|
RIP.  Version 1 of RIP originally contained no netmask information.  In
 | 
						|
RIP version 1, network classes were originally used to determine the
 | 
						|
size of the netmask.  Class A networks use 8 bits of mask, Class B
 | 
						|
networks use 16 bits of masks, while Class C networks use 24 bits of
 | 
						|
mask.  Today, the most widely used method of a network mask is assigned
 | 
						|
to the packet on the basis of the interface that received the packet.
 | 
						|
Version 2 of RIP supports a variable length subnet mask (VLSM).  By
 | 
						|
extending the subnet mask, the mask can be divided and reused.  Each
 | 
						|
subnet can be used for different purposes such as large to middle size
 | 
						|
LANs and WAN links.  Quagga @command{ripd} does not support the non-sequential
 | 
						|
netmasks that are included in RIP Version 2.
 | 
						|
 | 
						|
In a case of similar information with the same prefix and metric, the
 | 
						|
old information will be suppressed.  Ripd does not currently support
 | 
						|
equal cost multipath routing.
 | 
						|
 | 
						|
 | 
						|
@node RIP Configuration, How to Announce RIP route, Starting and Stopping ripd, RIP
 | 
						|
@comment  node-name,  next,  previous,  up
 | 
						|
@section RIP Configuration
 | 
						|
 | 
						|
@deffn Command {router rip} {}
 | 
						|
The @code{router rip} command is necessary to enable RIP.  To disable
 | 
						|
RIP, use the @code{no router rip} command.  RIP must be enabled before
 | 
						|
carrying out any of the RIP commands.
 | 
						|
@end deffn
 | 
						|
 | 
						|
@deffn Command {no router rip} {}
 | 
						|
Disable RIP.
 | 
						|
@end deffn
 | 
						|
 | 
						|
RIP can be configured to process either Version 1 or Version 2 packets,
 | 
						|
the default mode is Version 2.  If no version is specified, then the RIP
 | 
						|
daemon will default to Version 2.  If RIP is set to Version
 | 
						|
1, the setting "Version 1" will be displayed, but the setting "Version
 | 
						|
2" will not be displayed whether or not Version 2 is set explicitly as
 | 
						|
the version of RIP being used. The version can be specified globally, and
 | 
						|
also on a per-interface basis (see below).
 | 
						|
 | 
						|
@deffn {RIP Command} {version @var{version}} {}
 | 
						|
Set RIP process's version.  @var{version} can be `1'' or `2''.
 | 
						|
@end deffn
 | 
						|
 | 
						|
@deffn {RIP Command} {network @var{network}} {}
 | 
						|
@deffnx {RIP Command} {no network @var{network}} {}
 | 
						|
Set the RIP enable interface by @var{network}.  The interfaces which
 | 
						|
have addresses matching with @var{network} are enabled.
 | 
						|
 | 
						|
This group of commands either enables or disables RIP interfaces between
 | 
						|
certain numbers of a specified network address.  For example, if the
 | 
						|
network for 10.0.0.0/24 is RIP enabled, this would result in all the
 | 
						|
addresses from 10.0.0.0 to 10.0.0.255 being enabled for RIP.  The @code{no
 | 
						|
network} command will disable RIP for the specified network.
 | 
						|
@end deffn
 | 
						|
 | 
						|
@deffn {RIP Command} {network @var{ifname}} {}
 | 
						|
@deffnx {RIP Command} {no network @var{ifname}} {}
 | 
						|
Set a RIP enabled interface by @var{ifname}.  Both the sending and
 | 
						|
receiving of RIP packets will be enabled on the port specified in the
 | 
						|
@code{network ifname} command.  The @code{no network ifname} command will disable
 | 
						|
RIP on the specified interface.
 | 
						|
@end deffn
 | 
						|
 | 
						|
@deffn {RIP Command} {neighbor @var{a.b.c.d}} {}
 | 
						|
@deffnx {RIP Command} {no neighbor @var{a.b.c.d}} {}
 | 
						|
Specify RIP neighbor.  When a neighbor doesn't understand multicast,
 | 
						|
this command is used to specify neighbors.  In some cases, not all
 | 
						|
routers will be able to understand multicasting, where packets are sent
 | 
						|
to a network or a group of addresses.  In a situation where a neighbor
 | 
						|
cannot process multicast packets, it is necessary to establish a direct
 | 
						|
link between routers.  The neighbor command allows the network
 | 
						|
administrator to specify a router as a RIP neighbor.  The @code{no
 | 
						|
neighbor a.b.c.d} command will disable the RIP neighbor.
 | 
						|
@end deffn
 | 
						|
 | 
						|
Below is very simple RIP configuration.  Interface @code{eth0} and
 | 
						|
interface which address match to @code{10.0.0.0/8} are RIP enabled.
 | 
						|
 | 
						|
@example
 | 
						|
@group
 | 
						|
!
 | 
						|
router rip
 | 
						|
 network 10.0.0.0/8
 | 
						|
 network eth0
 | 
						|
!
 | 
						|
@end group
 | 
						|
@end example
 | 
						|
 | 
						|
Passive interface
 | 
						|
 | 
						|
@deffn {RIP command} {passive-interface (@var{IFNAME}|default)} {}
 | 
						|
@deffnx {RIP command} {no passive-interface @var{IFNAME}} {}
 | 
						|
This command sets the specified interface to passive mode.  On passive mode
 | 
						|
interface, all receiving packets are processed as normal and ripd does
 | 
						|
not send either multicast or unicast RIP packets except to RIP neighbors
 | 
						|
specified with @code{neighbor} command. The interface may be specified
 | 
						|
as @var{default} to make ripd default to passive on all interfaces. 
 | 
						|
 | 
						|
The default is to be passive on all interfaces.
 | 
						|
@end deffn
 | 
						|
 | 
						|
RIP version handling
 | 
						|
 | 
						|
@deffn {Interface command} {ip rip send version @var{version}} {}
 | 
						|
@var{version} can be `1', `2', `1 2'.  This configuration command
 | 
						|
overrides the router's rip version setting.  The command will enable the
 | 
						|
selected interface to send packets with RIP Version 1, RIP Version 2, or
 | 
						|
both.  In the case of '1 2', packets will be both broadcast and
 | 
						|
multicast.
 | 
						|
 | 
						|
The default is to send only version 2.
 | 
						|
@end deffn
 | 
						|
 | 
						|
@deffn {Interface command} {ip rip receive version @var{version}} {}
 | 
						|
Version setting for incoming RIP packets.  This command will enable the
 | 
						|
selected interface to receive packets in RIP Version 1, RIP Version 2,
 | 
						|
or both.
 | 
						|
 | 
						|
The default is to receive both versions.
 | 
						|
@end deffn
 | 
						|
 | 
						|
RIP split-horizon
 | 
						|
 | 
						|
@deffn {Interface command} {ip split-horizon} {}
 | 
						|
@deffnx {Interface command} {no ip split-horizon} {}
 | 
						|
Control split-horizon on the interface.  Default is @code{ip
 | 
						|
split-horizon}.  If you don't perform split-horizon on the interface,
 | 
						|
please specify @code{no ip split-horizon}.
 | 
						|
@end deffn
 | 
						|
 | 
						|
@node How to Announce RIP route, Filtering RIP Routes, RIP Configuration, RIP
 | 
						|
@comment  node-name,  next,  previous,  up
 | 
						|
@section How to Announce RIP route
 | 
						|
 | 
						|
@deffn {RIP command} {redistribute kernel} {}
 | 
						|
@deffnx {RIP command} {redistribute kernel metric <0-16>} {}
 | 
						|
@deffnx {RIP command} {redistribute kernel route-map @var{route-map}} {}
 | 
						|
@deffnx {RIP command} {no redistribute kernel} {}
 | 
						|
@code{redistribute kernel} redistributes routing information from
 | 
						|
kernel route entries into the RIP tables. @code{no redistribute kernel}
 | 
						|
disables the routes.
 | 
						|
@end deffn
 | 
						|
 | 
						|
@deffn {RIP command} {redistribute static} {}
 | 
						|
@deffnx {RIP command} {redistribute static metric <0-16>} {}
 | 
						|
@deffnx {RIP command} {redistribute static route-map @var{route-map}} {}
 | 
						|
@deffnx {RIP command} {no redistribute static} {}
 | 
						|
@code{redistribute static} redistributes routing information from
 | 
						|
static route entries into the RIP tables. @code{no redistribute static}
 | 
						|
disables the routes.
 | 
						|
@end deffn
 | 
						|
 | 
						|
@deffn {RIP command} {redistribute connected} {}
 | 
						|
@deffnx {RIP command} {redistribute connected metric <0-16>} {}
 | 
						|
@deffnx {RIP command} {redistribute connected route-map @var{route-map}} {}
 | 
						|
@deffnx {RIP command} {no redistribute connected} {}
 | 
						|
Redistribute connected routes into the RIP tables.  @code{no
 | 
						|
redistribute connected} disables the connected routes in the RIP tables.
 | 
						|
This command redistribute connected of the interface which RIP disabled.
 | 
						|
The connected route on RIP enabled interface is announced by default.
 | 
						|
@end deffn
 | 
						|
 | 
						|
@deffn {RIP command} {redistribute ospf} {}
 | 
						|
@deffnx {RIP command} {redistribute ospf metric <0-16>} {}
 | 
						|
@deffnx {RIP command} {redistribute ospf route-map @var{route-map}} {}
 | 
						|
@deffnx {RIP command} {no redistribute ospf} {}
 | 
						|
@code{redistribute ospf} redistributes routing information from
 | 
						|
ospf route entries into the RIP tables. @code{no redistribute ospf}
 | 
						|
disables the routes.
 | 
						|
@end deffn
 | 
						|
 | 
						|
@deffn {RIP command} {redistribute bgp} {}
 | 
						|
@deffnx {RIP command} {redistribute bgp metric <0-16>} {}
 | 
						|
@deffnx {RIP command} {redistribute bgp route-map @var{route-map}} {}
 | 
						|
@deffnx {RIP command} {no redistribute bgp} {}
 | 
						|
@code{redistribute bgp} redistributes routing information from
 | 
						|
bgp route entries into the RIP tables. @code{no redistribute bgp}
 | 
						|
disables the routes.
 | 
						|
@end deffn
 | 
						|
 | 
						|
If you want to specify RIP only static routes:
 | 
						|
 | 
						|
@deffn {RIP command} {default-information originate} {}
 | 
						|
@end deffn
 | 
						|
 | 
						|
@deffn {RIP command} {route @var{a.b.c.d/m}} {}
 | 
						|
@deffnx {RIP command} {no route @var{a.b.c.d/m}} {}
 | 
						|
This command is specific to Quagga.  The @code{route} command makes a static
 | 
						|
route only inside RIP. This command should be used only by advanced
 | 
						|
users who are particularly knowledgeable about the RIP protocol.  In
 | 
						|
most cases, we recommend creating a static route in Quagga and
 | 
						|
redistributing it in RIP using @code{redistribute static}.
 | 
						|
@end deffn
 | 
						|
 | 
						|
 | 
						|
@node  Filtering RIP Routes, RIP Metric Manipulation, How to Announce RIP route, RIP
 | 
						|
@comment  node-name,  next,  previous,  up
 | 
						|
@section Filtering RIP Routes
 | 
						|
 | 
						|
RIP routes can be filtered by a distribute-list.
 | 
						|
 | 
						|
@deffn Command {distribute-list @var{access_list} @var{direct} @var{ifname}} {}
 | 
						|
You can apply access lists to the interface with a @code{distribute-list}
 | 
						|
command.  @var{access_list} is the access list name.  @var{direct} is
 | 
						|
@samp{in} or @samp{out}.  If @var{direct} is @samp{in} the access list
 | 
						|
is applied to input packets.
 | 
						|
 | 
						|
The @code{distribute-list} command can be used to filter the RIP path.
 | 
						|
@code{distribute-list} can apply access-lists to a chosen interface.
 | 
						|
First, one should specify the access-list.  Next, the name of the
 | 
						|
access-list is used in the distribute-list command.  For example, in the
 | 
						|
following configuration @samp{eth0} will permit only the paths that
 | 
						|
match the route 10.0.0.0/8
 | 
						|
 | 
						|
@example
 | 
						|
@group
 | 
						|
!
 | 
						|
router rip
 | 
						|
 distribute-list private in eth0
 | 
						|
!
 | 
						|
access-list private permit 10 10.0.0.0/8
 | 
						|
access-list private deny any
 | 
						|
!
 | 
						|
@end group
 | 
						|
@end example
 | 
						|
@end deffn
 | 
						|
 | 
						|
@code{distribute-list} can be applied to both incoming and outgoing data.
 | 
						|
 | 
						|
@deffn Command {distribute-list prefix @var{prefix_list} (in|out) @var{ifname}} {}
 | 
						|
You can apply prefix lists to the interface with a
 | 
						|
@code{distribute-list} command.  @var{prefix_list} is the prefix list
 | 
						|
name.  Next is the direction of @samp{in} or @samp{out}.  If
 | 
						|
@var{direct} is @samp{in} the access list is applied to input packets.
 | 
						|
@end deffn
 | 
						|
 | 
						|
@node RIP Metric Manipulation, RIP distance, Filtering RIP Routes, RIP
 | 
						|
@comment  node-name,  next,  previous,  up
 | 
						|
@section RIP Metric Manipulation
 | 
						|
 | 
						|
RIP metric is a value for distance for the network.  Usually
 | 
						|
@command{ripd} increment the metric when the network information is
 | 
						|
received.  Redistributed routes' metric is set to 1.
 | 
						|
 | 
						|
@deffn {RIP command} {default-metric <1-16>} {}
 | 
						|
@deffnx {RIP command} {no default-metric <1-16>} {}
 | 
						|
This command modifies the default metric value for redistributed routes.  The
 | 
						|
default value is 1.  This command does not affect connected route
 | 
						|
even if it is redistributed by @command{redistribute connected}.  To modify
 | 
						|
connected route's metric value, please use @command{redistribute
 | 
						|
connected metric} or @command{route-map}.  @command{offset-list} also
 | 
						|
affects connected routes.
 | 
						|
@end deffn
 | 
						|
 | 
						|
@deffn {RIP command} {offset-list @var{access-list} (in|out)} {}
 | 
						|
@deffnx {RIP command} {offset-list @var{access-list} (in|out) @var{ifname}} {}
 | 
						|
@end deffn
 | 
						|
 | 
						|
@node RIP distance, RIP route-map, RIP Metric Manipulation, RIP
 | 
						|
@comment  node-name,  next,  previous,  up
 | 
						|
@section RIP distance
 | 
						|
 | 
						|
Distance value is used in zebra daemon.  Default RIP distance is 120.
 | 
						|
 | 
						|
@deffn {RIP command} {distance <1-255>} {}
 | 
						|
@deffnx {RIP command} {no distance <1-255>} {}
 | 
						|
Set default RIP distance to specified value.
 | 
						|
@end deffn
 | 
						|
 | 
						|
@deffn {RIP command} {distance <1-255> @var{A.B.C.D/M}} {}
 | 
						|
@deffnx {RIP command} {no distance <1-255> @var{A.B.C.D/M}} {}
 | 
						|
Set default RIP distance to specified value when the route's source IP
 | 
						|
address matches the specified prefix.
 | 
						|
@end deffn
 | 
						|
 | 
						|
@deffn {RIP command} {distance <1-255> @var{A.B.C.D/M} @var{access-list}} {}
 | 
						|
@deffnx {RIP command} {no distance <1-255> @var{A.B.C.D/M} @var{access-list}} {}
 | 
						|
Set default RIP distance to specified value when the route's source IP
 | 
						|
address matches the specified prefix and the specified access-list.
 | 
						|
@end deffn
 | 
						|
 | 
						|
@node RIP route-map, RIP Authentication, RIP distance, RIP
 | 
						|
@comment  node-name,  next,  previous,  up
 | 
						|
@section RIP route-map
 | 
						|
 | 
						|
Usage of @command{ripd}'s route-map support.
 | 
						|
 | 
						|
Optional argument route-map MAP_NAME can be added to each @code{redistribute}
 | 
						|
statement.
 | 
						|
 | 
						|
@example
 | 
						|
redistribute static [route-map MAP_NAME]
 | 
						|
redistribute connected [route-map MAP_NAME]
 | 
						|
.....
 | 
						|
@end example
 | 
						|
 | 
						|
Cisco applies route-map _before_ routes will exported to rip route table. 
 | 
						|
In current Quagga's test implementation, @command{ripd} applies route-map
 | 
						|
after routes are listed in the route table and before routes will be
 | 
						|
announced to an interface (something like output filter). I think it is not
 | 
						|
so clear, but it is draft and it may be changed at future.
 | 
						|
 | 
						|
Route-map statement (@pxref{Route Map}) is needed to use route-map
 | 
						|
functionality.
 | 
						|
 | 
						|
@deffn {Route Map} {match interface @var{word}} {}
 | 
						|
This command match to incoming interface.  Notation of this match is
 | 
						|
different from Cisco. Cisco uses a list of interfaces - NAME1 NAME2
 | 
						|
... NAMEN.  Ripd allows only one name (maybe will change in the
 | 
						|
future).  Next - Cisco means interface which includes next-hop of
 | 
						|
routes (it is somewhat similar to "ip next-hop" statement).  Ripd
 | 
						|
means interface where this route will be sent. This difference is
 | 
						|
because "next-hop" of same routes which sends to different interfaces
 | 
						|
must be different. Maybe it'd be better to made new matches - say
 | 
						|
"match interface-out NAME" or something like that.
 | 
						|
@end deffn
 | 
						|
 | 
						|
@deffn {Route Map} {match ip address @var{word}} {}
 | 
						|
@deffnx {Route Map} {match ip address prefix-list @var{word}} {}
 | 
						|
Match if route destination is permitted by access-list.
 | 
						|
@end deffn
 | 
						|
 | 
						|
@deffn {Route Map} {match ip next-hop A.B.C.D} {}
 | 
						|
Cisco uses here <access-list>, @command{ripd} IPv4 address. Match if
 | 
						|
route has this next-hop (meaning next-hop listed in the rip route
 | 
						|
table - "show ip rip")
 | 
						|
@end deffn
 | 
						|
 | 
						|
@deffn {Route Map} {match metric <0-4294967295>} {}
 | 
						|
This command match to the metric value of RIP updates.  For other
 | 
						|
protocol compatibility metric range is shown as <0-4294967295>.  But
 | 
						|
for RIP protocol only the value range <0-16> make sense.
 | 
						|
@end deffn
 | 
						|
 | 
						|
@deffn {Route Map} {set ip next-hop A.B.C.D} {}
 | 
						|
This command set next hop value in RIPv2 protocol.  This command does
 | 
						|
not affect RIPv1 because there is no next hop field in the packet.
 | 
						|
@end deffn
 | 
						|
 | 
						|
@deffn {Route Map} {set metric <0-4294967295>} {}
 | 
						|
Set a metric for matched route when sending announcement.  The metric
 | 
						|
value range is very large for compatibility with other protocols.  For
 | 
						|
RIP, valid metric values are from 1 to 16.
 | 
						|
@end deffn
 | 
						|
 | 
						|
@node RIP Authentication, RIP Timers, RIP route-map, RIP
 | 
						|
@comment  node-name,  next,  previous,  up
 | 
						|
@section RIP Authentication
 | 
						|
 | 
						|
@deffn {Interface command} {ip rip authentication mode md5} {}
 | 
						|
@deffnx {Interface command} {no ip rip authentication mode md5} {}
 | 
						|
Set the interface with RIPv2 MD5 authentication.
 | 
						|
@end deffn
 | 
						|
 | 
						|
@deffn {Interface command} {ip rip authentication mode text} {}
 | 
						|
@deffnx {Interface command} {no ip rip authentication mode text} {}
 | 
						|
Set the interface with RIPv2 simple password authentication.
 | 
						|
@end deffn
 | 
						|
 | 
						|
@deffn {Interface command} {ip rip authentication string @var{string}} {}
 | 
						|
@deffnx {Interface command} {no ip rip authentication string @var{string}} {}
 | 
						|
RIP version 2 has simple text authentication.  This command sets
 | 
						|
authentication string.  The string must be shorter than 16 characters.
 | 
						|
@end deffn
 | 
						|
 | 
						|
@deffn {Interface command} {ip rip authentication key-chain @var{key-chain}} {}
 | 
						|
@deffnx {Interface command} {no ip rip authentication key-chain @var{key-chain}} {}
 | 
						|
Specifiy Keyed MD5 chain.
 | 
						|
@end deffn
 | 
						|
 | 
						|
@example
 | 
						|
!
 | 
						|
key chain test
 | 
						|
 key 1
 | 
						|
  key-string test
 | 
						|
!
 | 
						|
interface eth1
 | 
						|
 ip rip authentication mode md5
 | 
						|
 ip rip authentication key-chain test
 | 
						|
!
 | 
						|
@end example
 | 
						|
 | 
						|
@node RIP Timers, Show RIP Information, RIP Authentication, RIP
 | 
						|
@comment  node-name,  next,  previous,  up
 | 
						|
@section RIP Timers
 | 
						|
 | 
						|
@deffn {RIP command} {timers basic @var{update} @var{timeout} @var{garbage}} {}
 | 
						|
 | 
						|
RIP protocol has several timers.  User can configure those timers' values
 | 
						|
by @code{timers basic} command.
 | 
						|
 | 
						|
The default settings for the timers are as follows: 
 | 
						|
 | 
						|
@itemize @bullet 
 | 
						|
@item
 | 
						|
The update timer is 30 seconds. Every update timer seconds, the RIP
 | 
						|
process is awakened to send an unsolicited Response message containing
 | 
						|
the complete routing table to all neighboring RIP routers.
 | 
						|
 | 
						|
@item
 | 
						|
The timeout timer is 180 seconds. Upon expiration of the timeout, the
 | 
						|
route is no longer valid; however, it is retained in the routing table
 | 
						|
for a short time so that neighbors can be notified that the route has
 | 
						|
been dropped.
 | 
						|
 | 
						|
@item
 | 
						|
The garbage collect timer is 120 seconds.  Upon expiration of the
 | 
						|
garbage-collection timer, the route is finally removed from the routing
 | 
						|
table.
 | 
						|
 | 
						|
@end itemize
 | 
						|
 | 
						|
The @code{timers basic} command allows the the default values of the timers
 | 
						|
listed above to be changed.
 | 
						|
@end deffn
 | 
						|
 | 
						|
@deffn {RIP command} {no timers basic} {}
 | 
						|
The @code{no timers basic} command will reset the timers to the default
 | 
						|
settings listed above.
 | 
						|
@end deffn
 | 
						|
 | 
						|
@node Show RIP Information, RIP Debug Commands, RIP Timers, RIP
 | 
						|
@comment  node-name,  next,  previous,  up
 | 
						|
@section Show RIP Information
 | 
						|
 | 
						|
To display RIP routes.
 | 
						|
 | 
						|
@deffn Command {show ip rip} {}
 | 
						|
Show RIP routes.
 | 
						|
@end deffn
 | 
						|
 | 
						|
The command displays all RIP routes. For routes that are received
 | 
						|
through RIP, this command will display the time the packet was sent and
 | 
						|
the tag information.  This command will also display this information
 | 
						|
for routes redistributed into RIP.
 | 
						|
 | 
						|
@c Exmaple here.
 | 
						|
 | 
						|
@deffn Command {show ip protocols} {}
 | 
						|
The command displays current RIP status.  It includes RIP timer,
 | 
						|
filtering, version, RIP enabled interface and RIP peer inforation.
 | 
						|
@end deffn
 | 
						|
 | 
						|
@example
 | 
						|
@group
 | 
						|
ripd> @b{show ip protocols}
 | 
						|
Routing Protocol is "rip"
 | 
						|
  Sending updates every 30 seconds with +/-50%, next due in 35 seconds
 | 
						|
  Timeout after 180 seconds, garbage collect after 120 seconds
 | 
						|
  Outgoing update filter list for all interface is not set
 | 
						|
  Incoming update filter list for all interface is not set
 | 
						|
  Default redistribution metric is 1
 | 
						|
  Redistributing: kernel connected
 | 
						|
  Default version control: send version 2, receive version 2 
 | 
						|
    Interface        Send  Recv
 | 
						|
  Routing for Networks:
 | 
						|
    eth0
 | 
						|
    eth1
 | 
						|
    1.1.1.1
 | 
						|
    203.181.89.241
 | 
						|
  Routing Information Sources:
 | 
						|
    Gateway          BadPackets BadRoutes  Distance Last Update
 | 
						|
@end group
 | 
						|
@end example
 | 
						|
 | 
						|
@node RIP Debug Commands,  , Show RIP Information, RIP
 | 
						|
@comment  node-name,  next,  previous,  up
 | 
						|
@section RIP Debug Commands
 | 
						|
 | 
						|
Debug for RIP protocol.
 | 
						|
 | 
						|
@deffn Command {debug rip events} {}
 | 
						|
Debug rip events.
 | 
						|
@end deffn
 | 
						|
 | 
						|
@code{debug rip} will show RIP events.  Sending and receiving
 | 
						|
packets, timers, and changes in interfaces are events shown with @command{ripd}.
 | 
						|
 | 
						|
@deffn Command {debug rip packet} {}
 | 
						|
Debug rip packet.
 | 
						|
@end deffn
 | 
						|
 | 
						|
@code{debug rip packet} will display detailed information about the RIP
 | 
						|
packets.  The origin and port number of the packet as well as a packet
 | 
						|
dump is shown.
 | 
						|
 | 
						|
@deffn Command {debug rip zebra} {}
 | 
						|
Debug rip between zebra communication.
 | 
						|
@end deffn
 | 
						|
 | 
						|
This command will show the communication between @command{ripd} and @command{zebra}.  The
 | 
						|
main information will include addition and deletion of paths to the
 | 
						|
kernel and the sending and receiving of interface information.
 | 
						|
 | 
						|
@deffn Command {show debugging rip} {}
 | 
						|
Display @command{ripd}'s debugging option.
 | 
						|
@end deffn
 | 
						|
 | 
						|
@code{show debugging rip} will show all information currently set for ripd
 | 
						|
debug.
 |