summaryrefslogtreecommitdiffstats
path: root/doc/isisd.texi
blob: bbc2896755e9d0b13b5de05e7830c6c24b03f131 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
@cindex ISIS
@node ISIS
@chapter ISIS

@acronym{ISIS,Intermediate System to Intermediate System} is a routing protocol
which is described in @cite{ISO10589, RFC1195, RFC5308}.  ISIS is an
@acronym{IGP,Interior Gateway Protocol}.  Compared with @acronym{RIP},
@acronym{ISIS} can provide scalable network support and faster
convergence times like @acronym{OSPF}. ISIS is widely used in large networks such as
@acronym{ISP,Internet Service Provider} and carrier backbone networks.

@menu
* Configuring isisd::
* ISIS router::
* ISIS Timer::
* ISIS region::
* ISIS interface::
* Showing ISIS information::
* ISIS Traffic Engineering::
* Debugging ISIS::
* ISIS Configuration Examples::
@end menu

@node Configuring isisd
@section Configuring isisd

There are no @command{isisd} specific options.  Common options can be
specified (@pxref{Common Invocation Options}) to @command{isisd}.
@command{isisd} needs to acquire interface information from
@command{zebra} in order to function. Therefore @command{zebra} must be
running before invoking @command{isisd}. Also, if @command{zebra} is
restarted then @command{isisd} must be too.

Like other daemons, @command{isisd} configuration is done in @acronym{ISIS}
specific configuration file @file{isisd.conf}.

@node ISIS router
@section ISIS router

To start ISIS process you have to specify the ISIS router. As of this
writing, @command{isisd} does not support multiple ISIS processes.

@deffn Command {router isis WORD} {}
@deffnx Command {no router isis WORD} {}
@anchor{router isis WORD}Enable or disable the ISIS process by specifying the ISIS domain with 'WORD'.
@command{isisd} does not yet support multiple ISIS processes but you must specify
the name of ISIS process. The ISIS process name 'WORD' is then used for interface
(see command @ref{ip router isis WORD}).
@end deffn

@deffn {ISIS Command} {net XX.XXXX. ... .XXX.XX} {}
@deffnx {ISIS Command} {no net XX.XXXX. ... .XXX.XX} {}
Set/Unset network entity title (NET) provided in ISO format.
@end deffn

@deffn {ISIS Command} {hostname dynamic} {}
@deffnx {ISIS Command} {no hostname dynamic} {}
Enable support for dynamic hostname.
@end deffn

@deffn {ISIS Command} {area-password [clear | md5] <password>} {}
@deffnx {ISIS Command} {domain-password [clear | md5] <password>} {}
@deffnx {ISIS Command} {no area-password} {}
@deffnx {ISIS Command} {no domain-password} {}
Configure the authentication password for an area, respectively a domain,
as clear text or md5 one.
@end deffn

@deffn {ISIS Command} {log-adjacency-changes} {}
@deffnx {ISIS Command} {no log-adjacency-changes} {}
Log changes in adjacency state.
@end deffn

@deffn {ISIS Command} {metric-style [narrow | transition | wide]} {}
@deffnx {ISIS Command} {no metric-style} {}
@anchor{metric-style}Set old-style (ISO 10589) or new-style packet formats:
  - narrow      Use old style of TLVs with narrow metric
  - transition  Send and accept both styles of TLVs during transition
  - wide        Use new style of TLVs to carry wider metric
@end deffn

@deffn {ISIS Command} {set-overload-bit} {}
@deffnx {ISIS Command} {no set-overload-bit} {}
Set overload bit to avoid any transit traffic.
@end deffn

@node ISIS Timer
@section ISIS Timer

@deffn {ISIS Command} {lsp-gen-interval <1-120>} {}
@deffnx {ISIS Command} {lsp-gen-interval [level-1 | level-2] <1-120>} {}
@deffnx {ISIS Command} {no lsp-gen-interval} {}
@deffnx {ISIS Command} {no lsp-gen-interval [level-1 | level-2]} {}
Set minimum interval in seconds between regenerating same LSP,
globally, for an area (level-1) or a domain (level-2).
@end deffn

@deffn {ISIS Command} {lsp-refresh-interval <1-65235>} {}
@deffnx {ISIS Command} {lsp-refresh-interval [level-1 | level-2] <1-65235>} {}
@deffnx {ISIS Command} {no lsp-refresh-interval} {}
@deffnx {ISIS Command} {no lsp-refresh-interval [level-1 | level-2]} {}
Set LSP refresh interval in seconds, globally, for an area (level-1) or a domain (level-2).
@end deffn

@deffn {ISIS Command} {lsp-refresh-interval <1-65235>} {}
@deffnx {ISIS Command} {lsp-refresh-interval [level-1 | level-2] <1-65235>} {}
@deffnx {ISIS Command} {no lsp-refresh-interval} {}
@deffnx {ISIS Command} {no lsp-refresh-interval [level-1 | level-2]} {}
Set LSP refresh interval in seconds, globally, for an area (level-1) or a domain (level-2).
@end deffn

@deffn {ISIS Command} {max-lsp-lifetime <360-65535>} {}
@deffnx {ISIS Command} {max-lsp-lifetime [level-1 | level-2] <360-65535>} {}
@deffnx {ISIS Command} {no max-lsp-lifetime} {}
@deffnx {ISIS Command} {no max-lsp-lifetime [level-1 | level-2]} {}
Set LSP maximum LSP lifetime in seconds, globally, for an area (level-1) or a domain (level-2).
@end deffn

@deffn {ISIS Command} {spf-interval <1-120>} {}
@deffnx {ISIS Command} {spf-interval [level-1 | level-2] <1-120>} {}
@deffnx {ISIS Command} {no spf-interval} {}
@deffnx {ISIS Command} {no spf-interval [level-1 | level-2]} {}
Set minimum interval between consecutive SPF calculations in seconds.
@end deffn

@node ISIS region
@section ISIS region

@deffn {ISIS Command} {is-type [level-1 | level-1-2 | level-2-only]} {}
@deffnx {ISIS Command} {no is-type} {}
Define the ISIS router behavior:
 - level-1       Act as a station router only
 - level-1-2     Act as both a station router and an area router
 - level-2-only  Act as an area router only
@end deffn

@node ISIS interface
@section ISIS interface

@deffn {Interface Command} {ip router isis WORD} {}
@deffnx {Interface Command} {no ip router isis WORD} {}
@anchor{ip router isis WORD}Activate ISIS adjacency on this interface. Note that the name
of ISIS instance must be the same as the one used to configure the ISIS process
(see command @ref{router isis WORD}).
@end deffn

@deffn {Interface Command} {isis circuit-type [level-1 | level-1-2 | level-2]} {}
@deffnx {Interface Command} {no isis circuit-type} {}
Configure circuit type for interface:
  - level-1       Level-1 only adjacencies are formed
  - level-1-2     Level-1-2 adjacencies are formed
  - level-2-only  Level-2 only adjacencies are formed
@end deffn

@deffn {Interface Command} {isis csnp-interval <1-600>} {}
@deffnx {Interface Command} {isis csnp-interval <1-600> [level-1 | level-2]} {}
@deffnx {Interface Command} {no isis csnp-interval} {}
@deffnx {Interface Command} {no isis csnp-interval [level-1 | level-2]} {}
Set CSNP interval in seconds globally, for an area (level-1) or a domain (level-2).
@end deffn

@deffn {Interface Command} {isis hello padding} {}
Add padding to IS-IS hello packets.
@end deffn

@deffn {Interface Command} {isis hello-interval <1-600>} {}
@deffnx {Interface Command} {isis hello-interval <1-600> [level-1 | level-2]} {}
@deffnx {Interface Command} {no isis hello-interval} {}
@deffnx {Interface Command} {no isis hello-interval [level-1 | level-2]} {}
Set Hello interval in seconds globally, for an area (level-1) or a domain (level-2).
@end deffn

@deffn {Interface Command} {isis hello-multiplier <2-100>} {}
@deffnx {Interface Command} {isis hello-multiplier <2-100> [level-1 | level-2]} {}
@deffnx {Interface Command} {no isis hello-multiplier} {}
@deffnx {Interface Command} {no isis hello-multiplier [level-1 | level-2]} {}
Set multiplier for Hello holding time globally, for an area (level-1) or a domain (level-2).
@end deffn

@deffn {Interface Command} {isis metric [<0-255> | <0-16777215>]} {}
@deffnx {Interface Command} {isis metric [<0-255> | <0-16777215>] [level-1 | level-2]} {}
@deffnx {Interface Command} {no isis metric} {}
@deffnx {Interface Command} {no isis metric [level-1 | level-2]} {}
Set default metric value globally, for an area (level-1) or a domain (level-2).
Max value depend if metric support narrow or wide value (see command @ref{metric-style}).
@end deffn

@deffn {Interface Command} {isis network point-to-point} {}
@deffnx {Interface Command} {no isis network point-to-point} {}
Set network type to 'Point-to-Point' (broadcast by default).
@end deffn

@deffn {Interface Command} {isis passive} {}
@deffnx {Interface Command} {no isis passive} {}
Configure the passive mode for this interface.
@end deffn

@deffn {Interface Command} {isis password [clear | md5] <password>} {}
@deffnx {Interface Command} {no isis password} {}
Configure the authentication password (clear or encoded text) for the interface.
@end deffn

@deffn {Interface Command} {isis priority <0-127>} {}
@deffnx {Interface Command} {isis priority <0-127> [level-1 | level-2]} {}
@deffnx {Interface Command} {no isis priority} {}
@deffnx {Interface Command} {no isis priority [level-1 | level-2]} {}
Set priority for Designated Router election, globally, for the area (level-1)
or the domain (level-2).
@end deffn

@deffn {Interface Command} {isis psnp-interval <1-120>} {}
@deffnx {Interface Command} {isis psnp-interval <1-120> [level-1 | level-2]} {}
@deffnx {Interface Command} {no isis psnp-interval} {}
@deffnx {Interface Command} {no isis psnp-interval [level-1 | level-2]} {}
Set PSNP interval in seconds globally, for an area (level-1) or a domain (level-2).
@end deffn

@node Showing ISIS information
@section Showing ISIS information

@deffn {Command} {show isis summary} {}
Show summary information about ISIS.
@end deffn

@deffn {Command} {show isis hostname} {}
Show information about ISIS node.
@end deffn

@deffn {Command} {show isis interface} {}
@deffnx {Command} {show isis interface detail} {}
@deffnx {Command} {show isis interface <interface name>} {}
Show state and configuration of ISIS specified interface, or all
interfaces if no interface is given with or without details.
@end deffn

@deffn {Command} {show isis neighbor} {}
@deffnx {Command} {show isis neighbor <System Id>} {}
@deffnx {Command} {show isis neighbor detail} {}
Show state and information of ISIS specified neighbor, or all
neighbors if no system id is given with or without details.
@end deffn

@deffn {Command} {show isis database} {}
@deffnx {Command} {show isis database [detail]} {}
@deffnx {Command} {show isis database <LSP id> [detail]} {}
@deffnx {Command} {show isis database detail <LSP id>} {}
Show the ISIS database globally, for a specific LSP id without or with details.
@end deffn

@deffn {Command} {show isis topology} {}
@deffnx {Command} {show isis topology [level-1|level-2]} {}
Show topology IS-IS paths to Intermediate Systems, globally,
in area (level-1) or domain (level-2).
@end deffn

@deffn {Command} {show ip route isis} {}
Show the ISIS routing table, as determined by the most recent SPF calculation.
@end deffn

@node ISIS Traffic Engineering
@section Traffic Engineering

@deffn {ISIS Command} {mpls-te on} {}
@deffnx {ISIS Command} {no mpls-te} {}
Enable Traffic Engineering LSP flooding.
@end deffn

@deffn {ISIS Command} {mpls-te router-address <A.B.C.D>} {}
@deffnx {ISIS Command} {no mpls-te router-address} {}
Configure stable IP address for MPLS-TE.
@end deffn

@deffn {Command} {show isis mpls-te interface} {}
@deffnx {Command} {show isis mpls-te interface @var{interface}} {}
Show MPLS Traffic Engineering parameters for all or specified interface.
@end deffn

@deffn {Command} {show isis mpls-te router} {}
Show Traffic Engineering router parameters.
@end deffn

@node Debugging ISIS
@section Debugging ISIS

@deffn {Command} {debug isis adj-packets} {}
@deffnx {Command} {no debug isis adj-packets} {}
IS-IS Adjacency related packets.
@end deffn

@deffn {Command} {debug isis checksum-errors} {}
@deffnx {Command} {no debug isis checksum-errors} {}
IS-IS LSP checksum errors.
@end deffn

@deffn {Command} {debug isis events} {}
@deffnx {Command} {no debug isis events} {}
IS-IS Events.
@end deffn

@deffn {Command} {debug isis local-updates} {}
@deffnx {Command} {no debug isis local-updates} {}
IS-IS local update packets.
@end deffn

@deffn {Command} {debug isis packet-dump} {}
@deffnx {Command} {no debug isis packet-dump} {}
IS-IS packet dump.
@end deffn

@deffn {Command} {debug isis protocol-errors} {}
@deffnx {Command} {no debug isis protocol-errors} {}
IS-IS LSP protocol errors.
@end deffn

@deffn {Command} {debug isis route-events} {}
@deffnx {Command} {no debug isis route-events} {}
IS-IS Route related events.
@end deffn

@deffn {Command} {debug isis snp-packets} {}
@deffnx {Command} {no debug isis snp-packets} {}
IS-IS CSNP/PSNP packets.
@end deffn

@deffn {Command} {debug isis spf-events} {}
@deffnx {Command} {debug isis spf-statistics} {}
@deffnx {Command} {debug isis spf-triggers} {}
@deffnx {Command} {no debug isis spf-events} {}
@deffnx {Command} {no debug isis spf-statistics} {}
@deffnx {Command} {no debug isis spf-triggers} {}
IS-IS Shortest Path First Events, Timing and Statistic Data
and triggering events.
@end deffn

@deffn {Command} {debug isis update-packets} {}
@deffnx {Command} {no debug isis update-packets} {}
Update related packets.
@end deffn

@deffn {Command} {show debugging isis} {}
Print which ISIS debug level is activate.
@end deffn

@node ISIS Configuration Examples
@section ISIS Configuration Examples
A simple example, with MD5 authentication enabled:

@example
@group
!
interface eth0
 ip router isis FOO
 isis network point-to-point
 isis circuit-type level-2-only
!
router isis FOO
net 47.0023.0000.0000.0000.0000.0000.0000.1900.0004.00
 metric-style wide
 is-type level-2-only
@end group
@end example


A Traffic Engineering configuration, with Inter-ASv2 support.

 - First, the 'zebra.conf' part:

@example
@group
hostname HOSTNAME
password PASSWORD
log file /var/log/zebra.log
!
interface eth0
 ip address 10.2.2.2/24
 mpls-te on
 mpls-te link metric 10
 mpls-te link max-bw 1.25e+06
 mpls-te link max-rsv-bw 1.25e+06
 mpls-te link unrsv-bw 0 1.25e+06
 mpls-te link unrsv-bw 1 1.25e+06
 mpls-te link unrsv-bw 2 1.25e+06
 mpls-te link unrsv-bw 3 1.25e+06
 mpls-te link unrsv-bw 4 1.25e+06
 mpls-te link unrsv-bw 5 1.25e+06
 mpls-te link unrsv-bw 6 1.25e+06
 mpls-te link unrsv-bw 7 1.25e+06
 mpls-te link rsc-clsclr 0xab
!
interface eth1
 ip address 10.1.1.1/24
 mpls-te on
 mpls-te link metric 10
 mpls-te link max-bw 1.25e+06
 mpls-te link max-rsv-bw 1.25e+06
 mpls-te link unrsv-bw 0 1.25e+06
 mpls-te link unrsv-bw 1 1.25e+06
 mpls-te link unrsv-bw 2 1.25e+06
 mpls-te link unrsv-bw 3 1.25e+06
 mpls-te link unrsv-bw 4 1.25e+06
 mpls-te link unrsv-bw 5 1.25e+06
 mpls-te link unrsv-bw 6 1.25e+06
 mpls-te link unrsv-bw 7 1.25e+06
 mpls-te link rsc-clsclr 0xab
 mpls-te neighbor 10.1.1.2 as 65000
@end group
@end example

 - Then the 'isisd.conf' itself:

@example
@group
hostname HOSTNAME
password PASSWORD
log file /var/log/isisd.log
!
!
interface eth0
 ip router isis FOO
!
interface eth1
 ip router isis FOO
!
!
router isis FOO
 isis net 47.0023.0000.0000.0000.0000.0000.0000.1900.0004.00
  mpls-te on
  mpls-te router-address 10.1.1.1
!
line vty
@end group
@end example