blob: bbc2896755e9d0b13b5de05e7830c6c24b03f131 [file] [log] [blame]
Olivier Dugeonec04b9f2016-04-19 19:18:18 +02001@cindex ISIS
2@node ISIS
3@chapter ISIS
4
5@acronym{ISIS,Intermediate System to Intermediate System} is a routing protocol
6which is described in @cite{ISO10589, RFC1195, RFC5308}. ISIS is an
7@acronym{IGP,Interior Gateway Protocol}. Compared with @acronym{RIP},
8@acronym{ISIS} can provide scalable network support and faster
9convergence times like @acronym{OSPF}. ISIS is widely used in large networks such as
10@acronym{ISP,Internet Service Provider} and carrier backbone networks.
11
12@menu
13* Configuring isisd::
14* ISIS router::
15* ISIS Timer::
16* ISIS region::
17* ISIS interface::
18* Showing ISIS information::
19* ISIS Traffic Engineering::
20* Debugging ISIS::
21* ISIS Configuration Examples::
22@end menu
23
24@node Configuring isisd
25@section Configuring isisd
26
27There are no @command{isisd} specific options. Common options can be
28specified (@pxref{Common Invocation Options}) to @command{isisd}.
29@command{isisd} needs to acquire interface information from
30@command{zebra} in order to function. Therefore @command{zebra} must be
31running before invoking @command{isisd}. Also, if @command{zebra} is
32restarted then @command{isisd} must be too.
33
34Like other daemons, @command{isisd} configuration is done in @acronym{ISIS}
35specific configuration file @file{isisd.conf}.
36
37@node ISIS router
38@section ISIS router
39
40To start ISIS process you have to specify the ISIS router. As of this
41writing, @command{isisd} does not support multiple ISIS processes.
42
43@deffn Command {router isis WORD} {}
44@deffnx Command {no router isis WORD} {}
45@anchor{router isis WORD}Enable or disable the ISIS process by specifying the ISIS domain with 'WORD'.
46@command{isisd} does not yet support multiple ISIS processes but you must specify
47the name of ISIS process. The ISIS process name 'WORD' is then used for interface
48(see command @ref{ip router isis WORD}).
49@end deffn
50
51@deffn {ISIS Command} {net XX.XXXX. ... .XXX.XX} {}
52@deffnx {ISIS Command} {no net XX.XXXX. ... .XXX.XX} {}
53Set/Unset network entity title (NET) provided in ISO format.
54@end deffn
55
56@deffn {ISIS Command} {hostname dynamic} {}
57@deffnx {ISIS Command} {no hostname dynamic} {}
58Enable support for dynamic hostname.
59@end deffn
60
61@deffn {ISIS Command} {area-password [clear | md5] <password>} {}
62@deffnx {ISIS Command} {domain-password [clear | md5] <password>} {}
63@deffnx {ISIS Command} {no area-password} {}
64@deffnx {ISIS Command} {no domain-password} {}
65Configure the authentication password for an area, respectively a domain,
66as clear text or md5 one.
67@end deffn
68
69@deffn {ISIS Command} {log-adjacency-changes} {}
70@deffnx {ISIS Command} {no log-adjacency-changes} {}
71Log changes in adjacency state.
72@end deffn
73
74@deffn {ISIS Command} {metric-style [narrow | transition | wide]} {}
75@deffnx {ISIS Command} {no metric-style} {}
76@anchor{metric-style}Set old-style (ISO 10589) or new-style packet formats:
77 - narrow Use old style of TLVs with narrow metric
78 - transition Send and accept both styles of TLVs during transition
79 - wide Use new style of TLVs to carry wider metric
80@end deffn
81
82@deffn {ISIS Command} {set-overload-bit} {}
83@deffnx {ISIS Command} {no set-overload-bit} {}
84Set overload bit to avoid any transit traffic.
85@end deffn
86
87@node ISIS Timer
88@section ISIS Timer
89
90@deffn {ISIS Command} {lsp-gen-interval <1-120>} {}
91@deffnx {ISIS Command} {lsp-gen-interval [level-1 | level-2] <1-120>} {}
92@deffnx {ISIS Command} {no lsp-gen-interval} {}
93@deffnx {ISIS Command} {no lsp-gen-interval [level-1 | level-2]} {}
94Set minimum interval in seconds between regenerating same LSP,
95globally, for an area (level-1) or a domain (level-2).
96@end deffn
97
98@deffn {ISIS Command} {lsp-refresh-interval <1-65235>} {}
99@deffnx {ISIS Command} {lsp-refresh-interval [level-1 | level-2] <1-65235>} {}
100@deffnx {ISIS Command} {no lsp-refresh-interval} {}
101@deffnx {ISIS Command} {no lsp-refresh-interval [level-1 | level-2]} {}
102Set LSP refresh interval in seconds, globally, for an area (level-1) or a domain (level-2).
103@end deffn
104
105@deffn {ISIS Command} {lsp-refresh-interval <1-65235>} {}
106@deffnx {ISIS Command} {lsp-refresh-interval [level-1 | level-2] <1-65235>} {}
107@deffnx {ISIS Command} {no lsp-refresh-interval} {}
108@deffnx {ISIS Command} {no lsp-refresh-interval [level-1 | level-2]} {}
109Set LSP refresh interval in seconds, globally, for an area (level-1) or a domain (level-2).
110@end deffn
111
112@deffn {ISIS Command} {max-lsp-lifetime <360-65535>} {}
113@deffnx {ISIS Command} {max-lsp-lifetime [level-1 | level-2] <360-65535>} {}
114@deffnx {ISIS Command} {no max-lsp-lifetime} {}
115@deffnx {ISIS Command} {no max-lsp-lifetime [level-1 | level-2]} {}
116Set LSP maximum LSP lifetime in seconds, globally, for an area (level-1) or a domain (level-2).
117@end deffn
118
119@deffn {ISIS Command} {spf-interval <1-120>} {}
120@deffnx {ISIS Command} {spf-interval [level-1 | level-2] <1-120>} {}
121@deffnx {ISIS Command} {no spf-interval} {}
122@deffnx {ISIS Command} {no spf-interval [level-1 | level-2]} {}
123Set minimum interval between consecutive SPF calculations in seconds.
124@end deffn
125
126@node ISIS region
127@section ISIS region
128
129@deffn {ISIS Command} {is-type [level-1 | level-1-2 | level-2-only]} {}
130@deffnx {ISIS Command} {no is-type} {}
131Define the ISIS router behavior:
132 - level-1 Act as a station router only
133 - level-1-2 Act as both a station router and an area router
134 - level-2-only Act as an area router only
135@end deffn
136
137@node ISIS interface
138@section ISIS interface
139
140@deffn {Interface Command} {ip router isis WORD} {}
141@deffnx {Interface Command} {no ip router isis WORD} {}
142@anchor{ip router isis WORD}Activate ISIS adjacency on this interface. Note that the name
143of ISIS instance must be the same as the one used to configure the ISIS process
144(see command @ref{router isis WORD}).
145@end deffn
146
147@deffn {Interface Command} {isis circuit-type [level-1 | level-1-2 | level-2]} {}
148@deffnx {Interface Command} {no isis circuit-type} {}
149Configure circuit type for interface:
150 - level-1 Level-1 only adjacencies are formed
151 - level-1-2 Level-1-2 adjacencies are formed
152 - level-2-only Level-2 only adjacencies are formed
153@end deffn
154
155@deffn {Interface Command} {isis csnp-interval <1-600>} {}
156@deffnx {Interface Command} {isis csnp-interval <1-600> [level-1 | level-2]} {}
157@deffnx {Interface Command} {no isis csnp-interval} {}
158@deffnx {Interface Command} {no isis csnp-interval [level-1 | level-2]} {}
159Set CSNP interval in seconds globally, for an area (level-1) or a domain (level-2).
160@end deffn
161
162@deffn {Interface Command} {isis hello padding} {}
163Add padding to IS-IS hello packets.
164@end deffn
165
166@deffn {Interface Command} {isis hello-interval <1-600>} {}
167@deffnx {Interface Command} {isis hello-interval <1-600> [level-1 | level-2]} {}
168@deffnx {Interface Command} {no isis hello-interval} {}
169@deffnx {Interface Command} {no isis hello-interval [level-1 | level-2]} {}
170Set Hello interval in seconds globally, for an area (level-1) or a domain (level-2).
171@end deffn
172
173@deffn {Interface Command} {isis hello-multiplier <2-100>} {}
174@deffnx {Interface Command} {isis hello-multiplier <2-100> [level-1 | level-2]} {}
175@deffnx {Interface Command} {no isis hello-multiplier} {}
176@deffnx {Interface Command} {no isis hello-multiplier [level-1 | level-2]} {}
177Set multiplier for Hello holding time globally, for an area (level-1) or a domain (level-2).
178@end deffn
179
180@deffn {Interface Command} {isis metric [<0-255> | <0-16777215>]} {}
181@deffnx {Interface Command} {isis metric [<0-255> | <0-16777215>] [level-1 | level-2]} {}
182@deffnx {Interface Command} {no isis metric} {}
183@deffnx {Interface Command} {no isis metric [level-1 | level-2]} {}
184Set default metric value globally, for an area (level-1) or a domain (level-2).
185Max value depend if metric support narrow or wide value (see command @ref{metric-style}).
186@end deffn
187
188@deffn {Interface Command} {isis network point-to-point} {}
189@deffnx {Interface Command} {no isis network point-to-point} {}
190Set network type to 'Point-to-Point' (broadcast by default).
191@end deffn
192
193@deffn {Interface Command} {isis passive} {}
194@deffnx {Interface Command} {no isis passive} {}
195Configure the passive mode for this interface.
196@end deffn
197
198@deffn {Interface Command} {isis password [clear | md5] <password>} {}
199@deffnx {Interface Command} {no isis password} {}
200Configure the authentication password (clear or encoded text) for the interface.
201@end deffn
202
203@deffn {Interface Command} {isis priority <0-127>} {}
204@deffnx {Interface Command} {isis priority <0-127> [level-1 | level-2]} {}
205@deffnx {Interface Command} {no isis priority} {}
206@deffnx {Interface Command} {no isis priority [level-1 | level-2]} {}
207Set priority for Designated Router election, globally, for the area (level-1)
208or the domain (level-2).
209@end deffn
210
211@deffn {Interface Command} {isis psnp-interval <1-120>} {}
212@deffnx {Interface Command} {isis psnp-interval <1-120> [level-1 | level-2]} {}
213@deffnx {Interface Command} {no isis psnp-interval} {}
214@deffnx {Interface Command} {no isis psnp-interval [level-1 | level-2]} {}
215Set PSNP interval in seconds globally, for an area (level-1) or a domain (level-2).
216@end deffn
217
218@node Showing ISIS information
219@section Showing ISIS information
220
221@deffn {Command} {show isis summary} {}
222Show summary information about ISIS.
223@end deffn
224
225@deffn {Command} {show isis hostname} {}
226Show information about ISIS node.
227@end deffn
228
229@deffn {Command} {show isis interface} {}
230@deffnx {Command} {show isis interface detail} {}
231@deffnx {Command} {show isis interface <interface name>} {}
232Show state and configuration of ISIS specified interface, or all
233interfaces if no interface is given with or without details.
234@end deffn
235
236@deffn {Command} {show isis neighbor} {}
237@deffnx {Command} {show isis neighbor <System Id>} {}
238@deffnx {Command} {show isis neighbor detail} {}
239Show state and information of ISIS specified neighbor, or all
240neighbors if no system id is given with or without details.
241@end deffn
242
243@deffn {Command} {show isis database} {}
244@deffnx {Command} {show isis database [detail]} {}
245@deffnx {Command} {show isis database <LSP id> [detail]} {}
246@deffnx {Command} {show isis database detail <LSP id>} {}
247Show the ISIS database globally, for a specific LSP id without or with details.
248@end deffn
249
250@deffn {Command} {show isis topology} {}
251@deffnx {Command} {show isis topology [level-1|level-2]} {}
252Show topology IS-IS paths to Intermediate Systems, globally,
253in area (level-1) or domain (level-2).
254@end deffn
255
256@deffn {Command} {show ip route isis} {}
257Show the ISIS routing table, as determined by the most recent SPF calculation.
258@end deffn
259
260@node ISIS Traffic Engineering
261@section Traffic Engineering
262
263@deffn {ISIS Command} {mpls-te on} {}
264@deffnx {ISIS Command} {no mpls-te} {}
265Enable Traffic Engineering LSP flooding.
266@end deffn
267
268@deffn {ISIS Command} {mpls-te router-address <A.B.C.D>} {}
269@deffnx {ISIS Command} {no mpls-te router-address} {}
270Configure stable IP address for MPLS-TE.
271@end deffn
272
273@deffn {Command} {show isis mpls-te interface} {}
274@deffnx {Command} {show isis mpls-te interface @var{interface}} {}
275Show MPLS Traffic Engineering parameters for all or specified interface.
276@end deffn
277
278@deffn {Command} {show isis mpls-te router} {}
279Show Traffic Engineering router parameters.
280@end deffn
281
282@node Debugging ISIS
283@section Debugging ISIS
284
285@deffn {Command} {debug isis adj-packets} {}
286@deffnx {Command} {no debug isis adj-packets} {}
287IS-IS Adjacency related packets.
288@end deffn
289
290@deffn {Command} {debug isis checksum-errors} {}
291@deffnx {Command} {no debug isis checksum-errors} {}
292IS-IS LSP checksum errors.
293@end deffn
294
295@deffn {Command} {debug isis events} {}
296@deffnx {Command} {no debug isis events} {}
297IS-IS Events.
298@end deffn
299
300@deffn {Command} {debug isis local-updates} {}
301@deffnx {Command} {no debug isis local-updates} {}
302IS-IS local update packets.
303@end deffn
304
305@deffn {Command} {debug isis packet-dump} {}
306@deffnx {Command} {no debug isis packet-dump} {}
307IS-IS packet dump.
308@end deffn
309
310@deffn {Command} {debug isis protocol-errors} {}
311@deffnx {Command} {no debug isis protocol-errors} {}
312IS-IS LSP protocol errors.
313@end deffn
314
315@deffn {Command} {debug isis route-events} {}
316@deffnx {Command} {no debug isis route-events} {}
317IS-IS Route related events.
318@end deffn
319
320@deffn {Command} {debug isis snp-packets} {}
321@deffnx {Command} {no debug isis snp-packets} {}
322IS-IS CSNP/PSNP packets.
323@end deffn
324
325@deffn {Command} {debug isis spf-events} {}
326@deffnx {Command} {debug isis spf-statistics} {}
327@deffnx {Command} {debug isis spf-triggers} {}
328@deffnx {Command} {no debug isis spf-events} {}
329@deffnx {Command} {no debug isis spf-statistics} {}
330@deffnx {Command} {no debug isis spf-triggers} {}
331IS-IS Shortest Path First Events, Timing and Statistic Data
332and triggering events.
333@end deffn
334
335@deffn {Command} {debug isis update-packets} {}
336@deffnx {Command} {no debug isis update-packets} {}
337Update related packets.
338@end deffn
339
340@deffn {Command} {show debugging isis} {}
341Print which ISIS debug level is activate.
342@end deffn
343
344@node ISIS Configuration Examples
345@section ISIS Configuration Examples
346A simple example, with MD5 authentication enabled:
347
348@example
349@group
350!
351interface eth0
352 ip router isis FOO
353 isis network point-to-point
354 isis circuit-type level-2-only
355!
356router isis FOO
357net 47.0023.0000.0000.0000.0000.0000.0000.1900.0004.00
358 metric-style wide
359 is-type level-2-only
360@end group
361@end example
362
363
364A Traffic Engineering configuration, with Inter-ASv2 support.
365
366 - First, the 'zebra.conf' part:
367
368@example
369@group
370hostname HOSTNAME
371password PASSWORD
372log file /var/log/zebra.log
373!
374interface eth0
375 ip address 10.2.2.2/24
376 mpls-te on
377 mpls-te link metric 10
378 mpls-te link max-bw 1.25e+06
379 mpls-te link max-rsv-bw 1.25e+06
380 mpls-te link unrsv-bw 0 1.25e+06
381 mpls-te link unrsv-bw 1 1.25e+06
382 mpls-te link unrsv-bw 2 1.25e+06
383 mpls-te link unrsv-bw 3 1.25e+06
384 mpls-te link unrsv-bw 4 1.25e+06
385 mpls-te link unrsv-bw 5 1.25e+06
386 mpls-te link unrsv-bw 6 1.25e+06
387 mpls-te link unrsv-bw 7 1.25e+06
388 mpls-te link rsc-clsclr 0xab
389!
390interface eth1
391 ip address 10.1.1.1/24
392 mpls-te on
393 mpls-te link metric 10
394 mpls-te link max-bw 1.25e+06
395 mpls-te link max-rsv-bw 1.25e+06
396 mpls-te link unrsv-bw 0 1.25e+06
397 mpls-te link unrsv-bw 1 1.25e+06
398 mpls-te link unrsv-bw 2 1.25e+06
399 mpls-te link unrsv-bw 3 1.25e+06
400 mpls-te link unrsv-bw 4 1.25e+06
401 mpls-te link unrsv-bw 5 1.25e+06
402 mpls-te link unrsv-bw 6 1.25e+06
403 mpls-te link unrsv-bw 7 1.25e+06
404 mpls-te link rsc-clsclr 0xab
405 mpls-te neighbor 10.1.1.2 as 65000
406@end group
407@end example
408
409 - Then the 'isisd.conf' itself:
410
411@example
412@group
413hostname HOSTNAME
414password PASSWORD
415log file /var/log/isisd.log
416!
417!
418interface eth0
419 ip router isis FOO
420!
421interface eth1
422 ip router isis FOO
423!
424!
425router isis FOO
426 isis net 47.0023.0000.0000.0000.0000.0000.0000.1900.0004.00
427 mpls-te on
428 mpls-te router-address 10.1.1.1
429!
430line vty
431@end group
432@end example