]> git.proxmox.com Git - mirror_frr.git/blame - doc/user/ripd.rst
doc: spelling fixes
[mirror_frr.git] / doc / user / ripd.rst
CommitLineData
0efdf0fe 1.. _rip:
42fc5d26
QY
2
3***
4RIP
5***
6
7RIP -- Routing Information Protocol is widely deployed interior gateway
c1a54c05
QY
8protocol. RIP was developed in the 1970s at Xerox Labs as part of the
9XNS routing protocol. RIP is a :term:`distance-vector` protocol and is
10based on the :term:`Bellman-Ford` algorithms. As a distance-vector
42fc5d26 11protocol, RIP router send updates to its neighbors periodically, thus
c1a54c05 12allowing the convergence to a known topology. In each update, the
d1e7591e 13distance to any given network will be broadcast to its neighboring
42fc5d26
QY
14router.
15
16*ripd* supports RIP version 2 as described in RFC2453 and RIP
17version 1 as described in RFC1058.
18
0efdf0fe 19.. _starting-and-stopping-ripd:
42fc5d26
QY
20
21Starting and Stopping ripd
22==========================
23
c1a54c05
QY
24The default configuration file name of *ripd*'s is :file:`ripd.conf`. When
25invocation *ripd* searches directory |INSTALL_PREFIX_ETC|. If :file:`ripd.conf`
26is not there next search current directory.
42fc5d26 27
c1a54c05
QY
28RIP uses UDP port 520 to send and receive RIP packets. So the user must have
29the capability to bind the port, generally this means that the user must have
30superuser privileges. RIP protocol requires interface information maintained by
31*zebra* daemon. So running *zebra* is mandatory to run *ripd*. Thus minimum
32sequence for running RIP is like below:
42fc5d26
QY
33
34::
35
42fc5d26
QY
36 # zebra -d
37 # ripd -d
a8c90e15 38
42fc5d26
QY
39
40Please note that *zebra* must be invoked before *ripd*.
41
c1a54c05
QY
42To stop *ripd*. Please use::
43 kill `cat /var/run/ripd.pid`
44
d1e7591e 45Certain signals have special meanings to *ripd*.
42fc5d26 46
07a17e6d
QY
47 +-------------+------------------------------------------------------+
48 | Signal | Action |
49 +=============+======================================================+
50 | ``SIGHUP`` | Reload configuration file :file:`ripd.conf`. |
51 | | All configurations are reset. All routes learned |
52 | | so far are cleared and removed from routing table. |
53 +-------------+------------------------------------------------------+
54 | ``SIGUSR1`` | Rotate the *ripd* logfile. |
55 +-------------+------------------------------------------------------+
56 | ``SIGINT`` | |
57 | ``SIGTERM`` | Sweep all installed routes and gracefully terminate. |
58 +-------------+------------------------------------------------------+
42fc5d26 59
c1a54c05 60*ripd* invocation options. Common options that can be specified
0efdf0fe 61(:ref:`common-invocation-options`).
42fc5d26 62
c9365894 63.. option:: -r, --retain
42fc5d26 64
07a17e6d 65 When the program terminates, retain routes added by *ripd*.
42fc5d26 66
0efdf0fe 67.. _rip-netmask:
42fc5d26
QY
68
69RIP netmask
70-----------
71
c1a54c05
QY
72The netmask features of *ripd* support both version 1 and version 2 of RIP.
73Version 1 of RIP originally contained no netmask information. In RIP version 1,
74network classes were originally used to determine the size of the netmask.
75Class A networks use 8 bits of mask, Class B networks use 16 bits of masks,
76while Class C networks use 24 bits of mask. Today, the most widely used method
77of a network mask is assigned to the packet on the basis of the interface that
78received the packet. Version 2 of RIP supports a variable length subnet mask
79(VLSM). By extending the subnet mask, the mask can be divided and reused. Each
80subnet can be used for different purposes such as large to middle size LANs and
81WAN links. FRR *ripd* does not support the non-sequential netmasks that are
82included in RIP Version 2.
83
84In a case of similar information with the same prefix and metric, the old
85information will be suppressed. Ripd does not currently support equal cost
86multipath routing.
42fc5d26 87
0efdf0fe 88.. _rip-configuration:
42fc5d26
QY
89
90RIP Configuration
91=================
92
c1a54c05
QY
93.. index:: router rip
94.. clicmd:: router rip
42fc5d26 95
c1a54c05
QY
96 The `router rip` command is necessary to enable RIP. To disable RIP, use the
97 `no router rip` command. RIP must be enabled before carrying out any of the
98 RIP commands.
42fc5d26 99
c1a54c05
QY
100.. index:: no router rip
101.. clicmd:: no router rip
42fc5d26 102
c1a54c05 103 Disable RIP.
42fc5d26 104
c1a54c05
QY
105.. index:: network NETWORK
106.. clicmd:: network NETWORK
42fc5d26 107
c1a54c05
QY
108.. index:: no network NETWORK
109.. clicmd:: no network NETWORK
42fc5d26 110
c1a54c05
QY
111 Set the RIP enable interface by NETWORK. The interfaces which have addresses
112 matching with NETWORK are enabled.
42fc5d26 113
c1a54c05
QY
114 This group of commands either enables or disables RIP interfaces between
115 certain numbers of a specified network address. For example, if the network
116 for 10.0.0.0/24 is RIP enabled, this would result in all the addresses from
117 10.0.0.0 to 10.0.0.255 being enabled for RIP. The `no network` command will
118 disable RIP for the specified network.
42fc5d26 119
c1a54c05
QY
120.. index:: network IFNAME
121.. clicmd:: network IFNAME
42fc5d26 122
c1a54c05
QY
123.. index:: no network IFNAME
124.. clicmd:: no network IFNAME
42fc5d26 125
c1a54c05
QY
126 Set a RIP enabled interface by IFNAME. Both the sending and
127 receiving of RIP packets will be enabled on the port specified in the
128 `network ifname` command. The `no network ifname` command will disable
129 RIP on the specified interface.
42fc5d26 130
c1a54c05
QY
131.. index:: neighbor A.B.C.D
132.. clicmd:: neighbor A.B.C.D
42fc5d26 133
c1a54c05
QY
134.. index:: no neighbor A.B.C.D
135.. clicmd:: no neighbor A.B.C.D
42fc5d26 136
c1a54c05
QY
137 Specify RIP neighbor. When a neighbor doesn't understand multicast, this
138 command is used to specify neighbors. In some cases, not all routers will be
139 able to understand multicasting, where packets are sent to a network or a
140 group of addresses. In a situation where a neighbor cannot process multicast
141 packets, it is necessary to establish a direct link between routers. The
142 neighbor command allows the network administrator to specify a router as a
143 RIP neighbor. The `no neighbor a.b.c.d` command will disable the RIP
144 neighbor.
42fc5d26 145
c1a54c05
QY
146 Below is very simple RIP configuration. Interface `eth0` and interface which
147 address match to `10.0.0.0/8` are RIP enabled.
a8c90e15 148
9eb95b3b 149 .. code-block:: frr
42fc5d26 150
c1a54c05
QY
151 !
152 router rip
153 network 10.0.0.0/8
154 network eth0
155 !
42fc5d26 156
42fc5d26 157
c1a54c05
QY
158.. index:: passive-interface (IFNAME|default)
159.. clicmd:: passive-interface (IFNAME|default)
42fc5d26 160
c1a54c05
QY
161.. index:: no passive-interface IFNAME
162.. clicmd:: no passive-interface IFNAME
42fc5d26 163
c1a54c05
QY
164 This command sets the specified interface to passive mode. On passive mode
165 interface, all receiving packets are processed as normal and ripd does not
166 send either multicast or unicast RIP packets except to RIP neighbors
167 specified with `neighbor` command. The interface may be specified as
168 `default` to make ripd default to passive on all interfaces.
42fc5d26 169
c1a54c05 170 The default is to be passive on all interfaces.
42fc5d26 171
c1a54c05
QY
172.. index:: ip split-horizon
173.. clicmd:: ip split-horizon
42fc5d26 174
c1a54c05
QY
175.. index:: no ip split-horizon
176.. clicmd:: no ip split-horizon
42fc5d26 177
c1a54c05
QY
178 Control split-horizon on the interface. Default is `ip split-horizon`. If
179 you don't perform split-horizon on the interface, please specify `no ip
180 split-horizon`.
42fc5d26 181
0efdf0fe 182.. _rip-version-control:
42fc5d26
QY
183
184RIP Version Control
185===================
186
c1a54c05
QY
187RIP can be configured to send either Version 1 or Version 2 packets. The
188default is to send RIPv2 while accepting both RIPv1 and RIPv2 (and replying
189with packets of the appropriate version for REQUESTS / triggered updates). The
d1e7591e
QY
190version to receive and send can be specified globally, and further overridden on
191a per-interface basis if needs be for send and receive separately (see below).
42fc5d26 192
c1a54c05
QY
193It is important to note that RIPv1 cannot be authenticated. Further, if RIPv1
194is enabled then RIP will reply to REQUEST packets, sending the state of its RIP
195routing table to any remote routers that ask on demand. For a more detailed
0efdf0fe 196discussion on the security implications of RIPv1 see :ref:`rip-authentication`.
42fc5d26 197
c1a54c05
QY
198.. index:: version VERSION
199.. clicmd:: version VERSION
42fc5d26 200
c1a54c05
QY
201 Set RIP version to accept for reads and send. ``VERSION`` can be either 1 or
202 1.
42fc5d26 203
c1a54c05 204 Disabling RIPv1 by specifying version 2 is STRONGLY encouraged,
0efdf0fe 205 :ref:`rip-authentication`. This may become the default in a future release.
42fc5d26 206
c1a54c05 207 Default: Send Version 2, and accept either version.
42fc5d26 208
c1a54c05
QY
209.. index:: no version
210.. clicmd:: no version
42fc5d26 211
c1a54c05 212 Reset the global version setting back to the default.
42fc5d26 213
c1a54c05
QY
214.. index:: ip rip send version VERSION
215.. clicmd:: ip rip send version VERSION
42fc5d26 216
c1a54c05 217 VERSION can be ``1``, ``2``, or ``1 2``.
42fc5d26 218
c1a54c05
QY
219 This interface command overrides the global rip version setting, and selects
220 which version of RIP to send packets with, for this interface specifically.
221 Choice of RIP Version 1, RIP Version 2, or both versions. In the latter
222 case, where ``1 2`` is specified, packets will be both broadcast and
223 multicast.
42fc5d26 224
c1a54c05 225 Default: Send packets according to the global version (version 2)
42fc5d26 226
c1a54c05
QY
227.. index:: ip rip receive version VERSION
228.. clicmd:: ip rip receive version VERSION
42fc5d26 229
c1a54c05 230 VERSION can be ``1``, ``2``, or ``1 2``.
42fc5d26 231
c1a54c05
QY
232 This interface command overrides the global rip version setting, and selects
233 which versions of RIP packets will be accepted on this interface. Choice of
234 RIP Version 1, RIP Version 2, or both.
42fc5d26 235
c1a54c05 236 Default: Accept packets according to the global setting (both 1 and 2).
42fc5d26 237
0efdf0fe 238.. _how-to-announce-rip-route:
42fc5d26
QY
239
240How to Announce RIP route
241=========================
242
c1a54c05
QY
243.. index:: redistribute kernel
244.. clicmd:: redistribute kernel
42fc5d26 245
c1a54c05
QY
246.. index:: redistribute kernel metric (0-16)
247.. clicmd:: redistribute kernel metric (0-16)
42fc5d26 248
c1a54c05
QY
249.. index:: redistribute kernel route-map ROUTE-MAP
250.. clicmd:: redistribute kernel route-map ROUTE-MAP
42fc5d26 251
c1a54c05
QY
252.. index:: no redistribute kernel
253.. clicmd:: no redistribute kernel
42fc5d26 254
c1a54c05
QY
255 `redistribute kernel` redistributes routing information from kernel route
256 entries into the RIP tables. `no redistribute kernel` disables the routes.
42fc5d26 257
c1a54c05
QY
258.. index:: redistribute static
259.. clicmd:: redistribute static
42fc5d26 260
c1a54c05
QY
261.. index:: redistribute static metric (0-16)
262.. clicmd:: redistribute static metric (0-16)
42fc5d26 263
c1a54c05
QY
264.. index:: redistribute static route-map ROUTE-MAP
265.. clicmd:: redistribute static route-map ROUTE-MAP
42fc5d26 266
c1a54c05
QY
267.. index:: no redistribute static
268.. clicmd:: no redistribute static
42fc5d26 269
c1a54c05
QY
270 `redistribute static` redistributes routing information from static route
271 entries into the RIP tables. `no redistribute static` disables the routes.
42fc5d26 272
c1a54c05
QY
273.. index:: redistribute connected
274.. clicmd:: redistribute connected
42fc5d26 275
c1a54c05
QY
276.. index:: redistribute connected metric (0-16)
277.. clicmd:: redistribute connected metric (0-16)
42fc5d26 278
c1a54c05
QY
279.. index:: redistribute connected route-map ROUTE-MAP
280.. clicmd:: redistribute connected route-map ROUTE-MAP
42fc5d26 281
c1a54c05
QY
282.. index:: no redistribute connected
283.. clicmd:: no redistribute connected
42fc5d26 284
c1a54c05
QY
285 Redistribute connected routes into the RIP tables. `no redistribute
286 connected` disables the connected routes in the RIP tables. This command
287 redistribute connected of the interface which RIP disabled. The connected
288 route on RIP enabled interface is announced by default.
42fc5d26 289
c1a54c05
QY
290.. index:: redistribute ospf
291.. clicmd:: redistribute ospf
42fc5d26 292
c1a54c05
QY
293.. index:: redistribute ospf metric (0-16)
294.. clicmd:: redistribute ospf metric (0-16)
42fc5d26 295
c1a54c05
QY
296.. index:: redistribute ospf route-map ROUTE-MAP
297.. clicmd:: redistribute ospf route-map ROUTE-MAP
42fc5d26 298
c1a54c05
QY
299.. index:: no redistribute ospf
300.. clicmd:: no redistribute ospf
42fc5d26 301
c1a54c05
QY
302 `redistribute ospf` redistributes routing information from ospf route
303 entries into the RIP tables. `no redistribute ospf` disables the routes.
42fc5d26 304
c1a54c05
QY
305.. index:: redistribute bgp
306.. clicmd:: redistribute bgp
42fc5d26 307
c1a54c05
QY
308.. index:: redistribute bgp metric (0-16)
309.. clicmd:: redistribute bgp metric (0-16)
42fc5d26 310
c1a54c05
QY
311.. index:: redistribute bgp route-map ROUTE-MAP
312.. clicmd:: redistribute bgp route-map ROUTE-MAP
42fc5d26 313
c1a54c05
QY
314.. index:: no redistribute bgp
315.. clicmd:: no redistribute bgp
42fc5d26 316
c1a54c05
QY
317 `redistribute bgp` redistributes routing information from bgp route entries
318 into the RIP tables. `no redistribute bgp` disables the routes.
42fc5d26 319
c1a54c05 320 If you want to specify RIP only static routes:
42fc5d26 321
c1a54c05
QY
322.. index:: default-information originate
323.. clicmd:: default-information originate
42fc5d26 324
c1a54c05
QY
325.. index:: route A.B.C.D/M
326.. clicmd:: route A.B.C.D/M
42fc5d26 327
c1a54c05
QY
328.. index:: no route A.B.C.D/M
329.. clicmd:: no route A.B.C.D/M
42fc5d26 330
c1a54c05
QY
331 This command is specific to FRR. The `route` command makes a static route
332 only inside RIP. This command should be used only by advanced users who are
333 particularly knowledgeable about the RIP protocol. In most cases, we
334 recommend creating a static route in FRR and redistributing it in RIP using
335 `redistribute static`.
42fc5d26 336
0efdf0fe 337.. _filtering-rip-routes:
42fc5d26
QY
338
339Filtering RIP Routes
340====================
341
342RIP routes can be filtered by a distribute-list.
343
c1a54c05
QY
344.. index:: distribute-list ACCESS_LIST DIRECT IFNAME
345.. clicmd:: distribute-list ACCESS_LIST DIRECT IFNAME
42fc5d26 346
c1a54c05
QY
347 You can apply access lists to the interface with a `distribute-list` command.
348 ACCESS_LIST is the access list name. DIRECT is ``in`` or ``out``. If DIRECT
349 is ``in`` the access list is applied to input packets.
42fc5d26 350
c1a54c05
QY
351 The `distribute-list` command can be used to filter the RIP path.
352 `distribute-list` can apply access-lists to a chosen interface. First, one
353 should specify the access-list. Next, the name of the access-list is used in
354 the distribute-list command. For example, in the following configuration
355 ``eth0`` will permit only the paths that match the route 10.0.0.0/8
42fc5d26 356
9eb95b3b 357 .. code-block:: frr
42fc5d26 358
c1a54c05
QY
359 !
360 router rip
361 distribute-list private in eth0
362 !
363 access-list private permit 10 10.0.0.0/8
364 access-list private deny any
365 !
a8c90e15 366
42fc5d26 367
c1a54c05 368 `distribute-list` can be applied to both incoming and outgoing data.
42fc5d26 369
c1a54c05
QY
370.. index:: distribute-list prefix PREFIX_LIST (in|out) IFNAME
371.. clicmd:: distribute-list prefix PREFIX_LIST (in|out) IFNAME
42fc5d26 372
c1a54c05
QY
373 You can apply prefix lists to the interface with a `distribute-list`
374 command. PREFIX_LIST is the prefix list name. Next is the direction of
375 ``in`` or ``out``. If DIRECT is ``in`` the access list is applied to input
376 packets.
42fc5d26 377
0efdf0fe 378.. _rip-metric-manipulation:
42fc5d26
QY
379
380RIP Metric Manipulation
381=======================
382
c1a54c05 383RIP metric is a value for distance for the network. Usually
42fc5d26 384*ripd* increment the metric when the network information is
c1a54c05 385received. Redistributed routes' metric is set to 1.
42fc5d26 386
c1a54c05
QY
387.. index:: default-metric (1-16)
388.. clicmd:: default-metric (1-16)
42fc5d26 389
c1a54c05
QY
390.. index:: no default-metric (1-16)
391.. clicmd:: no default-metric (1-16)
42fc5d26 392
c1a54c05
QY
393 This command modifies the default metric value for redistributed routes.
394 The default value is 1. This command does not affect connected route even if
395 it is redistributed by *redistribute connected*. To modify connected route's
396 metric value, please use ``redistribute connected metric`` or *route-map*.
397 *offset-list* also affects connected routes.
42fc5d26 398
c1a54c05
QY
399.. index:: offset-list ACCESS-LIST (in|out)
400.. clicmd:: offset-list ACCESS-LIST (in|out)
42fc5d26 401
c1a54c05
QY
402.. index:: offset-list ACCESS-LIST (in|out) IFNAME
403.. clicmd:: offset-list ACCESS-LIST (in|out) IFNAME
42fc5d26 404
42fc5d26 405
0efdf0fe 406.. _rip-distance:
42fc5d26
QY
407
408RIP distance
409============
410
c1a54c05 411Distance value is used in zebra daemon. Default RIP distance is 120.
42fc5d26 412
c1a54c05
QY
413.. index:: distance (1-255)
414.. clicmd:: distance (1-255)
42fc5d26 415
c1a54c05
QY
416.. index:: no distance (1-255)
417.. clicmd:: no distance (1-255)
42fc5d26 418
c1a54c05 419 Set default RIP distance to specified value.
42fc5d26 420
c1a54c05
QY
421.. index:: distance (1-255) A.B.C.D/M
422.. clicmd:: distance (1-255) A.B.C.D/M
42fc5d26 423
c1a54c05
QY
424.. index:: no distance (1-255) A.B.C.D/M
425.. clicmd:: no distance (1-255) A.B.C.D/M
42fc5d26 426
c1a54c05
QY
427 Set default RIP distance to specified value when the route's source IP
428 address matches the specified prefix.
42fc5d26 429
c1a54c05
QY
430.. index:: distance (1-255) A.B.C.D/M ACCESS-LIST
431.. clicmd:: distance (1-255) A.B.C.D/M ACCESS-LIST
42fc5d26 432
c1a54c05
QY
433.. index:: no distance (1-255) A.B.C.D/M ACCESS-LIST
434.. clicmd:: no distance (1-255) A.B.C.D/M ACCESS-LIST
42fc5d26 435
c1a54c05
QY
436 Set default RIP distance to specified value when the route's source IP
437 address matches the specified prefix and the specified access-list.
42fc5d26 438
11ab5329 439.. _rip-route-map:
42fc5d26
QY
440
441RIP route-map
442=============
443
444Usage of *ripd*'s route-map support.
445
446Optional argument route-map MAP_NAME can be added to each `redistribute`
447statement.
448
9eb95b3b 449.. code-block:: frr
42fc5d26 450
9eb95b3b
QY
451 redistribute static [route-map MAP_NAME]
452 redistribute connected [route-map MAP_NAME]
453 .....
42fc5d26 454
a8c90e15 455
c1a54c05
QY
456Cisco applies route-map _before_ routes will exported to rip route table. In
457current FRR's test implementation, *ripd* applies route-map after routes are
458listed in the route table and before routes will be announced to an interface
459(something like output filter). I think it is not so clear, but it is draft and
460it may be changed at future.
42fc5d26 461
0efdf0fe 462Route-map statement (:ref:`route-map`) is needed to use route-map
42fc5d26
QY
463functionality.
464
c1a54c05
QY
465.. index:: match interface WORD
466.. clicmd:: match interface WORD
42fc5d26 467
c1a54c05
QY
468 This command match to incoming interface. Notation of this match is
469 different from Cisco. Cisco uses a list of interfaces - NAME1 NAME2 ...
470 NAMEN. Ripd allows only one name (maybe will change in the future). Next -
471 Cisco means interface which includes next-hop of routes (it is somewhat
472 similar to "ip next-hop" statement). Ripd means interface where this route
473 will be sent. This difference is because "next-hop" of same routes which
474 sends to different interfaces must be different. Maybe it'd be better to
475 made new matches - say "match interface-out NAME" or something like that.
42fc5d26 476
c1a54c05
QY
477.. index:: match ip address WORD
478.. clicmd:: match ip address WORD
42fc5d26 479
c1a54c05
QY
480.. index:: match ip address prefix-list WORD
481.. clicmd:: match ip address prefix-list WORD
42fc5d26 482
c1a54c05 483 Match if route destination is permitted by access-list.
42fc5d26 484
c1a54c05
QY
485.. index:: match ip next-hop WORD
486.. clicmd:: match ip next-hop WORD
42fc5d26 487
c1a54c05
QY
488.. index:: match ip next-hop prefix-list WORD
489.. clicmd:: match ip next-hop prefix-list WORD
42fc5d26 490
c1a54c05
QY
491 Match if route next-hop (meaning next-hop listed in the rip route-table as
492 displayed by "show ip rip") is permitted by access-list.
42fc5d26 493
c1a54c05
QY
494.. index:: match metric (0-4294967295)
495.. clicmd:: match metric (0-4294967295)
42fc5d26 496
c1a54c05
QY
497 This command match to the metric value of RIP updates. For other protocol
498 compatibility metric range is shown as (0-4294967295). But for RIP protocol
499 only the value range (0-16) make sense.
42fc5d26 500
c1a54c05
QY
501.. index:: set ip next-hop A.B.C.D
502.. clicmd:: set ip next-hop A.B.C.D
42fc5d26 503
c1a54c05
QY
504 This command set next hop value in RIPv2 protocol. This command does not
505 affect RIPv1 because there is no next hop field in the packet.
42fc5d26 506
c1a54c05
QY
507.. index:: set metric (0-4294967295)
508.. clicmd:: set metric (0-4294967295)
42fc5d26 509
c1a54c05
QY
510 Set a metric for matched route when sending announcement. The metric value
511 range is very large for compatibility with other protocols. For RIP, valid
512 metric values are from 1 to 16.
42fc5d26 513
0efdf0fe 514.. _rip-authentication:
42fc5d26
QY
515
516RIP Authentication
517==================
518
519RIPv2 allows packets to be authenticated via either an insecure plain
520text password, included with the packet, or via a more secure MD5 based
d50b2aa0 521:abbr:`HMAC (keyed-Hashing for Message AuthentiCation)`,
42fc5d26
QY
522RIPv1 can not be authenticated at all, thus when authentication is
523configured `ripd` will discard routing updates received via RIPv1
524packets.
525
a8c90e15 526However, unless RIPv1 reception is disabled entirely,
0efdf0fe 527:ref:`rip-version-control`, RIPv1 REQUEST packets which are received,
42fc5d26 528which query the router for routing information, will still be honoured
a8c90e15 529by `ripd`, and `ripd` WILL reply to such packets. This allows
42fc5d26
QY
530`ripd` to honour such REQUESTs (which sometimes is used by old
531equipment and very simple devices to bootstrap their default route),
532while still providing security for route updates which are received.
533
534In short: Enabling authentication prevents routes being updated by
535unauthenticated remote routers, but still can allow routes (I.e. the
536entire RIP routing table) to be queried remotely, potentially by anyone
537on the internet, via RIPv1.
538
539To prevent such unauthenticated querying of routes disable RIPv1,
0efdf0fe 540:ref:`rip-version-control`.
42fc5d26 541
c1a54c05
QY
542.. index:: ip rip authentication mode md5
543.. clicmd:: ip rip authentication mode md5
42fc5d26 544
c1a54c05
QY
545.. index:: no ip rip authentication mode md5
546.. clicmd:: no ip rip authentication mode md5
42fc5d26 547
c1a54c05 548 Set the interface with RIPv2 MD5 authentication.
42fc5d26 549
c1a54c05
QY
550.. index:: ip rip authentication mode text
551.. clicmd:: ip rip authentication mode text
42fc5d26 552
c1a54c05
QY
553.. index:: no ip rip authentication mode text
554.. clicmd:: no ip rip authentication mode text
42fc5d26 555
c1a54c05 556 Set the interface with RIPv2 simple password authentication.
42fc5d26 557
c1a54c05
QY
558.. index:: ip rip authentication string STRING
559.. clicmd:: ip rip authentication string STRING
42fc5d26 560
c1a54c05
QY
561.. index:: no ip rip authentication string STRING
562.. clicmd:: no ip rip authentication string STRING
42fc5d26 563
c1a54c05
QY
564 RIP version 2 has simple text authentication. This command sets
565 authentication string. The string must be shorter than 16 characters.
42fc5d26 566
c1a54c05
QY
567.. index:: ip rip authentication key-chain KEY-CHAIN
568.. clicmd:: ip rip authentication key-chain KEY-CHAIN
42fc5d26 569
c1a54c05
QY
570.. index:: no ip rip authentication key-chain KEY-CHAIN
571.. clicmd:: no ip rip authentication key-chain KEY-CHAIN
42fc5d26 572
d1e7591e 573 Specify Keyed MD5 chain.
42fc5d26 574
9eb95b3b 575 .. code-block:: frr
42fc5d26 576
9eb95b3b
QY
577 !
578 key chain test
579 key 1
580 key-string test
581 !
582 interface eth1
583 ip rip authentication mode md5
584 ip rip authentication key-chain test
585 !
a8c90e15 586
42fc5d26 587
0efdf0fe 588.. _rip-timers:
42fc5d26
QY
589
590RIP Timers
591==========
592
c1a54c05
QY
593.. index:: timers basic UPDATE TIMEOUT GARBAGE
594.. clicmd:: timers basic UPDATE TIMEOUT GARBAGE
42fc5d26 595
42fc5d26 596
c1a54c05
QY
597 RIP protocol has several timers. User can configure those timers' values
598 by `timers basic` command.
42fc5d26 599
c1a54c05 600 The default settings for the timers are as follows:
42fc5d26 601
c1a54c05
QY
602 - The update timer is 30 seconds. Every update timer seconds, the RIP
603 process is awakened to send an unsolicited Response message containing
604 the complete routing table to all neighboring RIP routers.
605 - The timeout timer is 180 seconds. Upon expiration of the timeout, the
606 route is no longer valid; however, it is retained in the routing table
607 for a short time so that neighbors can be notified that the route has
608 been dropped.
609 - The garbage collect timer is 120 seconds. Upon expiration of the
610 garbage-collection timer, the route is finally removed from the routing
611 table.
42fc5d26 612
c1a54c05
QY
613 The ``timers basic`` command allows the the default values of the timers
614 listed above to be changed.
42fc5d26 615
c1a54c05
QY
616.. index:: no timers basic
617.. clicmd:: no timers basic
42fc5d26 618
c1a54c05
QY
619 The `no timers basic` command will reset the timers to the default settings
620 listed above.
42fc5d26 621
0efdf0fe 622.. _show-rip-information:
42fc5d26
QY
623
624Show RIP Information
625====================
626
627To display RIP routes.
628
c1a54c05
QY
629.. index:: show ip rip
630.. clicmd:: show ip rip
42fc5d26 631
c1a54c05 632 Show RIP routes.
42fc5d26
QY
633
634The command displays all RIP routes. For routes that are received
635through RIP, this command will display the time the packet was sent and
c1a54c05 636the tag information. This command will also display this information
42fc5d26
QY
637for routes redistributed into RIP.
638
c1a54c05
QY
639.. index:: show ip rip status
640.. clicmd:: show ip rip status
42fc5d26 641
c1a54c05 642 The command displays current RIP status. It includes RIP timer,
d1e7591e 643 filtering, version, RIP enabled interface and RIP peer information.
42fc5d26
QY
644
645::
646
c1a54c05
QY
647 ripd> **show ip rip status**
648 Routing Protocol is "rip"
649 Sending updates every 30 seconds with +/-50%, next due in 35 seconds
650 Timeout after 180 seconds, garbage collect after 120 seconds
651 Outgoing update filter list for all interface is not set
652 Incoming update filter list for all interface is not set
653 Default redistribution metric is 1
654 Redistributing: kernel connected
655 Default version control: send version 2, receive version 2
656 Interface Send Recv
657 Routing for Networks:
658 eth0
659 eth1
660 1.1.1.1
661 203.181.89.241
662 Routing Information Sources:
663 Gateway BadPackets BadRoutes Distance Last Update
a8c90e15 664
42fc5d26
QY
665
666RIP Debug Commands
667==================
668
669Debug for RIP protocol.
670
c1a54c05
QY
671.. index:: debug rip events
672.. clicmd:: debug rip events
42fc5d26 673
c1a54c05
QY
674 Shows RIP events. Sending and receiving packets, timers, and changes in
675 interfaces are events shown with *ripd*.
42fc5d26 676
c1a54c05
QY
677.. index:: debug rip packet
678.. clicmd:: debug rip packet
42fc5d26 679
c1a54c05
QY
680 Shows display detailed information about the RIP packets. The origin and
681 port number of the packet as well as a packet dump is shown.
42fc5d26 682
c1a54c05
QY
683.. index:: debug rip zebra
684.. clicmd:: debug rip zebra
42fc5d26 685
c1a54c05
QY
686 This command will show the communication between *ripd* and *zebra*. The
687 main information will include addition and deletion of paths to the kernel
688 and the sending and receiving of interface information.
42fc5d26 689
c1a54c05
QY
690.. index:: show debugging rip
691.. clicmd:: show debugging rip
42fc5d26 692
c1a54c05 693 Shows all information currently set for ripd debug.
42fc5d26 694