Configuring IS-IS

This chapter describes how to configure Integrated Intermediate System-to-Intermediate System (IS-IS) on the Cisco NX-OS device.

This chapter includes the following sections:

About IS-IS

IS-IS is an Interior Gateway Protocol (IGP) based on Standardization (ISO)/International Engineering Consortium (IEC) 10589. Cisco NX-OS supports Internet Protocol version 4 (IPv4) and IPv6. IS-IS is a dynamic link-state routing protocol that can detect changes in the network topology and calculate loop-free routes to other nodes in the network. Each router maintains a link-state database that describes the state of the network and sends packets on every configured link to discover neighbors. IS-IS floods the link-state information across the network to each neighbor. The router also sends advertisements and updates on the link-state database through all the existing neighbors.

IS-IS Overview

IS-IS sends a hello packet out every configured interface to discover IS-IS neighbor routers. The hello packet contains information, such as the authentication, area, and supported protocols, which the receiving interface uses to determine compatibility with the originating interface. The hello packets are also padded to ensure that IS-IS establishes adjacencies only with interfaces that have matching maximum transmission unit (MTU) settings. Compatible interfaces form adjacencies, which update routing information in the link-state database through link-state update messages (LSPs). By default, the router sends a periodic LSP refresh every 10 minutes and the LSPs remain in the link-state database for 20 minutes (the LSP lifetime). If the router does not receive an LSP refresh before the end of the LSP lifetime, the router deletes the LSP from the database.

The LSP interval must be less than the LSP lifetime or the LSPs time out before they are refreshed.

IS-IS sends periodic hello packets to adjacent routers. If you configure transient mode for hello packets, these hello packets do not include the excess padding used before IS-IS establishes adjacencies. If the MTU value on adjacent routers changes, IS-IS can detect this change and send padded hello packets for a period of time. IS-IS uses this feature to detect mismatched MTU values on adjacent routers. For more information, see the Configuring the Transient Mode for Hello Padding section.

IS-IS Areas

You can design IS-IS networks as a single area that includes all routers in the network or as multiple areas that connect into a backbone or Level 2 area. Routers in a nonbackbone area are Level 1 routers that establish adjacencies within a local area (intra-area routing). Level 2 area routers establish adjacencies to other Level 2 routers and perform routing between Level 1 areas (inter-area routing). A router can have both Level 1 and Level 2 areas configured. These Level 1/Level 2 routers act as area border routers that route information from the local area to the Level 2 backbone area (see Figure 7-1).

Within a Level 1 area, routers know how to reach all other routers in that area. The Level 2 routers know how to reach other area border routers and other Level 2 routers. Level 1/Level 2 routers straddle the boundary between two areas, routing traffic to and from the Level 2 backbone area. Level1/Level2 routers use the attached (ATT) bit signal Level 1 routers to set a default route to this Level1/Level2 router to connect to the Level 2 area.

In some instances, such as when you have two or more Level1/Level 2 routers in an area, you may want to control which Level1/Level2 router that the Level 1 routers use as the default route to the Level 2 area. You can configure which Level1/Level2 router sets the attached bit. For more information, see the Verifying the IS-IS Configuration section.

Each IS-IS instance in Cisco NX-OS supports either a single Level 1 or Level 2 area, or one of each. By default, all IS-IS instances automatically support Level 1 and Level 2 routing.

Figure 1. IS-IS Network Divided into Areas

An autonomous system boundary router (ASBR) advertises external destinations throughout the IS-IS autonomous system. External routes are the routes redistributed into IS-IS from any other protocol.

NET and System ID

Each IS-IS instance has an associated network entity title (NET). The NET is comprised of the IS-IS system ID, which uniquely identifies this IS-IS instance in the area and the area ID. For example, if the NET is 47.0004.004d.0001.0001.0c11.1111.00, the system ID is 0001.0c11.1111.00 and the area is ID 47.0004.004d.0001.

Designated Intermediate System

IS-IS uses a designated intermediate system (DIS) in broadcast networks to prevent each router from forming unnecessary links with every other router on the broadcast network. IS-IS routers send LSPs to the DIS, which manages all the link-state information for the broadcast network. You can configure the IS-IS priority that IS-IS uses to select the DIS in an area.


Note


No DIS is required on a point-to-point network.


IS-IS Authentication

You can configure authentication to control adjacencies and the exchange of LSPs. Routers that want to become neighbors must exchange the same password for their configured level of authentication. IS-IS blocks a router that does not have the correct password. You can configure IS-IS authentication globally or for an individual interface for Level 1, Level 2, or both Level 1/Level 2 routing.

IS-IS supports the following authentication methods:

  • Clear text—All packets exchanged carry a cleartext 128-bit password.

  • MD5 digest—All packets exchanged carry a message digest that is based on a 128-bit key.

To provide protection against passive attacks, IS-IS never sends the MD5 secret key as cleartext through the network. In addition, IS-IS includes a sequence number in each packet to protect against replay attacks.

You can also use keychains for hello and LSP authentication. See the Cisco Nexus 3600 NX-OS Security Configuration Guide for information on keychain management.

Mesh Groups

A mesh group is a set of interfaces in which all routers reachable over the interfaces have at least one link to every other router. Many links can fail without isolating one or more routers from the network.

In normal flooding, an interface receives a new LSP and floods the LSP out over all other interfaces on the router. With mesh groups, when an interface that is part of a mesh group receives a new LSP, the interface does not flood the new LSP over the other interfaces that are part of that mesh group.


Note


You may want to limit LSPs in certain mesh network topologies to improve network scalability. Limiting LSP floods might also reduce the reliability of the network (in case of failures). For this reason, we recommend that you use mesh groups only if specifically required, and then only after you make a careful network design.


You can also configure mesh groups in block mode for parallel links between routers. In this mode, all LSPs are blocked on that interface in a mesh group after the routers initially exchange their link-state information.

Overload Bit

IS-IS uses the overload bit to tell other routers not to use the local router to forward traffic but to continue routing traffic destined for that local router.

You may want to use the overload bit in these situations:

  • The router is in a critical condition.

  • Graceful introduction and removal of the router to/from the network.

  • Other (administrative or traffic engineering) reasons such as waiting for BGP convergence.

Route Summarization

You can configure a summary aggregate address. Route summarization simplifies route tables by replacing a number of more-specific addresses with an address that represents all the specific addresses. For example, you can replace 10.1.1.0/24, 10.1.2.0/24, and 10.1.3.0/24 with one summary address, 10.1.0.0/16.

If more specific routes are in the routing table, IS-IS advertises the summary address with a metric equal to the minimum metric of the more specific routes.


Note


Cisco NX-OS does not support automatic route summarization.


Configuring Redistribution

You can configure IS-IS to accept routing information from another routing protocol and redistribute that information through the IS-IS network. You can optionally assign a default route for redistributed routes.

Before you begin

You must enable IS-IS (see the Enabling the IS-IS Feature section).

Procedure

  Command or Action Purpose

Step 1

configure terminal

Example:

switch# configure terminal
switch(config)#

Enters global configuration mode.

Step 2

router isis instance-tag

Example:

switch(config)# router isis Enterprise
switch(config-router)#

Creates a new IS-IS instance with the configured instance tag .

Step 3

address-family {ipv4 | ipv6} unicast

Example:

switch(config-router)# address-family ipv4 unicast
switch(config-router-af)#

Enters address family configuration mode.

Step 4

redistribute { bgp as | direct |{ eigrp | isis | ospf | ospfv3 | rip } instance-tag | static } route-map map-name

Example:

switch(config-router-af)# redistribute eigrp 201 route-map ISISmap

Redistributes routes from other protocols into IS-IS. See the Configuring Route Maps section for more information about route maps.

Step 5

(Optional) default-information originate [ always ] [ route-map map-name ]

Example:

switch(config-router-af)# default-information originate always
(Optional)

Generates a default route into IS-IS.

Step 6

(Optional) distribute { level-1 | level-2 } into { level-1 | level-2 } { route-map route-map | all }

Example:

switch(config-router-af)# distribute level-1 into level-2 all
(Optional)

Redistributes routes from one IS-IS level to the other IS-IS level.

Step 7

(Optional) show isis [ vrf vrf-name ] { ip | ipv6} route ip-prefix [ detail | longer-prefixes [ summary | detail ]]

Example:

switch(config-if)# show isis ip summary-address
(Optional)

Shows the IS-IS routes.

Step 8

(Optional) copy running-config startup-config

Example:

switch(config-if)# copy running-config startup-config
(Optional)

Saves this configuration change.

Example

This example shows how to redistribute EIGRP into IS-IS:

switch# configure terminal
switch(config)# router isis Enterprise
switch(config-router)# address-family ipv4 unicast
switch(config-router-af)# redistribute eigrp 201 route-map ISISmap
switch(config-router-af)# copy running-config startup-config

Link Prefix Suppression

By default, IS-IS advertises the addresses of connected interfaces in the system LSP. By suppressing the advertisement of unwanted interface addresses, you can reduce the size of LSPs and reduce the number of routes that IS-IS maintains, improving convergence times.

Two prefix suppression methods are provided for reducing the number of routes in the LSP:

Load Balancing

You can use load balancing to allow a router to distribute traffic over all the router network ports that are the same distance from the destination address. Load balancing increases the utilization of network segments and increases the effective network bandwidth.

Cisco NX-OS supports the Equal Cost Multiple Paths (ECMP) feature with up to 64 equal-cost paths in the IS-IS route table and the unicast RIB. You can configure IS-IS to load balance traffic across some or all of those paths.

BFD

This feature supports bidirectional forwarding detection (BFD) for IPv4 and IPv6. BFD is a detection protocol designed to provide fast forwarding-path failure detection times. BFD provides subsecond failure detection between two adjacent devices and can be less CPU-intensive than protocol hello messages because some of the BFD load can be distributed onto the data plane on supported modules. See the Cisco Nexus 3600 NX-OS Interfaces Configuration Guide for more information.

Virtualization Support

Cisco NX-OS supports multiple process instances for IS-IS. Each IS-IS instance can support multiple virtual routing and forwarding (VRF) instances, up to the system limit. For the number of supported IS-IS instances, see the Cisco Nexus 3600 NX-OS Verified Scalability Guide.

High Availability and Graceful Restart

Cisco NX-OS provides a multilevel high-availability architecture. IS-IS supports stateful restart, which is also referred to as non-stop routing (NSR). If IS-IS experiences problems, it attempts to restart from its previous run-time state. The neighbors would not register any neighbor event in this case. If the first restart is not successful and another problem occurs, IS-IS attempts a graceful restart as per RFC 3847. A graceful restart, or non-stop forwarding (NSF), allows IS-IS to remain in the data forwarding path through a process restart. When the restarting IS-IS interface is operational again, it rediscovers its neighbors, establishes adjacency, and starts sending its updates again. At this point, the NSF helpers recognize that the graceful restart has finished.

A stateful restart is used in the following scenarios:

  • First recovery attempt after process experiences problems

  • User-initiated switchover using the system switchover command

A graceful restart is used in the following scenarios:

  • Second recovery attempt after the process experiences problems within a 4-minute interval

  • Manual restart of the process using the restart isis command

  • Active supervisor removal

  • Active supervisor reload using the reload module active-sup command


Note


Graceful restart is on by default, and we strongly recommend that you do not disable it.


Multiple IS-IS Instances

Cisco NX-OS supports multiple instances of the IS-IS protocol that run on the same node. You cannot configure multiple instances over the same interface. Every instance uses the same system router ID. For the number of supported IS-IS instances, see the Cisco Nexus 3600 NX-OS Verified Scalability Guide.

Prerequisites for IS-IS

IS-IS has the following prerequisites:

Guidelines and Limitations for IS-IS

IS-IS has the following configuration guidelines and limitations:

  • Because the default reference bandwidth is different for Cisco NX-OS and Cisco IOS, the advertised tunnel IS-IS metric is different for these two operating systems.

Default Settings

The following table lists the default settings for IS-IS parameters.

Table 1. Default IS-IS Parameters

Parameters

Default

Administrative distance

115

Area level

Level-1-2

DIS priority

64

Graceful restart

Enabled

Hello multiplier

3

Hello padding

Enabled

Hello time

10 seconds

IS-IS feature

Disabled

LSP interval

33

LSP MTU

1492

Maximum LSP lifetime

1200 seconds

Maximum paths

8

Metric

40

Reference bandwidth

40 Gbps

Configuring IS-IS

IS-IS Configuration Modes

The following sections show how to enter each of the configuration modes. From a mode, you can enter the ? command to display the commands available in that mode.

Router Configuration Mode

This example shows how to enter router configuration mode:

switch#: configure terminal
switch(config)# router isis isp
switch(config-router)#

Router Address Family Configuration Mode

This example shows how to enter router address family configuration mode:

switch(config)# router isis isp
switch(config-router)# address-family ipv4 unicast
switch(config-router-af)#

Enabling the IS-IS Feature

You must enable the IS-IS feature before you can configure IS-IS.

Procedure

  Command or Action Purpose

Step 1

configure terminal

Example:

switch# configure terminal
switch(config)#

Enters global configuration mode.

Step 2

feature isis

Example:

switch(config)# feature isis

Enables the IS-IS feature.

Step 3

(Optional) show feature

Example:

switch(config)# show feature
(Optional)

Displays enabled and disabled features.

Step 4

copy running-config startup-config

Example:

switch(config)# copy running-config startup-config

Saves this configuration change.

Example

To disable the IS-IS feature and remove all associated configuration, use the following command in configuration mode:

Command

Purpose

no feature isis

Example:

switch(config)# no feature isis

Disables the IS-IS feature and removes all associated configurations.

Creating an IS-IS Instance

You can create an IS-IS instance and configure the area level for that instance.

Before you begin

You must enable IS-IS (see the Enabling the IS-IS Feature section).

Procedure

  Command or Action Purpose

Step 1

configure terminal

Example:

switch# configure terminal
switch(config)#

Enters global configuration mode.

Step 2

router isis instance-tag

Example:

switch(config)# router isis Enterprise
switch(config-router)#

Creates a new IS-IS instance with the configured instance tag .

Step 3

net network-entity-title

Example:

switch(config-router)# net 47.0004.004d.0001.0001.0c11.1111.00

Configures the NET for this IS-IS instance.

Step 4

(Optional) is-type { level-1 | level-2 | level-1-2 }

Example:

switch(config-router)# is-type level-2
(Optional)

Configures the area level for this IS-IS instance. The default is level-1-2.

Step 5

(Optional) show isis [ vrf vrf-name ] process

Example:

switch(config)# show isis process
(Optional)

Displays a summary of IS-IS information for all IS-IS instances.

Step 6

(Optional) copy running-config startup-config

Example:

switch(config)# copy running-config startup-config
(Optional)

Saves this configuration change.

Example

To remove the IS-IS instance and the associated configuration, use the following command in configuration mode:

Command

Purpose

no router isis instance-tag

Deletes the IS-IS instance and all associated configurations.


Note


You must also remove any IS-IS commands that are configured in interface mode to completely remove all configurations for the IS-IS instance.


You can configure the following optional parameters for IS-IS:

Command

Purpose

distance value

Example:

switch(config-router)# distance 30

Sets the administrative distance for IS-IS. The range is from 1 to 255. The default is 115.

log-adjacency-changes

Example:

switch(config-router)# log-adjacency-changes

Sends a system message whenever an IS-IS neighbor changes the state.

lsp-mtu size

Example:

switch(config-router)# lsp-mtu 600

Sets the MTU for LSPs in this IS-IS instance. The range is from 128 to 4352 bytes. The default is 1492.

maximum-paths number

Example:

switch(config-router)# maximum-paths 6

Configures the maximum number of equal-cost paths that IS-IS maintains in the route table. The range is from 1 to 64. The default is 8.

reference-bandwidth bandwidth-value { Mbps | Gbps }

Example:

switch(config-router)# reference-bandwidth 100 Gbps

Sets the default reference bandwidth used for calculating the IS-IS cost metric. The range is from 1 to 4000 Gbps. The default is 40 Gbps.

This example shows how to create an IS-IS instance in a level 2 area:

switch# configure terminal
switch(config)# router isis Enterprise
switch(config-router)# net 47.0004.004d.0001.0001.0c11.1111.00
switch(config-router)# is-type level 2
switch(config-router)# copy running-config startup-config

To clear neighbor statistics and remove adjacencies, use the following command in router configuration mode:

Command

Purpose

clear isis [ instance-tag ] adjacency [ * | system-id | interface ]

Example:

switch(config-if)# clear isis adjacency *

Clears neighbor statistics and removed adjacencies for this IS-IS instance.

Restarting an IS-IS Instance

You can restart an IS-IS instance. This action clears all neighbors for the instance.

To restart an IS-IS instance and remove all associated neighbors, use the following command:

Procedure

Command or Action Purpose

restart isis instance-tag

Example:

switch(config)# restart isis Enterprise

Restarts the IS-IS instance and removes all neighbors.

Shutting Down IS-IS

You can shut down the IS-IS instance. This action disables this IS-IS instance and retains the configuration.

To shut down the IS-IS instance, use the following command in router configuration mode:

Procedure

Command or Action Purpose

shutdown

Example:

switch(config-router)# shutdown

Disables the IS-IS instance.

Configuring IS-IS Authentication in an Area

You can configure IS-IS to authenticate LSPs in an area.

Before you begin

You must enable IS-IS. See Enabling the IS-IS.

You must configure the keychain in global configuration mode if you reference it from the IS-IS configuration. See "Configuring Keychain Management" in the Cisco Nexus 9000 Series NX-OS Security Configuration Guide.

Procedure

  Command or Action Purpose

Step 1

configure terminal

Example:

switch# configure terminal
switch(config)#

Enters global configuration mode.

Step 2

router isis instance-tag

Example:

switch(config)# router isis Enterprise
switch(config-router)#

Creates a new IS-IS instance with the configured instance tag .

Step 3

authentication-type { cleartext | md5 } { level-1 | level-2 }

Example:

switch(config-router)# authentication-type cleartext level-2

Sets the authentication method used for a Level 1 or Level 2 area as cleartext or as an MD5 authentication digest.

Step 4

authentication key-chain key { level-1 | level-2 }

Example:

authentication key-chain key { level-1 | level-2 }

Configures the authentication key that is used for an IS-IS area-level authentication.

Step 5

(Optional) authentication-check { level-1 | level-2 }

Example:

switch(config-router)# authentication-check level-2
(Optional)

Enables checking the authentication parameters in a received packet.

Step 6

(Optional) copy running-config startup-config

Example:

switch(config-router)# copy running-config startup-config
(Optional)

Saves this configuration change.

Example

This example shows how to configure cleartext authentication on an IS-IS instance:

switch# configure terminal
switch(config)# router isis Enterprise
switch(config-router)# authentication-type cleartext level-2
switch(config-router)# authentication key-chain ISISKey level-2
switch(config-router)# copy running-config startup-config

Configuring IS-IS Authentication on an Interface

You can configure IS-IS to authenticate Hello packets on an interface.

Before you begin

You must enable IS-IS (see the Enabling the IS-IS Feature section).

Procedure

  Command or Action Purpose

Step 1

configure terminal

Example:

switch# configure terminal
switch(config)#

Enters global configuration mode.

Step 2

interface interface-type slot/port

Example:

switch(config)# interface ethernet 1/2
switch(config-if)#

Enters interface configuration mode.

Step 3

isis authentication-type { cleartext | md5 } { level-1 | level-2 }

Example:

switch(config-if)# isis authentication-type cleartext level-2

Sets the authentication type for IS-IS on this interface as cleartext or as an MD5 authentication digest.

Step 4

isis authentication key-chain key { level-1 | level-2 }

Example:

switch(config-if)# isis authentication key-chain ISISKey level-2

Configures the authentication key used for IS-IS on this interface.

Step 5

(Optional) isis authentication-check { level-1 | level-2}

Example:

switch(config-if)# isis authentication-check
(Optional)

Enables checking the authentication parameters in a received packet.

Step 6

(Optional) copy running-config startup-config

Example:

switch(config-if)# copy running-config startup-config
(Optional)

Saves this configuration change.

Example

This example shows how to configure cleartext authentication on an IS-IS instance:

switch# configure terminal
switch(config)# interface ethernet 1/2
switch(config-if)# isis authentication-type cleartext level-2
switch(config-if)# isis authentication key-chain ISISKey
switch(config-if)# copy running-config startup-config

Configuring a Mesh Group

You can add an interface to a mesh group to limit the amount of LSP flooding for interfaces in that mesh group. You can optionally block all LSP flooding on an interface in a mesh group.

To add an interface to a mesh group, use the following command in interface configuration mode:

Procedure

Command or Action Purpose

isis mesh-group { blocked | mesh-id }

Example:

switch(config-if)# isis mesh-group 1

Adds this interface to a mesh group. The range is from 1 to 4294967295.

Configuring a Designated Intermediate System

You can configure a router to become the designated intermediate system (DIS) for a multiaccess network by setting the interface priority.

To configure the DIS, use the following command in interface configuration mode:

Procedure

Command or Action Purpose

isis priority number { level-1 | level-2 }

Example:

switch(config-if)# isis priority 100 level-1

Sets the priority for DIS selection. The range is from 0 to 127. The default is 64.

Configuring Dynamic Host Exchange

You can configure IS-IS to map between the system ID and the hostname for a router using dynamic host exchange.

To configure dynamic host exchange, use the following command in router configuration mode:

Procedure

Command or Action Purpose

hostname dynamic

Example:

switch(config-router)# hostname dynamic

Enables dynamic host exchange.

Setting the Overload Bit

You can configure the router to signal other routers not to use this router as an intermediate hop in their shortest path first (SPF) calculations. You can optionally configure the overload bit temporarily on startup, until BGP converges.

In addition to setting the overload bit, you might also want to suppress certain types of IP prefix advertisements from LSPs for Level 1 or Level 2 traffic.

To set the overload bit, use the following command in router configuration mode:

Procedure

Command or Action Purpose

set-overload-bit { always | on-startup { seconds | wait-for bgp as-number }} [ suppress [ interlevel | external ]]

Example:

switch(config-router)# set-overload-bit on-startup 30

Sets the overload bit for IS-IS. The seconds range is from 5 to 86400.

Configuring the Attached Bit

You can configure the attached bit to control which Level 1/Level 2 router that the Level 1 routers use as the default route to the Level 2 area. If you disable setting the attached bit, the Level 1 routers do not use this Level 1/Level 2 router to reach the Level 2 area.

To configure the attached bit for a Level 1/Level 2 router, use the following command in router configuration mode:

Procedure

Command or Action Purpose

[ no ] attached-bit

Example:

switch(config-router)# no attached-bit

Configures the Level 1/Level 2 router to set the attached bit. This feature is enabled by default.

Configuring the Transient Mode for Hello Padding

You can configure the transient mode for hello padding to pad hello packets when IS-IS establishes adjacency and remove that padding after IS-IS establishes adjacency.

To configure the mode for hello padding, use the following command in router configuration mode:

Command

Purpose

[ no ] isis hello-padding

Example :

switch(config-if)# no isis hello-padding

Pads the hello packet to the full maximum transmission unit (MTU). The default is enabled. Use the no form of this command to configure the transient mode of hello padding.

Configuring a Summary Address

You can create aggregate addresses that are represented in the routing table by a summary address. One summary address can include multiple groups of addresses for a given level. Cisco NX-OS advertises the smallest metric of all the more-specific routes.

Before you begin

You must enable IS-IS (see the Enabling the IS-IS Feature section).

Procedure

  Command or Action Purpose

Step 1

configure terminal

Example:

switch# configure terminal
switch(config)#

Enters global configuration mode.

Step 2

router isis instance-tag

Example:

switch(config)# router isis Enterprise
switch(config-router)#

Creates a new IS-IS instance with the configured instance tag .

Step 3

address-family {ipv4 | ipv6} unicast

Example:

switch(config-router)# address-family ipv4 unicast
switch(config-router-af)#

Enters address family configuration mode.

Step 4

summary-address ip-prefix/mask-len { level-1 | level-2 | level-1-2 }

Example:

switch(config-router-af)# summary-address 192.0.2.0/24 level-2

Configures a summary address for an IS-IS area for IPv4 or IPv6 addresses.

Step 5

(Optional) show isis [ vrf vrf-name ] { ip | ipv6} summary-address ip-prefix [ longer-prefixes ]

Example:

switch(config-if)# show isis ip summary-address
(Optional)

Displays IS-IS IPv4 or IPv6 summary address information.

Step 6

(Optional) copy running-config startup-config

Example:

switch(config-if)# copy running-config startup-config
(Optional)

Saves this configuration change.

Example

This example shows how to configure an IPv4 unicast summary address for IS-IS:

switch# configure terminal
switch(config)# router isis Enterprise
switch(config-router)# address-family ipv4 unicast
switch(config-router-af)# summary-address 192.0.2.0/24 level-2
switch(config-router-af)# copy running-config startup-config

Configuring Redistribution

You can configure IS-IS to accept routing information from another routing protocol and redistribute that information through the IS-IS network. You can optionally assign a default route for redistributed routes.

Before you begin

You must enable IS-IS (see the Enabling the IS-IS Feature section).

Procedure

  Command or Action Purpose

Step 1

configure terminal

Example:

switch# configure terminal
switch(config)#

Enters global configuration mode.

Step 2

router isis instance-tag

Example:

switch(config)# router isis Enterprise
switch(config-router)#

Creates a new IS-IS instance with the configured instance tag .

Step 3

address-family {ipv4 | ipv6} unicast

Example:

switch(config-router)# address-family ipv4 unicast
switch(config-router-af)#

Enters address family configuration mode.

Step 4

redistribute { bgp as | direct |{ eigrp | isis | ospf | ospfv3 | rip } instance-tag | static } route-map map-name

Example:

switch(config-router-af)# redistribute eigrp 201 route-map ISISmap

Redistributes routes from other protocols into IS-IS. See the Configuring Route Maps section for more information about route maps.

Step 5

(Optional) default-information originate [ always ] [ route-map map-name ]

Example:

switch(config-router-af)# default-information originate always
(Optional)

Generates a default route into IS-IS.

Step 6

(Optional) distribute { level-1 | level-2 } into { level-1 | level-2 } { route-map route-map | all }

Example:

switch(config-router-af)# distribute level-1 into level-2 all
(Optional)

Redistributes routes from one IS-IS level to the other IS-IS level.

Step 7

(Optional) show isis [ vrf vrf-name ] { ip | ipv6} route ip-prefix [ detail | longer-prefixes [ summary | detail ]]

Example:

switch(config-if)# show isis ip summary-address
(Optional)

Shows the IS-IS routes.

Step 8

(Optional) copy running-config startup-config

Example:

switch(config-if)# copy running-config startup-config
(Optional)

Saves this configuration change.

Example

This example shows how to redistribute EIGRP into IS-IS:

switch# configure terminal
switch(config)# router isis Enterprise
switch(config-router)# address-family ipv4 unicast
switch(config-router-af)# redistribute eigrp 201 route-map ISISmap
switch(config-router-af)# copy running-config startup-config

Limiting the Number of Redistributed Routes

Route redistribution can add many routes to the IS-IS route table. You can configure a maximum limit to the number of routes accepted from external protocols. IS-IS provides the following options to configure redistributed route limits:

  • Fixed limit—Logs a message when IS-IS reaches the configured maximum. IS-IS does not accept any more redistributed routes. You can optionally configure a threshold percentage of the maximum where IS-IS logs a warning when that threshold is passed.

  • Warning only—Logs a warning only when IS-IS reaches the maximum. IS-IS continues to accept redistributed routes.

  • Withdraw—Starts the timeout period when IS-IS reaches the maximum. After the timeout period, IS-IS requests all redistributed routes if the current number of redistributed routes is less than the maximum limit. If the current number of redistributed routes is at the maximum limit, IS-IS withdraws all redistributed routes. You must clear this condition before IS-IS accepts more redistributed routes. You can optionally configure the timeout period.

Before you begin

You must enable IS-IS (see the Enabling the IS-IS Feature section).

Procedure

  Command or Action Purpose

Step 1

configure terminal

Example:

switch# configure terminal
switch(config)#

Enters global configuration mode.

Step 2

router isis instance-tag

Example:

switch(config)# router isis Enterprise
switch(config-router)#

Creates a new IS-IS instance with the configured instance tag.

Step 3

redistribute { bgp id | direct | eigrp id | isis id | ospf id | rip id | static } route-map map-name

Example:

switch(config-router)# redistribute bgp route-map FilterExternalBGP

Redistributes the selected protocol into IS-IS through the configured route map.

Step 4

redistribute maximum-prefix max [ threshold ] [ warning-only | withdraw [ num-retries timeout ]]

Example:

switch(config-router)# redistribute maximum-prefix 1000 75 warning-only

Specifies a maximum number of prefixes that IS-IS distributes. The range is from 1 to 65535. You can optionally specify the following:

  • threshold —Percentage of maximum prefixes that triggers a warning message.

  • warning-only —Logs a warning message when the maximum number of prefixes is exceeded.

  • withdraw —Withdraws all redistributed routes. You can optionally try to retrieve the redistributed routes. The num-retries range is from 1 to 12. The timeout is 60 to 600 seconds. The default is 300 seconds. Use the clear isis redistribution command if all routes are withdrawn.

Step 5

(Optional) show running-config isis

Example:

switch(config-router)# show running-config isis
(Optional)

Displays the IS-IS configuration.

Step 6

(Optional) copy running-config startup-config

Example:

switch(config-router)# copy running-config startup-config
(Optional)

Saves this configuration change.

Example

This example shows how to limit the number of redistributed routes into IS-IS:

switch# configure terminal
switch(config)# router eigrp isis Enterprise
switch(config-router)# redistribute bgp route-map FilterExternalBGP
switch(config-router)# redistribute maximum-prefix 1000 75

Advertising Only Passive Interface Prefixes

You can specify that only prefixes belonging to passive interfaces are advertised in the system link-state packets (LSPs).

Procedure

  Command or Action Purpose

Step 1

configure terminal

Example:

switch# configure terminal
switch(config)#

Enters global configuration mode.

Step 2

router isis instance-tag

Example:

switch(config)# router isis 200
switch(config-router)#

Creates a new IS-IS instance with the configured instance tag.

Step 3

address-family {ipv4 | ipv6} unicast

Example:


switch(config-router)# address-family
ipv4 unicast
switch(config-router-af)#

Enters address family configuration mode.

Step 4

[no] advertise passive-only {level-1 | level-2}

Example:

switch(config-router-af)# advertise passive-only level-1
switch(config-router-af)#

Enables the advertisement of only those prefixes that belong to passive interfaces.

Example

This example shows how to enable only the advertising of prefixes belonging to passive interfaces:


switch# configure terminal
switch(config)# interface ethernet 1/2
switch(config-if)# address-family ipv4 unicast
switch(config-router-af)# advertise passive-only level-1

Suppressing Prefixes on an Interface

You can allow an IS-IS interface to participate in forming adjacencies without advertising connected prefixes in the system link-state packets (LSPs).

Procedure

  Command or Action Purpose

Step 1

configure terminal

Example:

switch# configure terminal
switch(config)#

Enters global configuration mode.

Step 2

interface interface-type slot/port

Example:

switch(config)# interface ethernet 1/2
switch(config-if)#

Enters interface configuration mode.

Step 3

[no] isis suppress

Example:

switch(config-if)# isis suppress
switch(config-if)#

Disables the advertisement of connected prefixes on the interface.

Example

This example shows how to suppress the advertising of an interface's connected prefixes in the system link-state packets (LSPs):


switch# configure terminal
switch(config)# interface ethernet 1/2
switch(config-if)# isis suppress

Disabling Strict Adjacency Mode

When both IPv4 and IPv6 address families are enabled, strict adjacency mode is enabled by default. In this mode, the device does not form an adjacency with any router that does not have both address families enabled. You can disable strict adjacency mode using the no adjacency-check command.

Before you begin

You must enable IS-IS (see the Enabling the IS-IS Feature section).

Procedure

  Command or Action Purpose

Step 1

configure termina l

Example:

switch# configure terminal
switch(config)#

Enters global configuration mode.

Step 2

router isis instance-tag

Example:

switch(config)# router isis Enterprise
switch(config-router)#

Creates a new IS-IS instance with the configured instance tag.

Step 3

address-family ipv4 unicast

Example:

switch(config-router)# address-family ipv4 
switch(config-router-af)#

Enters address family configuration mode.

Step 4

no adjacency-check

Example:

switch(config-router-af)# no adjacency-check

Disables strict adjacency mode for the IPv4 address family.

Step 5

exit

Example:

switch(config-router-af)# exit
switch(config-router)#

Exits address family configuration mode.

Step 6

address-family ipv6 unicast

Example:

switch(config-router)# address-family ipv6 unicast
switch(config-router-af)#

Enters address family configuration mode.

Step 7

(Optional) no adjacency-check

Example:

switch(config-router-af)# no adjacency-check
(Optional)

Disables strict adjacency mode for the IPv6 address family.

Step 8

show running-config isis

Example:

switch(config-router-af)# show running-config isis

Displays the IS-IS configuration.

Step 9

(Optional) copy running-config startup-config

Example:

switch(config-router-af)# copy running-config startup-config
(Optional)

Saves this configuration change.

Configuring a Graceful Restart

You can configure a graceful restart for IS-IS.

Before you begin

You must enable IS-IS (see the Enabling the IS-IS Feature section).

Procedure

  Command or Action Purpose

Step 1

configure terminal

Example:

switch# configure terminal
switch(config)#

Enters global configuration mode.

Step 2

router isis instance-tag

Example:

switch(config)# router isis Enterprise
switch(config-router)#

Creates a new IS-IS process with the configured name.

Step 3

graceful-restart

Example:

switch(config-router)# graceful-restart

Configures the graceful restart T3 timer. The range is from 30 to 65535 seconds. The default is 60.

Step 4

graceful-restart t3 manual time

Example:

switch(config-router)# graceful-restart t3 manual 300

Configures the graceful restart T3 timer. The range is from 30 to 65535 seconds. The default is 60.

Step 5

(Optional) show running-config isis

Example:

switch(config-router)# show running-config isis
(Optional)

Displays the IS-IS configuration.

Step 6

(Optional) copy running-config startup-config

Example:

switch(config-router)# copy running-config startup-config
(Optional)

Saves this configuration change.

Example

This example shows how to enable a graceful restart:

switch# configure terminal
switch(config)# router isis Enterprise
switch(config-router)# graceful-restart
switch(config-router)# copy running-config startup-config

Configuring Virtualization

You can configure multiple IS-IS instances and multiple VRFs and use the same or multiple IS-IS instances in each VRF. You assign an IS-IS interface to a VRF.

You must configure a NET for the configured VRF.


Note


Configure all other parameters for an interface after you configure the VRF for an interface. Configuring a VRF for an interface deletes all the configuration for that interface.


Before you begin

You must enable IS-IS (see the Enabling the IS-IS Feature section).

Procedure

  Command or Action Purpose

Step 1

configure terminal

Example:

switch# configure terminal
switch(config)#

Enters global configuration mode.

Step 2

vrf context vrf-name

Example:

switch(config)# vrf context RemoteOfficeVRF
switch(config-vrf)#

Creates a new VRF and enters VRF configuration mode.

Step 3

exit

Example:

switch(config-vrf)# exit
switch(config)#

Exits VRF configuration mode.

Step 4

router isis instance-tag

Example:

switch(config)# router isis Enterprise
switch(config-router)#

Creates a new IS-IS instance with the configured instance tag.

Step 5

vrf vrf-name

Example:

switch(config-router)# vrf RemoteOfficeVRF
switch(config-router-vrf)#

Enters VRF configuration mode.

Step 6

net network-entity-title

Example:

switch(config-router-vrf)# net 47.0004.004d.0001.0001.0c11.1111.00

Configures the NET for this IS-IS instance.

Step 7

exit

Example:

switch(config-router-vrf)# exit
switch(config-router)#

Exits router VRF configuration mode.

Step 8

interface ethernet slot/port

Example:

switch(config)# interface ethernet 1/2
switch(config-if)#

Enters interface configuration mode.

Step 9

vrf member vrf-name

Example:

switch(config-if)# vrf member RemoteOfficeVRF

Adds this interface to a VRF.

Step 10

{ ip | ipv6 } address ip-prefix/length

Example:

switch(config-if)# ip address 192.0.2.1/16

Configures an IP address for this interface. You must do this step after you assign this interface to a VRF.

Step 11

{ ip | ipv6} router isis instance-tag

Example:

switch(config-if)# ip router isis Enterprise

Associates this IPv4 or IPv6 interface with an IS-IS instance.

Step 12

(Optional) show isis [ vrf vrf-name ] [ instance-tag ] interface [ interface-type slot/port ]

Example:

switch(config-if)# show isis Enterprise ethernet 1/2
(Optional)

Displays IS-IS information for an interface in a VRF.

Step 13

(Optional) copy running-config startup-config

Example:

switch(config-if)# copy running-config startup-config
(Optional)

Saves this configuration change.

Example

This example shows how to create a VRF and add an interface to the VRF:

switch# configure terminal
switch(config)# vrf context NewVRF
switch(config-vrf)# exit
switch(config)# router isis Enterprise
switch(config-router)# vrf NewVRF
switch(config-router-vrf)# net 47.0004.004d.0001.0001.0c11.1111.00
switch(config-router-vrf)# interface ethernet 1/2
switch(config-if)# vrf member NewVRF
switch(config-if)# ip address 192.0.2.1/16
switch(config-if)# ip router isis Enterprise
switch(config-if)# copy running-config startup-config

Tuning IS-IS

You can tune IS-IS to match your network requirements.

You can use the following optional commands in router configuration mode to tune IS-IS:

Command

Purpose

lsp-gen-interval [ level-1 | level-2 ] lsp-max-wait [ lsp-initial-wait lsp-second-wait ]

Example :

switch(config-router)# lsp-gen-interval level-1 500 500 500

Configures the IS-IS throttle for LSP generation. The optional parameters are as follows:

  • lsp-max-wait—The maximum wait between the trigger and LSP generation. The range is from 500 to 65535 milliseconds.

  • lsp-initial-wait—The initial wait between the trigger and LSP generation. The range is from 50 to 65535 milliseconds.

  • lsp-second-wait—The second wait used for LSP throttle during backoff. The range is from 50 to 65535 milliseconds.

max-lsp-lifetime lifetime

Example:

switch(config-router)# max-lsp-lifetime 500

Sets the maximum LSP lifetime in seconds. The range is from 1 to 65535. The default is 1200.

metric-style transition

Example:

switch(config-router)# metric-style transition

Enables IS-IS to generate and accept both narrow metric-style Type Length Value (TLV) objects and wide metric-style TLV objects. The default is disabled.

spf-interval [ level-1 | level-2 ] spf-max-wait [ spf-initial-wait spf-second-wait ]

Example :

switch(config-router)# spf-interval level-2 500 500 500

Configures the interval between LSA arrivals. The optional parameters are as follows:

  • lsp-max-wait—The maximum wait between the trigger and SPF computation. The range is from 500 to 65535 milliseconds.

  • lsp-initial-wait—The initial wait between the trigger and SPF computation. The range is from 50 to 65535 milliseconds.

  • lsp-second-wait—The second wait used for SPF computation during backoff. The range is from 50 to 65535 milliseconds.

You can use the following optional command in router address configuration mode:

Command

Purpose

adjacency-check

Example :

switch(config-router-af)# adjacency-check

Performs an adjacency check to verify that an IS-IS instance forms an adjacency only with a remote IS-IS entity that supports the same address family. This command is enabled by default.

You can use the following optional commands in interface configuration mode to tune IS-IS:

Command

Purpose

isis csnp-interval seconds [ level-1 | level-2 ]

Example :

switch(config-if)# isis csnp-interval 20

Sets the complete sequence number PDU (CNSP) interval in seconds for IS-IS. The range is from 1 to 65535. The default is 10.

isis hello-interval seconds [ level-1 | level-2 ]

Example :

switch(config-if)# isis hello-interval 20

Sets the hello interval in seconds for IS-IS. The range is from 1 to 65535. The default is 10.

isis hello-multiplier num [ level-1 | level-2 ]

Example :

switch(config-if)# isis hello-multiplier 20

Specifies the number of IS-IS hello packets that a neighbor must miss before the router tears down an adjacency. The range is from 3 to 1000. The default is 3

.

isis lsp-interval milliseconds

Example:

switch(config-if)# isis lsp-interval 20

Sets the interval in milliseconds between LSPs sent on this interface during flooding. The range is from 10 to 65535. The default is 33.

Verifying the IS-IS Configuration

To display the IS-IS configuration, perform one of the following tasks:

Command

Purpose

show isis [ instance-tag ] adjacency [ interface ] [ detail | summary ] [ vrf vrf-name ]

Displays the IS-IS adjacencies. Use the clear isis adjacency command to clear these statistics.

Note

 

If the hostname is less than 14 characters, the show isis adjacency command displays the hostname. Otherwise, the System ID is displayed.

show isis [ instance-tag ] database [ level-1 | level-2 ] [ detail | summary ] [ LSP ID ] [{ ip | ipv6 } prefix ip-prefix ] | | [ router-id router-id ] | [adjacency node-id] | [ zero-sequence ]} [vrf vrf-name]

Displays the IS-IS LSP database.

show isis [ instance-tag ] hostname [ vrf vrf-name]

Displays the dynamic host exchange information.

show isis [instance-tag] interface [ brief | interface ] [ level-1 | level-2 ] [ vrf vrf-name ]

Displays the IS-IS interface information.

show isis [ instance-tag ] mesh-group [ mesh-id ] [ vrf vrf-name ]

Displays the mesh group information.

show isis [ instance-tag ] protocol [ vrf vrf-name ]

Displays information about the IS-IS protocol.

show isis [instance-tag] { ip | ipv6 } redistribute route [ ip-address | summary ] [[ ip-prefix ] [ longer-prefixes [summary]] [vrf vrf-name]

Displays the IS-IS route redistribution information.

show isis [instance-tag] {ip | ipv6 } route [ ip-address | summary ] [ ip-prefix [ longer-prefixes [summary]] [ detail ] [vrf vrf-name]

Displays the IS-IS route table.

show isis [instance-tag] rrm [ interface ] [vrf vrf-name]

Displays the IS-IS interface retransmission information.

show isis [instance-tag] srm [ interface ] [vrf vrf-name]

Displays the IS-IS interface flooding information.

show isis [instance-tag] ssn [ interface ] [vrf vrf-name]

Displays the IS-IS interface PSNP information.

show isis [instance-tag] {ip | ipv6 } summary-address [ ip-address ] | [ip-prefix] [vrf vrf-name]

Displays the IS-IS summary address information.

show running-configuration isis

Displays the current running IS-IS configuration.

show tech-support isis [ detail ] Displays the technical support details for IS-IS.

Monitoring IS-IS

To display IS-IS statistics, use the following commands:

Command

Purpose

show isis [ instance-tag ] adjacency [ interface] [ system-ID ] [ detail ] [ summary ] [ vrf vrf-name ]

Displays the IS-IS adjacency statistics.

show isis [ instance-tag ] database [ level-1 | level-2 ] [ detail | summary ] [ lsip ] {[ adjacency id ] { ip | ipv6 } prefix prefix ] [ router-id id ] [zero-sequence]} [vrf vrf-name]

Displays the IS-IS database statistics.

show isis [instance-tag] statistics [interface] [vrf vrf-name]

Displays the IS-IS interface statistics.

show isis { ip | ipv6 } route-map statistics redistribute {bgp id | eigrp id | isis id | ospf id | rip id | static} [vrf vrf-name]

Displays the IS-IS redistribution statistics.

show isis route-map statistics distribute { level-1 | level-2} into { level-1 | level-2}} [vrf vrf-name]

Displays IS-IS distribution statistics for routes distributed between levels.

show isis [instance-tag] spf-log [detail] [vrf vrf-name]

Displays the IS-IS SPF calculation statistics.

show isis [instance-tag] traffic [ interface ] [vrf vrf-name]

Displays the IS-IS traffic statistics.

To clear IS-IS configuration statistics, perform one of the following tasks:

Command

Purpose

clear isis [ instance-tag ] adjacency [ * | [ interface] [system-id id ]] [vrf vrf-name]

Clears the IS-IS adjacency statistics.

clear isis { ip | ipv6 } route-map statistics redistribute {bgp id | direct | eigrp id | isis id | ospf id | rip id | static} [vrf vrf-name]

Clears the IS-IS redistribution statistics.

clear isis route-map statistics distribute { level-1 | level-2} into { level-1 | level-2} [vrf vrf-name]

Clears IS-IS distribution statistics for routes distributed between levels.

clear isis [instance-tag] statistics [ * | interface] [vrf vrf-name]

Clears the IS-IS interface statistics.

clear isis [instance-tag] traffic [ * | interface] [vrf vrf-name]

Clears the IS-IS traffic statistics.

Configuration Examples for IS-IS

This example shows how to configure IS-IS:

router isis Enterprise
is-type level-1
net 49.0001.0000.0000.0003.00
graceful-restart
address-family ipv4 unicast
default-information originate
 
interface ethernet 2/1
ip address 192.0.2.1/24
isis circuit-type level-1
ip router isis Enterprise