isisd.texi 14 KB

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