isis: add configuration commands and their explanations

This commit is contained in:
Leonid Voronkin 2021-01-13 00:30:41 +04:00 committed by GitHub
parent 0f51282eb4
commit 3ab0c2e760
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

View File

@ -7,12 +7,13 @@ IS-IS
#####
:abbr:`IS-IS (Intermediate System to Intermediate System)` is a link-state
interior gateway routing protocol. Like OSPF, IS-IS runs the Dijkstra
shortest-path first (SPF) algorithm to create a database of the networks
topology and, from that database, to determine the best (that is, shortest)
path to a destination. The routers exchange topology information with their
nearest neighbors. IS-IS runs directly on the data link layer (Layer 2).
IS-IS addresses are called :abbr:`NETs (Network Entity Titles)` and can be
interior gateway routing protocol which is described in ISO10589,
:rfc:`1195`, :rfc:`5308`. Like OSPF, IS-IS runs the Dijkstra shortest-path
first (SPF) algorithm to create a database of the networks topology and,
from that database, to determine the best (that is, shortest) path to a
destination. The routers exchange topology information with their nearest
neighbors. IS-IS runs directly on the data link layer (Layer 2). IS-IS
addresses are called :abbr:`NETs (Network Entity Titles)` and can be
8 to 20 bytes long, but are generally 10 bytes long.
For example :abbr:`NET (Network Entity Title)`
@ -36,6 +37,232 @@ The IS-IS address consists of three parts:
NET selector:
``00`` Must always be 00, to indicate "this system".
General Configuration
---------------------
.. cfgcmd:: set protocols isis <name> net <network-entity-title>
This command enables the ISIS process by specifying the ISIS domain with
name. ISIS implementation does not yet support multiple ISIS processes
but you must specify the name of ISIS process. This commad also sets
network entity title (NET) provided in ISO format.
.. cfgcmd:: set protocols isis <name> interface <interface>
This command activates 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.
.. cfgcmd:: set protocols isis <name> dynamic-hostname
This command enables support for dynamic hostname. Dynamic hostname mapping
determined as described in :rfc:`2763`, Dynamic Hostname Exchange Mechanism
for IS-IS.
.. cfgcmd:: set protocols isis <name> level <level-1|level-1-2|level-2>
This command defines 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.
.. cfgcmd:: set protocols isis <name> lsp-mtu <size>
This command configures the maximum size of generated LSPs, in bytes. The
size range is 128 to 4352.
.. cfgcmd:: set protocols isis <name> metric-style <narrow|transition|wide>
This command sets 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.
.. cfgcmd:: set protocols isis <name> purge-originator
This command enables :rfc:`6232` purge originator identification. Enable
purge originator identification (POI) by adding the type, length and value
(TLV) with the Intermediate System (IS) identification to the LSPs that do
not contain POI information. If an IS generates a purge, VyOS adds this TLV
with the system ID of the IS to the purge.
.. cfgcmd:: set protocols isis <name> set-attached-bit
This command sets ATT bit to 1 in Level1 LSPs. It is described in :rfc:`3787`.
.. cfgcmd:: set protocols isis <name> set-overload-bit
This command sets overload bit to avoid any transit traffic through this
router. It is described in :rfc:`3787`.
.. cfgcmd:: set protocols isis name default-information originate <ipv4|ipv6>
level-1
This command will generate a default-route in L1 database.
.. cfgcmd:: set protocols isis name default-information originate <ipv4|ipv6>
level-2
This command will generate a default-route in L2 database.
Interfaces Configuration
------------------------
.. cfgcmd:: set protocols isis <name> interface <interface> circuit-type
<level-1|level-1-2|level-2-only>
This command specifies 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
.. cfgcmd:: set protocols isis <name> interface <interface> hello-interval
<seconds>
This command sets hello interval in seconds on a given interface.
The range is 1 to 600.
.. cfgcmd:: set protocols isis <name> interface <interface> hello-multiplier
<seconds>
This command sets multiplier for hello holding time on a given
interface. The range is 2 to 100.
.. cfgcmd:: set protocols isis <name> interface <interface> hello-padding
This command configures padding on hello packets to accommodate asymmetrical
maximum transfer units (MTUs) from different hosts as described in
:rfc:`3719`. This helps to prevent a premature adjacency Up state when one
routing devices MTU does not meet the requirements to establish the
adjacency.
.. cfgcmd:: set protocols isis <name> interface <interface> metric <metric>
This command set default metric for circuit. The metric range is 1 to
16777215 (Max value depend if metric support narrow or wide value).
.. cfgcmd:: set protocols isis <name> interface <interface> network
point-to-point
This command specifies network type to Point-to-Point. The default network
type is broadcast.
.. cfgcmd:: set protocols isis <name> interface <interface> passive
This command configures the passive mode for this interface.
.. cfgcmd:: set protocols isis <name> interface <interface> password
plaintext-password <text>
This command configures the authentication password for the interface.
.. cfgcmd:: set protocols isis <name> interface <interface> priority <number>
This command sets priority for the interface for
:abbr:`DIS (Designated Intermediate System)` election. The priority
range is 0 to 127.
.. cfgcmd:: set protocols isis <name> interface <interface> psnp-interval
<number>
This command sets PSNP interval in seconds. The interval range is 0
to 127.
.. cfgcmd:: set protocols isis <name> interface <interface>
three-way-handshake
This command enables :rfc:`5303` Three-Way Handshake for P2P adjacencies.
Three-Way Handshake is enabled by default.
Redistribution Configuration
----------------------------
.. cfgcmd:: set protocols isis <name> redistribute ipv4 <route source> level-1
This command redistributes routing information from the given route source
into the ISIS database as Level-1. There are six modes available for route
source: bgp, connected, kernel, ospf, rip, static.
.. cfgcmd:: set protocols isis <name> redistribute ipv4 <route source> level-2
This command redistributes routing information from the given route source
into the ISIS database as Level-2. There are six modes available for route
source: bgp, connected, kernel, ospf, rip, static.
.. cfgcmd:: set protocols isis <name> redistribute ipv4 <route source>
<level-1|level-2> metric <number>
This command specifies metric for redistributed routes from the given route
source. There are six modes available for route source: bgp, connected,
kernel, ospf, rip, static. The metric range is 1 to 16777215.
.. cfgcmd:: set protocols isis <name> redistribute ipv4 <route source>
<level-1|level-2> route-map <name>
This command allows to use route map to filter redistributed routes from
the given route source. There are six modes available for route source:
bgp, connected, kernel, ospf, rip, static.
Timers Configuration
--------------------
.. cfgcmd:: set protocols isis <name> lsp-gen-interval <seconds>
This command sets minimum interval in seconds between regenerating same
LSP. The interval range is 1 to 120.
.. cfgcmd:: set protocols isis <name> lsp-refresh-interval <seconds>
This command sets LSP refresh interval in seconds. IS-IS generates LSPs
when the state of a link changes. However, to ensure that routing
databases on all routers remain converged, LSPs in stable networks are
generated on a regular basis even though there has been no change to
the state of the links. The interval range is 1 to 65235. The default
value is 900 seconds.
.. cfgcmd:: set protocols isis <name> max-lsp-lifetime <seconds>
This command sets LSP maximum LSP lifetime in seconds. The interval range
is 350 to 65535. LSPs remain in a database for 1200 seconds by default.
If they are not refreshed by that time, they are deleted. You can change
the LSP refresh interval or the LSP lifetime. The LSP refresh interval
should be less than the LSP lifetime or else LSPs will time out before
they are refreshed.
.. cfgcmd:: set protocols isis <name> spf-interval <seconds>
This command sets minimum interval between consecutive SPF calculations in
seconds.The interval range is 1 to 120.
.. cfgcmd:: set protocols isis <name> spf-delay-ietf holddown <milliseconds>
.. cfgcmd:: set protocols isis <name> spf-delay-ietf init-delay
<milliseconds>
.. cfgcmd:: set protocols isis <name> spf-delay-ietf long-delay
<milliseconds>
.. cfgcmd:: set protocols isis <name> spf-delay-ietf short-delay
<milliseconds>
.. cfgcmd:: set protocols isis <name> spf-delay-ietf time-to-learn
<milliseconds>
This commands specifies the Finite State Machine (FSM) intended to
control the timing of the execution of SPF calculations in response
to IGP events. The process described in :rfc:`8405`.
Configuration Example
---------------------
Simple IS-IS configuration using 2 nodes and redistributing connected
interfaces.