]> git.proxmox.com Git - mirror_frr.git/blob - doc/user/isisd.rst
Merge pull request #3335 from pguibert6WIND/ospf_remove_if_lookup_all_vrf
[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 .. index:: mpls-te on
427 .. clicmd:: mpls-te on
428
429 .. index:: no mpls-te
430 .. clicmd:: no mpls-te
431
432 Enable Traffic Engineering LSP flooding.
433
434 .. index:: mpls-te router-address <A.B.C.D>
435 .. clicmd:: mpls-te router-address <A.B.C.D>
436
437 .. index:: no mpls-te router-address
438 .. clicmd:: no mpls-te router-address
439
440 Configure stable IP address for MPLS-TE.
441
442 .. index:: show isis mpls-te interface
443 .. clicmd:: show isis mpls-te interface
444
445 .. index:: show isis mpls-te interface INTERFACE
446 .. clicmd:: show isis mpls-te interface INTERFACE
447
448 Show MPLS Traffic Engineering parameters for all or specified interface.
449
450 .. index:: show isis mpls-te router
451 .. clicmd:: show isis mpls-te router
452
453 Show Traffic Engineering router parameters.
454
455 .. seealso::
456
457 :ref:`ospf-traffic-engineering`
458
459 .. _debugging-isis:
460
461 Debugging ISIS
462 ==============
463
464 .. index:: debug isis adj-packets
465 .. clicmd:: debug isis adj-packets
466
467 .. index:: no debug isis adj-packets
468 .. clicmd:: no debug isis adj-packets
469
470 IS-IS Adjacency related packets.
471
472 .. index:: debug isis checksum-errors
473 .. clicmd:: debug isis checksum-errors
474
475 .. index:: no debug isis checksum-errors
476 .. clicmd:: no debug isis checksum-errors
477
478 IS-IS LSP checksum errors.
479
480 .. index:: debug isis events
481 .. clicmd:: debug isis events
482
483 .. index:: no debug isis events
484 .. clicmd:: no debug isis events
485
486 IS-IS Events.
487
488 .. index:: debug isis local-updates
489 .. clicmd:: debug isis local-updates
490
491 .. index:: no debug isis local-updates
492 .. clicmd:: no debug isis local-updates
493
494 IS-IS local update packets.
495
496 .. index:: debug isis packet-dump
497 .. clicmd:: debug isis packet-dump
498
499 .. index:: no debug isis packet-dump
500 .. clicmd:: no debug isis packet-dump
501
502 IS-IS packet dump.
503
504 .. index:: debug isis protocol-errors
505 .. clicmd:: debug isis protocol-errors
506
507 .. index:: no debug isis protocol-errors
508 .. clicmd:: no debug isis protocol-errors
509
510 IS-IS LSP protocol errors.
511
512 .. index:: debug isis route-events
513 .. clicmd:: debug isis route-events
514
515 .. index:: no debug isis route-events
516 .. clicmd:: no debug isis route-events
517
518 IS-IS Route related events.
519
520 .. index:: debug isis snp-packets
521 .. clicmd:: debug isis snp-packets
522
523 .. index:: no debug isis snp-packets
524 .. clicmd:: no debug isis snp-packets
525
526 IS-IS CSNP/PSNP packets.
527
528 .. index:: debug isis spf-events
529 .. clicmd:: debug isis spf-events
530
531 .. index:: debug isis spf-statistics
532 .. clicmd:: debug isis spf-statistics
533
534 .. index:: debug isis spf-triggers
535 .. clicmd:: debug isis spf-triggers
536
537 .. index:: no debug isis spf-events
538 .. clicmd:: no debug isis spf-events
539
540 .. index:: no debug isis spf-statistics
541 .. clicmd:: no debug isis spf-statistics
542
543 .. index:: no debug isis spf-triggers
544 .. clicmd:: no debug isis spf-triggers
545
546 IS-IS Shortest Path First Events, Timing and Statistic Data and triggering
547 events.
548
549 .. index:: debug isis update-packets
550 .. clicmd:: debug isis update-packets
551
552 .. index:: no debug isis update-packets
553 .. clicmd:: no debug isis update-packets
554
555 Update related packets.
556
557 .. index:: show debugging isis
558 .. clicmd:: show debugging isis
559
560 Print which ISIS debug level is activate.
561
562 ISIS Configuration Examples
563 ===========================
564
565 A simple example, with MD5 authentication enabled:
566
567 .. code-block:: frr
568
569 !
570 interface eth0
571 ip router isis FOO
572 isis network point-to-point
573 isis circuit-type level-2-only
574 !
575 router isis FOO
576 net 47.0023.0000.0000.0000.0000.0000.0000.1900.0004.00
577 metric-style wide
578 is-type level-2-only
579
580
581 A Traffic Engineering configuration, with Inter-ASv2 support.
582
583 First, the :file:`zebra.conf` part:
584
585 .. code-block:: frr
586
587 hostname HOSTNAME
588 password PASSWORD
589 log file /var/log/zebra.log
590 !
591 interface eth0
592 ip address 10.2.2.2/24
593 link-params
594 max-bw 1.25e+07
595 max-rsv-bw 1.25e+06
596 unrsv-bw 0 1.25e+06
597 unrsv-bw 1 1.25e+06
598 unrsv-bw 2 1.25e+06
599 unrsv-bw 3 1.25e+06
600 unrsv-bw 4 1.25e+06
601 unrsv-bw 5 1.25e+06
602 unrsv-bw 6 1.25e+06
603 unrsv-bw 7 1.25e+06
604 admin-grp 0xab
605 !
606 interface eth1
607 ip address 10.1.1.1/24
608 link-params
609 enable
610 metric 100
611 max-bw 1.25e+07
612 max-rsv-bw 1.25e+06
613 unrsv-bw 0 1.25e+06
614 unrsv-bw 1 1.25e+06
615 unrsv-bw 2 1.25e+06
616 unrsv-bw 3 1.25e+06
617 unrsv-bw 4 1.25e+06
618 unrsv-bw 5 1.25e+06
619 unrsv-bw 6 1.25e+06
620 unrsv-bw 7 1.25e+06
621 neighbor 10.1.1.2 as 65000
622
623
624 Then the :file:`isisd.conf` itself:
625
626 .. code-block:: frr
627
628 hostname HOSTNAME
629 password PASSWORD
630 log file /var/log/isisd.log
631 !
632 !
633 interface eth0
634 ip router isis FOO
635 !
636 interface eth1
637 ip router isis FOO
638 !
639 !
640 router isis FOO
641 isis net 47.0023.0000.0000.0000.0000.0000.0000.1900.0004.00
642 mpls-te on
643 mpls-te router-address 10.1.1.1
644 !
645 line vty