]> git.proxmox.com Git - mirror_frr.git/blob - doc/user/eigrpd.rst
Merge pull request #2036 from LabNConsulting/working/master/bgp-vpn-leak-labelmgr
[mirror_frr.git] / doc / user / eigrpd.rst
1 .. _eigrp:
2
3 *****
4 EIGRP
5 *****
6
7 .. glossary::
8
9 DUAL
10 The *Diffusing Update ALgorithm*, a :term:`Bellman-Ford` based routing
11 algorithm used by EIGRP.
12
13 EIGRP -- Routing Information Protocol is widely deployed interior gateway
14 routing protocol. EIGRP was developed in the 1990's. EIGRP is a
15 :term:`distance-vector` protocol and is based on the :term:`DUAL` algorithms.
16 As a distance-vector protocol, the EIGRP router send updates to its
17 neighbors as networks change, thus allowing the convergence to a
18 known topology.
19
20 *eigrpd* supports EIGRP as described in RFC7868
21
22 .. _starting-and-stopping-eigrpd:
23
24 Starting and Stopping eigrpd
25 ============================
26
27 The default configuration file name of *eigrpd*'s is :file:`eigrpd.conf`. When
28 invocation *eigrpd* searches directory |INSTALL_PREFIX_ETC|. If
29 :file:`eigrpd.conf` is not there next search current directory. If an
30 integrated config is specified configuration is written into :file:`frr.conf`.
31
32 The EIGRP protocol requires interface information maintained by *zebra* daemon.
33 So running *zebra* is mandatory to run *eigrpd*. Thus minimum sequence for
34 running EIGRP is:
35
36 ::
37
38 # zebra -d
39 # eigrpd -d
40
41
42 Please note that *zebra* must be invoked before *eigrpd*.
43
44 To stop *eigrpd*, please use ::
45 kill `cat /var/run/eigrpd.pid`
46
47 Certain signals have special meanings to *eigrpd*.
48
49 +------------------+-----------------------------------------------------------+
50 | Signal | Meaning |
51 +==================+===========================================================+
52 | SIGHUP & SIGUSR1 | Rotate the log file |
53 +------------------+-----------------------------------------------------------+
54 | SIGINT & SIGTERM | Sweep all installed EIGRP routes and gracefully terminate |
55 +------------------+-----------------------------------------------------------+
56
57
58 *eigrpd* invocation options. Common options that can be specified
59 (:ref:`common-invocation-options`).
60
61 .. program:: eigrpd
62
63 .. option:: -r, --retain
64
65 When the program terminates, retain routes added by *eigrpd*.
66
67 .. _eigrp-configuration:
68
69 EIGRP Configuration
70 ===================
71
72 .. index:: router eigrp (1-65535)
73 .. clicmd:: router eigrp (1-65535)
74
75 The `router eigrp` command is necessary to enable EIGRP. To disable EIGRP,
76 use the `no router eigrp (1-65535)` command. EIGRP must be enabled before
77 carrying out any of the EIGRP commands.
78
79 .. index:: no router eigrp (1-65535)
80 .. clicmd:: no router eigrp (1-65535)
81
82 Disable EIGRP.
83
84 .. index:: network NETWORK
85 .. clicmd:: network NETWORK
86
87 .. index:: no network NETWORK
88 .. clicmd:: no network NETWORK
89
90 Set the EIGRP enable interface by `network`. The interfaces which
91 have addresses matching with `network` are enabled.
92
93 This group of commands either enables or disables EIGRP interfaces between
94 certain numbers of a specified network address. For example, if the
95 network for 10.0.0.0/24 is EIGRP enabled, this would result in all the
96 addresses from 10.0.0.0 to 10.0.0.255 being enabled for EIGRP. The `no
97 network` command will disable EIGRP for the specified network.
98
99 Below is very simple EIGRP configuration. Interface `eth0` and
100 interface which address match to `10.0.0.0/8` are EIGRP enabled.
101
102 .. code-block:: frr
103
104 !
105 router eigrp 1
106 network 10.0.0.0/8
107 !
108
109
110 .. index:: passive-interface (IFNAME|default)
111 .. clicmd:: passive-interface (IFNAME|default)
112
113 .. index:: no passive-interface IFNAME
114 .. clicmd:: no passive-interface IFNAME
115
116 This command sets the specified interface to passive mode. On passive mode
117 interface, all receiving packets are ignored and eigrpd does not send either
118 multicast or unicast EIGRP packets except to EIGRP neighbors specified with
119 `neighbor` command. The interface may be specified as `default` to make
120 eigrpd default to passive on all interfaces.
121
122 The default is to be passive on all interfaces.
123
124 .. _how-to-announce-eigrp-route:
125
126 How to Announce EIGRP route
127 ===========================
128
129 .. index:: redistribute kernel
130 .. clicmd:: redistribute kernel
131
132 .. index:: redistribute kernel metric (1-4294967295) (0-4294967295) (0-255) (1-255) (1-65535)
133 .. clicmd:: redistribute kernel metric (1-4294967295) (0-4294967295) (0-255) (1-255) (1-65535)
134
135 .. index:: no redistribute kernel
136 .. clicmd:: no redistribute kernel
137
138 `redistribute kernel` redistributes routing information from kernel route
139 entries into the EIGRP tables. `no redistribute kernel` disables the routes.
140
141 .. index:: redistribute static
142 .. clicmd:: redistribute static
143
144 .. index:: redistribute static metric (1-4294967295) (0-4294967295) (0-255) (1-255) (1-65535)
145 .. clicmd:: redistribute static metric (1-4294967295) (0-4294967295) (0-255) (1-255) (1-65535)
146
147 .. index:: no redistribute static
148 .. clicmd:: no redistribute static
149
150 `redistribute static` redistributes routing information from static route
151 entries into the EIGRP tables. `no redistribute static` disables the routes.
152
153 .. index:: redistribute connected
154 .. clicmd:: redistribute connected
155
156 .. index:: redistribute connected metric (1-4294967295) (0-4294967295) (0-255) (1-255) (1-65535)
157 .. clicmd:: redistribute connected metric (1-4294967295) (0-4294967295) (0-255) (1-255) (1-65535)
158
159 .. index:: no redistribute connected
160 .. clicmd:: no redistribute connected
161
162 Redistribute connected routes into the EIGRP tables. `no redistribute
163 connected` disables the connected routes in the EIGRP tables. This command
164 redistribute connected of the interface which EIGRP disabled. The connected
165 route on EIGRP enabled interface is announced by default.
166
167 .. index:: redistribute ospf
168 .. clicmd:: redistribute ospf
169
170 .. index:: redistribute ospf metric (1-4294967295) (0-4294967295) (0-255) (1-255) (1-65535)
171 .. clicmd:: redistribute ospf metric (1-4294967295) (0-4294967295) (0-255) (1-255) (1-65535)
172
173 .. index:: no redistribute ospf
174 .. clicmd:: no redistribute ospf
175
176 `redistribute ospf` redistributes routing information from ospf route
177 entries into the EIGRP tables. `no redistribute ospf` disables the routes.
178
179 .. index:: redistribute bgp
180 .. clicmd:: redistribute bgp
181
182 .. index:: redistribute bgp metric (1-4294967295) (0-4294967295) (0-255) (1-255) (1-65535)
183 .. clicmd:: redistribute bgp metric (1-4294967295) (0-4294967295) (0-255) (1-255) (1-65535)
184
185 .. index:: no redistribute bgp
186 .. clicmd:: no redistribute bgp
187
188 `redistribute bgp` redistributes routing information from bgp route entries
189 into the EIGRP tables. `no redistribute bgp` disables the routes.
190
191 .. _show-eigrp-information:
192
193 Show EIGRP Information
194 ======================
195
196 .. index:: show ip eigrp topology
197 .. clicmd:: show ip eigrp topology
198
199 Display current EIGRP status.
200
201 ::
202
203 eigrpd> **show ip eigrp topology**
204 # show ip eigrp topo
205
206 EIGRP Topology Table for AS(4)/ID(0.0.0.0)
207
208 Codes: P - Passive, A - Active, U - Update, Q - Query, R - Reply
209 r - reply Status, s - sia Status
210
211 P 10.0.2.0/24, 1 successors, FD is 256256, serno: 0
212 via Connected, enp0s3
213
214
215 EIGRP Debug Commands
216 ====================
217
218 Debug for EIGRP protocol.
219
220 .. index:: debug eigrp packets
221 .. clicmd:: debug eigrp packets
222
223 Debug eigrp packets
224
225 ``debug eigrp`` will show EIGRP packets that are sent and recevied.
226
227 .. index:: debug eigrp transmit
228 .. clicmd:: debug eigrp transmit
229
230 Debug eigrp transmit events
231
232 ``debug eigrp transmit`` will display detailed information about the EIGRP
233 transmit events.
234
235 .. index:: show debugging eigrp
236 .. clicmd:: show debugging eigrp
237
238 Display *eigrpd*'s debugging option.
239
240 ``show debugging eigrp`` will show all information currently set for eigrpd
241 debug.
242