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