]> git.proxmox.com Git - mirror_frr.git/blob - doc/user/isisd.rst
doc: Add rfc8212 to supported RFCs list
[mirror_frr.git] / doc / user / isisd.rst
1 .. _isis:
2
3 ****
4 ISIS
5 ****
6
7 :abbr:`ISIS (Intermediate System to Intermediate System)` is a routing protocol
8 which is described in :t:`ISO10589`, :rfc:`1195`, :rfc:`5308`. ISIS is an
9 :abbr:`IGP (Interior Gateway Protocol)`. Compared with :abbr:`RIP`,
10 :abbr:`ISIS` can provide scalable network support and faster convergence times
11 like :abbr:`OSPF`. ISIS is widely used in large networks such as :abbr:`ISP
12 (Internet Service Provider)` and carrier backbone networks.
13
14 .. _configuring-isisd:
15
16 Configuring isisd
17 =================
18
19 There are no *isisd* specific options. Common options can be specified
20 (:ref:`common-invocation-options`) to *isisd*. *isisd* needs to acquire
21 interface information from *zebra* in order to function. Therefore *zebra* must
22 be running before invoking *isisd*. Also, if *zebra* is restarted then *isisd*
23 must be too.
24
25 Like other daemons, *isisd* configuration is done in :abbr:`ISIS` specific
26 configuration file :file:`isisd.conf`.
27
28 .. _isis-router:
29
30 ISIS router
31 ===========
32
33 To start the ISIS process you have to specify the ISIS router. As of this
34 writing, *isisd* does not support multiple ISIS processes.
35
36 .. index:: [no] router isis WORD
37 .. clicmd:: [no] router isis WORD
38
39 Enable or disable the ISIS process by specifying the ISIS domain with
40 'WORD'. *isisd* does not yet support multiple ISIS processes but you must
41 specify the name of ISIS process. The ISIS process name 'WORD' is then used
42 for interface (see command :clicmd:`ip router isis WORD`).
43
44 .. index:: net XX.XXXX. ... .XXX.XX
45 .. clicmd:: net XX.XXXX. ... .XXX.XX
46
47 .. index:: no net XX.XXXX. ... .XXX.XX
48 .. clicmd:: no net XX.XXXX. ... .XXX.XX
49
50 Set/Unset network entity title (NET) provided in ISO format.
51
52 .. index:: hostname dynamic
53 .. clicmd:: hostname dynamic
54
55 .. index:: no hostname dynamic
56 .. clicmd:: no hostname dynamic
57
58 Enable support for dynamic hostname.
59
60 .. index:: area-password [clear | md5] <password>
61 .. clicmd:: area-password [clear | md5] <password>
62
63 .. index:: domain-password [clear | md5] <password>
64 .. clicmd:: domain-password [clear | md5] <password>
65
66 .. index:: no area-password
67 .. clicmd:: no area-password
68
69 .. index:: no domain-password
70 .. clicmd:: no domain-password
71
72 Configure the authentication password for an area, respectively a domain, as
73 clear text or md5 one.
74
75 .. index:: log-adjacency-changes
76 .. clicmd:: log-adjacency-changes
77
78 .. index:: no log-adjacency-changes
79 .. clicmd:: no log-adjacency-changes
80
81 Log changes in adjacency state.
82
83 .. index:: metric-style [narrow | transition | wide]
84 .. clicmd:: metric-style [narrow | transition | wide]
85
86 .. index:: no metric-style
87 .. clicmd:: no metric-style
88
89 Set old-style (ISO 10589) or new-style packet formats:
90
91 - narrow
92 Use old style of TLVs with narrow metric
93 - transition
94 Send and accept both styles of TLVs during transition
95 - wide
96 Use new style of TLVs to carry wider metric
97
98 .. index:: set-overload-bit
99 .. clicmd:: set-overload-bit
100
101 .. index:: no set-overload-bit
102 .. clicmd:: no set-overload-bit
103
104 Set overload bit to avoid any transit traffic.
105
106 .. index:: purge-originator
107 .. clicmd:: purge-originator
108
109 .. index:: no purge-originator
110 .. clicmd:: no purge-originator
111
112 Enable or disable :rfc:`6232` purge originator identification.
113
114 .. _isis-timer:
115
116 ISIS Timer
117 ==========
118
119 .. index:: lsp-gen-interval (1-120)
120 .. clicmd:: lsp-gen-interval (1-120)
121
122 .. index:: lsp-gen-interval [level-1 | level-2] (1-120)
123 .. clicmd:: lsp-gen-interval [level-1 | level-2] (1-120)
124
125 .. index:: no lsp-gen-interval
126 .. clicmd:: no lsp-gen-interval
127
128 .. index:: no lsp-gen-interval [level-1 | level-2]
129 .. clicmd:: no lsp-gen-interval [level-1 | level-2]
130
131 Set minimum interval in seconds between regenerating same LSP,
132 globally, for an area (level-1) or a domain (level-2).
133
134 .. index:: lsp-refresh-interval [level-1 | level-2] (1-65235)
135 .. clicmd:: lsp-refresh-interval [level-1 | level-2] (1-65235)
136
137 .. index:: no lsp-refresh-interval [level-1 | level-2]
138 .. clicmd:: no lsp-refresh-interval [level-1 | level-2]
139
140 Set LSP refresh interval in seconds, globally, for an area (level-1) or a
141 domain (level-2).
142
143 .. index:: max-lsp-lifetime (360-65535)
144 .. clicmd:: max-lsp-lifetime (360-65535)
145
146 .. index:: max-lsp-lifetime [level-1 | level-2] (360-65535)
147 .. clicmd:: max-lsp-lifetime [level-1 | level-2] (360-65535)
148
149 .. index:: no max-lsp-lifetime
150 .. clicmd:: no max-lsp-lifetime
151
152 .. index:: no max-lsp-lifetime [level-1 | level-2]
153 .. clicmd:: no max-lsp-lifetime [level-1 | level-2]
154
155 Set LSP maximum LSP lifetime in seconds, globally, for an area (level-1) or
156 a domain (level-2).
157
158 .. index:: spf-interval (1-120)
159 .. clicmd:: spf-interval (1-120)
160
161 .. index:: spf-interval [level-1 | level-2] (1-120)
162 .. clicmd:: spf-interval [level-1 | level-2] (1-120)
163
164 .. index:: no spf-interval
165 .. clicmd:: no spf-interval
166
167 .. index:: no spf-interval [level-1 | level-2]
168 .. clicmd:: no spf-interval [level-1 | level-2]
169
170 Set minimum interval between consecutive SPF calculations in seconds.
171
172 .. _isis-region:
173
174 ISIS region
175 ===========
176
177 .. index:: is-type [level-1 | level-1-2 | level-2-only]
178 .. clicmd:: is-type [level-1 | level-1-2 | level-2-only]
179
180 .. index:: no is-type
181 .. clicmd:: no is-type
182
183 Define the ISIS router behavior:
184
185 - level-1
186 Act as a station router only
187 - level-1-2
188 Act as both a station router and an area router
189 - level-2-only
190 Act as an area router only
191
192 .. _isis-interface:
193
194 ISIS interface
195 ==============
196
197 .. _ip-router-isis-word:
198
199 .. index:: [no] <ip|ipv6> router isis WORD
200 .. clicmd:: [no] <ip|ipv6> router isis WORD
201
202 Activate ISIS adjacency on this interface. Note that the name of ISIS
203 instance must be the same as the one used to configure the ISIS process (see
204 command :clicmd:`router isis WORD`). To enable IPv4, issue ``ip router isis
205 WORD``; to enable IPv6, issue ``ipv6 router isis WORD``.
206
207 .. index:: isis circuit-type [level-1 | level-1-2 | level-2]
208 .. clicmd:: isis circuit-type [level-1 | level-1-2 | level-2]
209
210 .. index:: no isis circuit-type
211 .. clicmd:: no isis circuit-type
212
213 Configure circuit type for interface:
214
215 - level-1
216 Level-1 only adjacencies are formed
217 - level-1-2
218 Level-1-2 adjacencies are formed
219 - level-2-only
220 Level-2 only adjacencies are formed
221
222 .. index:: isis csnp-interval (1-600)
223 .. clicmd:: isis csnp-interval (1-600)
224
225 .. index:: isis csnp-interval (1-600) [level-1 | level-2]
226 .. clicmd:: isis csnp-interval (1-600) [level-1 | level-2]
227
228 .. index:: no isis csnp-interval
229 .. clicmd:: no isis csnp-interval
230
231 .. index:: no isis csnp-interval [level-1 | level-2]
232 .. clicmd:: no isis csnp-interval [level-1 | level-2]
233
234 Set CSNP interval in seconds globally, for an area (level-1) or a domain
235 (level-2).
236
237 .. index:: isis hello padding
238 .. clicmd:: isis hello padding
239
240 Add padding to IS-IS hello packets.
241
242 .. index:: isis hello-interval (1-600)
243 .. clicmd:: isis hello-interval (1-600)
244
245 .. index:: isis hello-interval (1-600) [level-1 | level-2]
246 .. clicmd:: isis hello-interval (1-600) [level-1 | level-2]
247
248 .. index:: no isis hello-interval
249 .. clicmd:: no isis hello-interval
250
251 .. index:: no isis hello-interval [level-1 | level-2]
252 .. clicmd:: no isis hello-interval [level-1 | level-2]
253
254 Set Hello interval in seconds globally, for an area (level-1) or a domain
255 (level-2).
256
257 .. index:: isis hello-multiplier (2-100)
258 .. clicmd:: isis hello-multiplier (2-100)
259
260 .. index:: isis hello-multiplier (2-100) [level-1 | level-2]
261 .. clicmd:: isis hello-multiplier (2-100) [level-1 | level-2]
262
263 .. index:: no isis hello-multiplier
264 .. clicmd:: no isis hello-multiplier
265
266 .. index:: no isis hello-multiplier [level-1 | level-2]
267 .. clicmd:: no isis hello-multiplier [level-1 | level-2]
268
269 Set multiplier for Hello holding time globally, for an area (level-1) or a
270 domain (level-2).
271
272 .. index:: isis metric [(0-255) | (0-16777215)]
273 .. clicmd:: isis metric [(0-255) | (0-16777215)]
274
275 .. index:: isis metric [(0-255) | (0-16777215)] [level-1 | level-2]
276 .. clicmd:: isis metric [(0-255) | (0-16777215)] [level-1 | level-2]
277
278 .. index:: no isis metric
279 .. clicmd:: no isis metric
280
281 .. index:: no isis metric [level-1 | level-2]
282 .. clicmd:: no isis metric [level-1 | level-2]
283
284 Set default metric value globally, for an area (level-1) or a domain
285 (level-2). Max value depend if metric support narrow or wide value (see
286 command :clicmd:`metric-style [narrow | transition | wide]`).
287
288 .. index:: isis network point-to-point
289 .. clicmd:: isis network point-to-point
290
291 .. index:: no isis network point-to-point
292 .. clicmd:: no isis network point-to-point
293
294 Set network type to 'Point-to-Point' (broadcast by default).
295
296 .. index:: isis passive
297 .. clicmd:: isis passive
298
299 .. index:: no isis passive
300 .. clicmd:: no isis passive
301
302 Configure the passive mode for this interface.
303
304 .. index:: isis password [clear | md5] <password>
305 .. clicmd:: isis password [clear | md5] <password>
306
307 .. index:: no isis password
308 .. clicmd:: no isis password
309
310 Configure the authentication password (clear or encoded text) for the
311 interface.
312
313 .. index:: isis priority (0-127)
314 .. clicmd:: isis priority (0-127)
315
316 .. index:: isis priority (0-127) [level-1 | level-2]
317 .. clicmd:: isis priority (0-127) [level-1 | level-2]
318
319 .. index:: no isis priority
320 .. clicmd:: no isis priority
321
322 .. index:: no isis priority [level-1 | level-2]
323 .. clicmd:: no isis priority [level-1 | level-2]
324
325 Set priority for Designated Router election, globally, for the area
326 (level-1) or the domain (level-2).
327
328 .. index:: isis psnp-interval (1-120)
329 .. clicmd:: isis psnp-interval (1-120)
330
331 .. index:: isis psnp-interval (1-120) [level-1 | level-2]
332 .. clicmd:: isis psnp-interval (1-120) [level-1 | level-2]
333
334 .. index:: no isis psnp-interval
335 .. clicmd:: no isis psnp-interval
336
337 .. index:: no isis psnp-interval [level-1 | level-2]
338 .. clicmd:: no isis psnp-interval [level-1 | level-2]
339
340 Set PSNP interval in seconds globally, for an area (level-1) or a domain
341 (level-2).
342
343 .. index:: isis three-way-handshake
344 .. clicmd:: isis three-way-handshake
345
346 .. index:: no isis three-way-handshake
347 .. clicmd:: no isis three-way-handshake
348
349 Enable or disable :rfc:`5303` Three-Way Handshake for P2P adjacencies.
350 Three-Way Handshake is enabled by default.
351
352 .. _showing-isis-information:
353
354 Showing ISIS information
355 ========================
356
357 .. index:: show isis summary
358 .. clicmd:: show isis summary
359
360 Show summary information about ISIS.
361
362 .. index:: show isis hostname
363 .. clicmd:: show isis hostname
364
365 Show information about ISIS node.
366
367 .. index:: show isis interface
368 .. clicmd:: show isis interface
369
370 .. index:: show isis interface detail
371 .. clicmd:: show isis interface detail
372
373 .. index:: show isis interface <interface name>
374 .. clicmd:: show isis interface <interface name>
375
376 Show state and configuration of ISIS specified interface, or all interfaces
377 if no interface is given with or without details.
378
379 .. index:: show isis neighbor
380 .. clicmd:: show isis neighbor
381
382 .. index:: show isis neighbor <System Id>
383 .. clicmd:: show isis neighbor <System Id>
384
385 .. index:: show isis neighbor detail
386 .. clicmd:: show isis neighbor detail
387
388 Show state and information of ISIS specified neighbor, or all neighbors if
389 no system id is given with or without details.
390
391 .. index:: show isis database
392 .. clicmd:: show isis database
393
394 .. index:: show isis database [detail]
395 .. clicmd:: show isis database [detail]
396
397 .. index:: show isis database <LSP id> [detail]
398 .. clicmd:: show isis database <LSP id> [detail]
399
400 .. index:: show isis database detail <LSP id>
401 .. clicmd:: show isis database detail <LSP id>
402
403 Show the ISIS database globally, for a specific LSP id without or with
404 details.
405
406 .. index:: show isis topology
407 .. clicmd:: show isis topology
408
409 .. index:: show isis topology [level-1|level-2]
410 .. clicmd:: show isis topology [level-1|level-2]
411
412 Show topology IS-IS paths to Intermediate Systems, globally, in area
413 (level-1) or domain (level-2).
414
415 .. index:: show ip route isis
416 .. clicmd:: show ip route isis
417
418 Show the ISIS routing table, as determined by the most recent SPF
419 calculation.
420
421 .. _isis-traffic-engineering:
422
423 Traffic Engineering
424 ===================
425
426 .. note::
427
428 At this time, FRR offers partial support for some of the routing
429 protocol extensions that can be used with MPLS-TE. FRR does not
430 support a complete RSVP-TE solution currently.
431
432 .. index:: mpls-te on
433 .. clicmd:: mpls-te on
434
435 .. index:: no mpls-te
436 .. clicmd:: no mpls-te
437
438 Enable Traffic Engineering LSP flooding.
439
440 .. index:: mpls-te router-address <A.B.C.D>
441 .. clicmd:: mpls-te router-address <A.B.C.D>
442
443 .. index:: no mpls-te router-address
444 .. clicmd:: no mpls-te router-address
445
446 Configure stable IP address for MPLS-TE.
447
448 .. index:: show isis mpls-te interface
449 .. clicmd:: show isis mpls-te interface
450
451 .. index:: show isis mpls-te interface INTERFACE
452 .. clicmd:: show isis mpls-te interface INTERFACE
453
454 Show MPLS Traffic Engineering parameters for all or specified interface.
455
456 .. index:: show isis mpls-te router
457 .. clicmd:: show isis mpls-te router
458
459 Show Traffic Engineering router parameters.
460
461 .. seealso::
462
463 :ref:`ospf-traffic-engineering`
464
465 .. _debugging-isis:
466
467 Debugging ISIS
468 ==============
469
470 .. index:: debug isis adj-packets
471 .. clicmd:: debug isis adj-packets
472
473 .. index:: no debug isis adj-packets
474 .. clicmd:: no debug isis adj-packets
475
476 IS-IS Adjacency related packets.
477
478 .. index:: debug isis checksum-errors
479 .. clicmd:: debug isis checksum-errors
480
481 .. index:: no debug isis checksum-errors
482 .. clicmd:: no debug isis checksum-errors
483
484 IS-IS LSP checksum errors.
485
486 .. index:: debug isis events
487 .. clicmd:: debug isis events
488
489 .. index:: no debug isis events
490 .. clicmd:: no debug isis events
491
492 IS-IS Events.
493
494 .. index:: debug isis local-updates
495 .. clicmd:: debug isis local-updates
496
497 .. index:: no debug isis local-updates
498 .. clicmd:: no debug isis local-updates
499
500 IS-IS local update packets.
501
502 .. index:: debug isis packet-dump
503 .. clicmd:: debug isis packet-dump
504
505 .. index:: no debug isis packet-dump
506 .. clicmd:: no debug isis packet-dump
507
508 IS-IS packet dump.
509
510 .. index:: debug isis protocol-errors
511 .. clicmd:: debug isis protocol-errors
512
513 .. index:: no debug isis protocol-errors
514 .. clicmd:: no debug isis protocol-errors
515
516 IS-IS LSP protocol errors.
517
518 .. index:: debug isis route-events
519 .. clicmd:: debug isis route-events
520
521 .. index:: no debug isis route-events
522 .. clicmd:: no debug isis route-events
523
524 IS-IS Route related events.
525
526 .. index:: debug isis snp-packets
527 .. clicmd:: debug isis snp-packets
528
529 .. index:: no debug isis snp-packets
530 .. clicmd:: no debug isis snp-packets
531
532 IS-IS CSNP/PSNP packets.
533
534 .. index:: debug isis spf-events
535 .. clicmd:: debug isis spf-events
536
537 .. index:: debug isis spf-statistics
538 .. clicmd:: debug isis spf-statistics
539
540 .. index:: debug isis spf-triggers
541 .. clicmd:: debug isis spf-triggers
542
543 .. index:: no debug isis spf-events
544 .. clicmd:: no debug isis spf-events
545
546 .. index:: no debug isis spf-statistics
547 .. clicmd:: no debug isis spf-statistics
548
549 .. index:: no debug isis spf-triggers
550 .. clicmd:: no debug isis spf-triggers
551
552 IS-IS Shortest Path First Events, Timing and Statistic Data and triggering
553 events.
554
555 .. index:: debug isis update-packets
556 .. clicmd:: debug isis update-packets
557
558 .. index:: no debug isis update-packets
559 .. clicmd:: no debug isis update-packets
560
561 Update related packets.
562
563 .. index:: show debugging isis
564 .. clicmd:: show debugging isis
565
566 Print which ISIS debug level is activate.
567
568 ISIS Configuration Examples
569 ===========================
570
571 A simple example, with MD5 authentication enabled:
572
573 .. code-block:: frr
574
575 !
576 interface eth0
577 ip router isis FOO
578 isis network point-to-point
579 isis circuit-type level-2-only
580 !
581 router isis FOO
582 net 47.0023.0000.0000.0000.0000.0000.0000.1900.0004.00
583 metric-style wide
584 is-type level-2-only
585
586
587 A Traffic Engineering configuration, with Inter-ASv2 support.
588
589 First, the :file:`zebra.conf` part:
590
591 .. code-block:: frr
592
593 hostname HOSTNAME
594 password PASSWORD
595 log file /var/log/zebra.log
596 !
597 interface eth0
598 ip address 10.2.2.2/24
599 link-params
600 max-bw 1.25e+07
601 max-rsv-bw 1.25e+06
602 unrsv-bw 0 1.25e+06
603 unrsv-bw 1 1.25e+06
604 unrsv-bw 2 1.25e+06
605 unrsv-bw 3 1.25e+06
606 unrsv-bw 4 1.25e+06
607 unrsv-bw 5 1.25e+06
608 unrsv-bw 6 1.25e+06
609 unrsv-bw 7 1.25e+06
610 admin-grp 0xab
611 !
612 interface eth1
613 ip address 10.1.1.1/24
614 link-params
615 enable
616 metric 100
617 max-bw 1.25e+07
618 max-rsv-bw 1.25e+06
619 unrsv-bw 0 1.25e+06
620 unrsv-bw 1 1.25e+06
621 unrsv-bw 2 1.25e+06
622 unrsv-bw 3 1.25e+06
623 unrsv-bw 4 1.25e+06
624 unrsv-bw 5 1.25e+06
625 unrsv-bw 6 1.25e+06
626 unrsv-bw 7 1.25e+06
627 neighbor 10.1.1.2 as 65000
628
629
630 Then the :file:`isisd.conf` itself:
631
632 .. code-block:: frr
633
634 hostname HOSTNAME
635 password PASSWORD
636 log file /var/log/isisd.log
637 !
638 !
639 interface eth0
640 ip router isis FOO
641 !
642 interface eth1
643 ip router isis FOO
644 !
645 !
646 router isis FOO
647 isis net 47.0023.0000.0000.0000.0000.0000.0000.1900.0004.00
648 mpls-te on
649 mpls-te router-address 10.1.1.1
650 !
651 line vty