You're reading the development documentation. Release version of the same page is here.

IS-IS Configuration Module

This configuration module configures IS-IS routing process on Cisco IOS, Cisco NX-OS, Arista EOS, Junos (tested on vSRX), Nokia SR OS and Nokia SR Linux.

The module supports the following IS-IS features:

  • IPv4 and IPv6

  • IS type (L1 and/or L2)

  • Multi-topology IPv6 (enabled by default as soon as the node has at least one IPv6 address, cannot be disabled)

  • Wide metrics (enabled by default, cannot be disabled)

  • Unnumbered IPv4 interfaces

  • Passive interfaces

  • BFD

Platform Support

The following table describes per-platform support of individual IS-IS features:

Operating system IS type IPv6 AF Multi
topology
Unnumbered
interfaces
IPv4
BFD
IPv6
BFD
Arista EOS
Cisco IOS
Cisco IOS XE
Cisco IOS XRv
Cisco Nexus OS
Cisco ASAv
Nokia SR Linux
Nokia SR OS
VyOS

Notes:

  • On Arista EOS, IPv6 is enabled on all interfaces as soon as one interface has an IPv6 address. Arista EOS implementation of IS-IS refuses to work on interfaces with missing address families.

  • On VyOS, IPv6 is enabled on all interfaces as soon as one interface has an IPv6 address.

  • Cisco ASA does not support P2P IS-IS links. You could add isis.network_type: false to point-to-point links connecting ASA to other devices.

Global Parameters

  • isis.area – CLNS area prefix. Router address (NET) is computed from area prefix, 6-byte system ID (using id node attribute) and NSAP selector (.00)

  • isis.type – IS-IS router type (level-1, level-2 or level-1-2. Default: level-2)

  • isis.bfd – enable BFD for IS-IS. This parameter could be a boolean value (True/False) or a dictionary of address families, for example:

isis:
  area: "49.0002"
  bfd:
    ipv4: True
    ipv6: True

Warning

Specify ‌isis.area with a single dot (example: 49.0001) within quotes to tell YAML parser it’s not a floating-point number.

Node Parameters

You can specify node parameters as global values (top-level topology elements) or within individual nodes. You can also specify isis.net on individual nodes instead of using isis.area (see example for details).

Note:

  • When specifying isis.net, avoid values in range area.0000.0000.0001.00 through area.0000.0000.0099.00 as they are used for auto-generated NETs.

Example

We want to create a three-router multi-area IS-IS network:

  • R1 and R2 are in area 49.0001

  • R3 is in area 49.0002.

All devices run OSPF:

module: [ isis ]

Default IS-IS area is 49.0001:

isis:
  area: 49.0001

R1 and R2 are in default IS-IS area. We’ll specify explicit NET for R2:

nodes:
  r1:
    device: iosv
  r2:
    device: eos
    isis:
      net: 49.0001.0000.cafe.0002.00 

R3 is in area 49.0002.

nodes:
  r3:
    device: nxos
    isis:
      area: 49.0002

Each router has a stub interface:

links:
- r1:
- r2:
- r3:

We’ll specify per-link IS-IS metric on the link between R1 and R2:

links:
- isis:
	  metric: 10
	r1:
  r2:

We’ll specify asymmetric per-node IS-IS metrics on link between R2 and R3:

links:
- r2:
    isis:
      metric: 20 
  r3:
    isis:
      metric: 30 

Resulting Device Configurations

The above topology generates the following device configurations

R1 (Cisco IOS)

router isis Gandalf
  log-adjacency-changes
  hostname dynamic
  is-type level-2
  metric-style wide
  net 49.0001.0000.0000.0001.00
  passive-interface GigabitEthernet0/1
  address-family ipv4 unicast
!
interface Loopback0
  ip router isis Gandalf
!
interface GigabitEthernet0/1
  ip router isis Gandalf
!
interface GigabitEthernet0/2
  ip router isis Gandalf
  isis metric 10

R2 (Arista EOS)

router isis Gandalf
  log-adjacency-changes
  is-hostname r2
  is-type level-2
  net 49.0001.0000.cafe.0002.00
  address-family ipv4 unicast
!
interface Loopback0
  isis enable Gandalf
!
interface Ethernet1
  isis enable Gandalf
  isis passive
!
interface Ethernet2
  isis enable Gandalf
  isis metric 10
!
interface Ethernet3
  isis enable Gandalf
  isis metric 20

R3 (Cisco Nexus OS)

feature isis
!
router isis Gandalf
  log-adjacency-changes
  is-type level-2
  hostname dynamic
  net 49.0002.0000.0000.0003.00
  address-family ipv4 unicast
!
interface Loopback0
  ip router isis Gandalf
!
interface Ethernet1/1
  ip router isis Gandalf
  isis passive-interface level-1-2
!
interface Ethernet1/2
  ip router isis Gandalf
  isis metric 30 level-1
  isis metric 30 level-2

Complete Network Topology

module: [ isis ]

isis:
  area: 49.0001

nodes:
  r1:
    device: iosv
  r2:
    device: eos
    isis:
      net: 49.0001.0000.cafe.0002.00 
  r3:
    device: nxos
    isis:
      area: 49.0002

links:
- r1:
- r2:
- r3:
- isis:
	  metric: 10
	r1:
  r2:
- r2:
    isis:
      metric: 20 
  r3:
    isis:
      metric: 30