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