mirror of
				https://git.proxmox.com/git/mirror_frr
				synced 2025-10-31 13:03:19 +00:00 
			
		
		
		
	 6c85c08193
			
		
	
	
		6c85c08193
		
	
	
	
	
		
			
			Add some basic documentation for the EIGRP protocol. Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
		
			
				
	
	
		
			217 lines
		
	
	
		
			7.0 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
			
		
		
	
	
			217 lines
		
	
	
		
			7.0 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
| @c -*-texinfo-*-
 | |
| @c This is part of the Frr Manual.
 | |
| @c @value{COPYRIGHT_STR}
 | |
| @c See file frr.texi for copying conditions.
 | |
| @node EIGRP
 | |
| @chapter EIGRP
 | |
| 
 | |
| EIGRP -- Routing Information Protocol is widely deployed interior gateway
 | |
| routing protocol.  EIGRP was developed in the 1990's.  EIGRP is a
 | |
| @dfn{distance-vector} protocol and is based on the @dfn{dual} algorithms.
 | |
| As a distance-vector protocol, the EIGRP router send updates to its
 | |
| neighbors as networks change, thus allowing the convergence to a
 | |
| known topology.
 | |
| 
 | |
| @command{eigrpd} supports EIGRP as described in RFC7868
 | |
| 
 | |
| @menu
 | |
| * Starting and Stopping eigrpd::
 | |
| * EIGRP Configuration::
 | |
| * How to Announce EIGRP routes::
 | |
| * Show EIGRP Information::
 | |
| * EIGRP Debug Commands::
 | |
| @end menu
 | |
| 
 | |
| @node Starting and Stopping eigrpd
 | |
| @section Starting and Stopping eigrpd
 | |
| 
 | |
| The default configuration file name of @command{eigrpd}'s is
 | |
| @file{eigrpd.conf}.  When invocation @command{eigrpd} searches directory
 | |
| @value{INSTALL_PREFIX_ETC}.  If @file{eigrpd.conf} is not there next
 | |
| search current directory.  If an integrated config is specified
 | |
| configuration is written into frr.conf
 | |
| 
 | |
| The EIGRP protocol requires interface information
 | |
| maintained by @command{zebra} daemon.  So running @command{zebra}
 | |
| is mandatory to run @command{eigrpd}.  Thus minimum sequence for running
 | |
| EIGRP is like below:
 | |
| 
 | |
| @example
 | |
| @group
 | |
| # zebra -d
 | |
| # eigrpd -d
 | |
| @end group
 | |
| @end example
 | |
| 
 | |
| Please note that @command{zebra} must be invoked before @command{eigrpd}.
 | |
| 
 | |
| To stop @command{eigrpd}.  Please use @command{kill `cat
 | |
| /var/run/eigrpd.pid`}.  Certain signals have special meanings to @command{eigrpd}.
 | |
| 
 | |
| @table @samp
 | |
| @item SIGHUP
 | |
| @item SIGUSR1
 | |
| Rotate @command{eigrpd} Rotate the logfile.
 | |
| @item SIGINT
 | |
| @itemx SIGTERM
 | |
| @command{eigrpd} sweeps all installed EIGRP routes then terminates properly.
 | |
| @end table
 | |
| 
 | |
| @command{eigrpd} 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{eigrpd}.
 | |
| @end table
 | |
| 
 | |
| @node EIGRP Configuration
 | |
| @section EIGRP Configuration
 | |
| 
 | |
| @deffn Command {router eigrp (1-65535)} {}
 | |
| The @code{router eigrp} command is necessary to enable EIGRP.  To disable
 | |
| EIGRP, use the @code{no router eigrp (1-65535)} command.  EIGRP must be enabled before carrying out any of the EIGRP commands.
 | |
| @end deffn
 | |
| 
 | |
| @deffn Command {no router eigrp (1-65535)} {}
 | |
| Disable EIGRP.
 | |
| @end deffn
 | |
| 
 | |
| @deffn {EIGRP Command} {network @var{network}} {}
 | |
| @deffnx {EIGRP Command} {no network @var{network}} {}
 | |
| Set the EIGRP enable interface by @var{network}.  The interfaces which
 | |
| have addresses matching with @var{network} are enabled.
 | |
| 
 | |
| This group of commands either enables or disables EIGRP interfaces between
 | |
| certain numbers of a specified network address.  For example, if the
 | |
| network for 10.0.0.0/24 is EIGRP enabled, this would result in all the
 | |
| addresses from 10.0.0.0 to 10.0.0.255 being enabled for EIGRP.  The @code{no
 | |
| network} command will disable EIGRP for the specified network.
 | |
| @end deffn
 | |
| 
 | |
| Below is very simple EIGRP configuration.  Interface @code{eth0} and
 | |
| interface which address match to @code{10.0.0.0/8} are EIGRP enabled.
 | |
| 
 | |
| @example
 | |
| @group
 | |
| !
 | |
| router eigrp 1
 | |
|  network 10.0.0.0/8
 | |
| !
 | |
| @end group
 | |
| @end example
 | |
| 
 | |
| Passive interface
 | |
| 
 | |
| @deffn {EIGRP command} {passive-interface (@var{IFNAME}|default)} {}
 | |
| @deffnx {EIGRP command} {no passive-interface @var{IFNAME}} {}
 | |
| This command sets the specified interface to passive mode.  On passive mode
 | |
| interface, all receiving packets are ignored and eigrpd does
 | |
| not send either multicast or unicast EIGRP packets except to EIGRP neighbors
 | |
| specified with @code{neighbor} command. The interface may be specified
 | |
| as @var{default} to make eigrpd default to passive on all interfaces. 
 | |
| 
 | |
| The default is to be passive on all interfaces.
 | |
| @end deffn
 | |
| 
 | |
| @node How to Announce EIGRP route
 | |
| @section How to Announce EIGRP route
 | |
| 
 | |
| @deffn {EIGRP command} {redistribute kernel} {}
 | |
| @deffnx {EIGRP command} {redistribute kernel metric (1-4294967295) (0-4294967295) (0-255) (1-255) (1-65535)} {}
 | |
| @deffnx {EIGRP command} {no redistribute kernel} {}
 | |
| @code{redistribute kernel} redistributes routing information from
 | |
| kernel route entries into the EIGRP tables. @code{no redistribute kernel}
 | |
| disables the routes.
 | |
| @end deffn
 | |
| 
 | |
| @deffn {EIGRP command} {redistribute static} {}
 | |
| @deffnx {EIGRP command} {redistribute static metric (1-4294967295) (0-4294967295) (0-255) (1-255) (1-65535)} {}
 | |
| @deffnx {EIGRP command} {no redistribute static} {}
 | |
| @code{redistribute static} redistributes routing information from
 | |
| static route entries into the EIGRP tables. @code{no redistribute static}
 | |
| disables the routes.
 | |
| @end deffn
 | |
| 
 | |
| @deffn {EIGRP command} {redistribute connected} {}
 | |
| @deffnx {EIGRP command} {redistribute connected metric (1-4294967295) (0-4294967295) (0-255) (1-255) (1-65535)} {}
 | |
| @deffnx {EIGRP command} {no redistribute connected} {}
 | |
| Redistribute connected routes into the EIGRP tables.  @code{no
 | |
| redistribute connected} disables the connected routes in the EIGRP tables.
 | |
| This command redistribute connected of the interface which EIGRP disabled.
 | |
| The connected route on EIGRP enabled interface is announced by default.
 | |
| @end deffn
 | |
| 
 | |
| @deffn {EIGRP command} {redistribute ospf} {}
 | |
| @deffnx {EIGRP command} {redistribute ospf metric (1-4294967295) (0-4294967295) (0-255) (1-255) (1-65535)} {}
 | |
| @deffnx {EIGRP command} {no redistribute ospf} {}
 | |
| @code{redistribute ospf} redistributes routing information from
 | |
| ospf route entries into the EIGRP tables. @code{no redistribute ospf}
 | |
| disables the routes.
 | |
| @end deffn
 | |
| 
 | |
| @deffn {EIGRP command} {redistribute bgp} {}
 | |
| @deffnx {EIGRP command} {redistribute bgp metric  (1-4294967295) (0-4294967295) (0-255) (1-255) (1-65535)} {}
 | |
| @deffnx {EIGRP command} {no redistribute bgp} {}
 | |
| @code{redistribute bgp} redistributes routing information from
 | |
| bgp route entries into the EIGRP tables. @code{no redistribute bgp}
 | |
| disables the routes.
 | |
| @end deffn
 | |
| 
 | |
| @node Show EIGRP Information
 | |
| @section Show EIGRP Information
 | |
| 
 | |
| To display EIGRP routes.
 | |
| 
 | |
| @deffn Command {show ip eigrp topology} {}
 | |
| Show EIGRP routes.
 | |
| @end deffn
 | |
| 
 | |
| The command displays all EIGRP routes.
 | |
| 
 | |
| @c Exmaple here.
 | |
| 
 | |
| @deffn Command {show ip eigrp topology} {}
 | |
| The command displays current EIGRP status
 | |
| @end deffn
 | |
| 
 | |
| @example
 | |
| @group
 | |
| eigrpd> @b{show ip eigrp topology}
 | |
| # show ip eigrp topo
 | |
| 
 | |
| EIGRP Topology Table for AS(4)/ID(0.0.0.0)
 | |
| 
 | |
| Codes: P - Passive, A - Active, U - Update, Q - Query, R - Reply
 | |
|        r - reply Status, s - sia Status
 | |
| 
 | |
| P  10.0.2.0/24, 1 successors, FD is 256256, serno: 0 
 | |
|        via Connected, enp0s3
 | |
| @end group
 | |
| @end example
 | |
| 
 | |
| @node EIGRP Debug Commands
 | |
| @section EIGRP Debug Commands
 | |
| 
 | |
| Debug for EIGRP protocol.
 | |
| 
 | |
| @deffn Command {debug eigrp packets} {}
 | |
| Debug eigrp packets
 | |
| @end deffn
 | |
| 
 | |
| @code{debug eigrp} will show EIGRP packets that are sent and recevied.
 | |
| 
 | |
| @deffn Command {debug eigrp transmit} {}
 | |
| Debug eigrp transmit events
 | |
| @end deffn
 | |
| 
 | |
| @code{debug eigrp transmit} will display detailed information about the EIGRP transmit events.
 | |
| 
 | |
| @deffn Command {show debugging eigrp} {}
 | |
| Display @command{eigrpd}'s debugging option.
 | |
| @end deffn
 | |
| 
 | |
| @code{show debugging eigrp} will show all information currently set for eigrpd
 | |
| debug.
 |