IS-IS Support for an IS-IS Instance per VRF for IP

This module introduces support for multiple VPN routing and forwarding (VRF)-aware Intermediate System-to-Intermediate System (IS-IS) instances. The VRF functionality allows Internet service providers (ISPs) to separate routing protocol information and propagate it to the appropriate routing table and network neighbors. Using one router with VRF functionality is more cost-effective than using separate routers to separate and forward the routing information.

Finding Feature Information

Your software release may not support all the features documented in this module. For the latest caveats and feature information, see Bug Search Tool and the release notes for your platform and software release. To find information about the features documented in this module, and to see a list of the releases in which each feature is supported, see the feature information table.

Use Cisco Feature Navigator to find information about platform support and Cisco software image support. To access Cisco Feature Navigator, go to www.cisco.com/go/cfn. An account on Cisco.com is not required.

Prerequisites for IS-IS Support for an IS-IS Instance per VRF for IP

  • You must be running IS-IS on your network.

  • The VRF configuration is a prerequisite to associating an IS-IS instance with that specific VRF. However, the VRF configuration is independent of associating it with IS-IS or any other routing protocol. An IS-IS instance cannot be referred to as being VRF-aware until it has been associated with a particular VRF.

Restrictions for IS-IS Support for an IS-IS Instance per VRF for IP

IS-IS VRF support is supported only for IPv4.

When you configure the IS-IS Support for an IS-IS Instance per VRF for IP feature, you must comply with the following nine best practices guidelines:

  • IS-IS instances running Connectionless Network Services (CLNS) must have the same system ID.

  • An IS-IS instance that is running CLNS or IPv6 cannot be associated with a VRF.

  • You can configure only one IS-IS instance to run both CLNS and IP.

  • IS-IS instances within the same VRF must have unique system IDs, although IS-IS instances located in separate VRFs can have the same system ID.

  • You can associate an IS-IS instance with only one VRF.

  • You can configure the passive-interface default command only on one IS-IS instance per VRF.

  • Redistribution is allowed only within the same VRF.

  • You can enable only one IS-IS instance per interface.

  • An interface can belong to an IS-IS instance only if they are associated with the same VRF.


Note

If you are using LDP, you cannot use the route-target command when configuring a VRF. The router will use BGP for Multiprotocol Label Switching (MPLS) labels.


Information About IS-IS Support for an IS-IS Instance per VRF for IP

VRF-Aware IS-IS

You can configure IS-IS to be VRF-aware. A VRF consists of an IP routing table, a derived Cisco Express Forwarding (CEF) table, a set of interfaces that use the forwarding table, and a set of rules and routing protocol parameters that control the information that is included in the routing table.

IS-IS Support for an IS-IS Instance per VRF for IP Feature Operation

ISPs have the capability to create multiple VRF-aware IS-IS instances that run on one router, rather than requiring duplicate hardware. IS-IS can be enabled to be VRF-aware, and ISPs can use multiple VRF-aware IS-IS instances to separate customer data while propagating the information to appropriate service providers.

For example, an ISP can create three VRFs--VRF First, VRF Second, and VRF Third--to represent three separate customers. A VRF-aware IS-IS instance is created and associated with each VRF: tagFIRST, tagSECOND, and tagTHIRD. Each instance will have its own routing process, IS-IS database, and routing table, and will calculate its own shortest path first (SPF) tree.

How to Configure IS-IS Support for an IS-IS Instance per VRF for IP

Creating a VRF

SUMMARY STEPS

  1. enable
  2. configure terminal
  3. ip cef [distributed ]
  4. ip vrf vrf-name
  5. rd route-distinguisher
  6. end

DETAILED STEPS

  Command or Action Purpose
Step 1

enable

Example:


Device> enable

Enables privileged EXEC mode.

  • Enter your password if prompted.

Step 2

configure terminal

Example:


Device# configure terminal

Enters global configuration mode.

Step 3

ip cef [distributed ]

Example:


Device(config)# ip cef distributed

(Optional) Enables CEF on the Route Processor card.

  • If CEF is not enabled by default on your particular platform, you must configure it with the ip cef command.

Step 4

ip vrf vrf-name

Example:


Device(config)# ip vrf vrfFirst

Configures a VRF routing table, and enters VRF configuration mode.

Step 5

rd route-distinguisher

Example:


Device(config-vrf)# rd 1:1

Creates routing and forwarding tables for a VRF.

Step 6

end

Example:


Device(config-vrf)# end

Exits VRF configuration mode and returns to privileged EXEC mode.

Attaching an Interface to the VRF

SUMMARY STEPS

  1. enable
  2. configure terminal
  3. interface type number
  4. ip vrf forwarding vrf-name
  5. end

DETAILED STEPS

  Command or Action Purpose
Step 1

enable

Example:


Device> enable

Enables privileged EXEC mode.

  • Enter your password if prompted.

Step 2

configure terminal

Example:


Device# configure terminal

Enters global configuration mode.

Step 3

interface type number

Example:


Device(config)# interface Gigabitethernet 0/0

Configures an interface type and enters interface configuration mode.

Step 4

ip vrf forwarding vrf-name

Example:


Device(config-if)# ip vrf forwarding vrfFirst

Associates a VPN routing and forwarding instance (VRF) with an interface or subinterface.

Step 5

end

Example:


Device(config-if)# end

Exits interface configuration mode and returns to privileged EXEC mode.

Creating VRF Aware IS-IS Instances

Before You Begin

  • You must have IS-IS running on your network.

  • If CEF is not enabled by default on your platform, enable CEF to associate interfaces with VRF-aware IS-IS instances.

Creating a VRF-Aware IS-IS Instance in Interface Configuration Mode

SUMMARY STEPS

  1. enable
  2. configure terminal
  3. interface type number
  4. ip address ip-address mask [secondary ]
  5. ip router isis process-tag
  6. no shutdown
  7. end

DETAILED STEPS

  Command or Action Purpose
Step 1

enable

Example:

Device> enable

Enables privileged EXEC mode.

  • Enter your password if prompted.

Step 2

configure terminal

Example:

Device# configure terminal

Enters global configuration mode.

Step 3

interface type number

Example:

Device(config)# interface FastEthernet 0/2

Configures an interface type and enters interface configuration mode.

Step 4

ip address ip-address mask [secondary ]

Example:

Router(config-if)# ip address 172.16.11.1 255.255.255.255

Sets a primary or secondary IP address for an interface.

Step 5

ip router isis process-tag

Example:

Device(config-if)# ip router isis vrfFirst

Configures an IS-IS routing process for IP on an interface and attaches a tag to the routing process.

Note 

The configuration of the interface-mode ip router isis command will overwrite the prior configuration on that interface, but only if the new configuration is attempting to change the interface ownership to a different instance that is in the same VRF as the currently configured owner instance. The configuration will be rejected if the attempted change is between two instances that are associated with different VRFs.

Step 6

no shutdown

Example:

Device(config-if)# no shutdown

Restarts a disabled interface.

Step 7

end

Example:

Device(config-if)# end

Exits interface configuration mode and returns to privileged EXEC mode.

Creating a VRF-Aware IS-IS Instance in Router Configuration Mode

SUMMARY STEPS

  1. enable
  2. configure terminal
  3. router isis process-tag
  4. vrf vrf-name
  5. net network-entity-title
  6. end

DETAILED STEPS

  Command or Action Purpose
Step 1

enable

Example:

Device> enable

Enables privileged EXEC mode.

  • Enter your password if prompted.

Step 2

configure terminal

Example:

Device# configure terminal

Enters global configuration mode.

Step 3

router isis process-tag

Example:

Device(config)# router isis tagFirst

Enables the IS-IS routing protocol, specifies an IS-IS process, and enters router configuration mode.

Step 4

vrf vrf-name

Example:

Device(config-router)# vrf vrfFirst

Associates an IS-IS instance with a VRF.

  • It is presumed that the VRF named vrfFirst was previously created.

Step 5

net network-entity-title

Example:

Device(config-router)# net 49.000b.0000.0001.0002.00

Configures an IS-IS NET for a CLNS routing process.

Step 6

end

Example:

Device(config-router)# end

Exits router configuration mode.

Configuration Examples for IS-IS Support for an IS-IS Instance per VRF for IP

Example: Configuring Multiple VRF-Aware IS-IS Instances

In the following example, the VRF Second is created and an IS-IS instance is created explicitly by entering the router isis command on the router:


Router(config)# ip cef distributed
Router(config)# ip routing
Router(config)# ip vrf Second
Router(config-vrf)# rd 1:1
Router(config-if)# router isis tagSecond
Router(config-router)# vrf Second
Router(config-router)# net 49.000b.0000.0001.0002.00

The VRF Third is created and a VRF-aware IS-IS instance is automatically created when the ip router isis command is entered:


Router(config)# ip vrf Third
Router(config-vrf)# rd 1:1
Router(config-if)# interface FastEthernet0/2
Router(config-if)# ip vrf forwarding Third
Router(config-if)# ip address 172.16.10.1 255.255.255.0
Router(config-if)# ip router isis tagThird
Router(config-if)# no shutdown

A new IS-IS instance with the process tag tagThird will automatically be created and associated with the VRF Third. When the show running-config command is entered, the following information for the new IS-IS instance will be displayed:


Router# show running-config
Building configuration
.
.
.
router isis tagThird
 vrf Third
Router(config)# router isis tagThird
Router(config-router)# net 49.000b.0000.0001.0001.00

The following sample output verifies information for the VRF-aware IS-IS instances that were created in the previous examples:


Router# show isis tagThird topology
Tag tagThird:
IS-IS paths to level-2 routers
System Id             Metric  Next-Hop                 Interface   SNPA
router-02             10      router-02                Fa4/3       0010.0ddc.e00b
router-03             10      router-03                Et0/2       0006.0e03.0c45
router-04             10      router-04                Fa4/0       000a.f3c3.1c70
.                             router-04                Fa4/1       000a.f3c3.1c71
.
.

Router# show clns tagSecond neighbors
Tag tagSecond:
System Id      Interface   SNPA                State  Holdtime  Type Protocol
router-03      Fa0/2       00d0.2b7f.9502      Up     9         L2   IS-IS
router-03      PO2/2.1     DLCI 211            Up     27        L2   IS-IS
router-02      PO2/0.1     DLCI 131            Up     29        L2   IS-IS
router-11      Fa0/4       000e.d79d.7920      Up     7         L2   IS-IS
router-11      Fa0/5       000e.d79d.7921      Up     8         L2   IS-IS
router-11      PO3/2.1     DLCI 451            Up     24        L2   IS-IS
.
.
.

Router# show isis tagThird database level-2
Tag tagThird:
IS-IS Level-2 Link State Database:
LSPID                 LSP Seq Num  LSP Checksum  LSP Holdtime      ATT/P/OL
router-01.00-00       0x0000000A    0x5E73       914               0/0/0
router-01.03-00       0x00000001    0x8E41       894               0/0/0
router-01.04-00       0x00000001    0x8747       894               0/0/0
router-03.00-00     * 0x00000005    0x55AD       727               0/0/0
router-03.02-00     * 0x00000001    0x3B97       727               0/0/0
router-02.00-00       0x00000004    0xC1FB       993               0/0/0
router-02.01-00       0x00000001    0x448D       814               0/0/0
router-04.00-00       0x00000004    0x76D0       892               0/0/0
Router# show isis tagThird database level-1
Tag tagThird:
IS-IS Level-1 Link State Database:
LSPID                  LSP Seq Num  LSP Checksum  LSP Holdtime      ATT/P/OL
router-03.00-00      * 0x0000000B   0xBDF6        1005              1/0/0
router-03.02-00      * 0x00000001   0xC473        940               0/0/0
router-07.00-00        0x00000006   0x403A        940               0/0/0
Router# show clns tagSecond protocol
IS-IS Router: tagSecond
  System Id: 0000.0001.0002.00  IS-Type: level-2-only
  Manual area address(es): 
        49.000b
  Routing for area address(es): 
        49.000b
  Interfaces supported by IS-IS:
        FastEthernet4/1 - IP
        FastEthernet4/0 - IP
        Ethernet0/2 - IP
        FastEthernet4/3 - IP
  Redistributing: 
    static
  Distance: 110
  RRR level: none
  Generate narrow metrics: level-1-2
  Accept narrow metrics:   level-1-2
  Generate wide metrics:   none
  Accept wide metrics:     none
Router# show clns tagThird protocol
IS-IS Router: tagThird
  System Id: 0000.0001.0001.00  IS-Type: level-1-2
  Manual area address(es): 
        49.000b
  Routing for area address(es): 
        49.000b
  Interfaces supported by IS-IS:
        POS2/2.1 - IP
        FastEthernet0/2 - IP
        FastEthernet0/4 - IP
        POS2/0.1 - IP
        FastEthernet0/5 - IP
        POS3/2.1 - IP
  Redistributing: 
    static
  Distance: 110
  RRR level: none
  Generate narrow metrics: none
  Accept narrow metrics:   none
  Generate wide metrics:   level-1-2
  Accept wide metrics:     level-1-2

Example: Creating an IS-IS Instance Without a Process Tag

In the following example, an IS-IS instance was created without the optional process tag. When an IS-IS instance is created without the optional process tag, you can display its information by entering the commands such as show clns protocol with "null" specified for the process-tag argument.


Router(config)# router isis
Router(config-router)# vrf first
Router(config-router)# net 49.000b.0000.0001.ffff.00
Router(config-router)# is-type level-1
Router(config)# interface POS 6/1
Router(config-if)# ip vrf forwarding first
Router(config-if)# ip address 172.16.2.1 255.255.255.0
Router(config-if)# ip router isis
Router(config-if)# no shutdown

Because the IS-IS instance is created without the optional process tag, its information is displayed when the show clns protocol command is entered with with "null" specified for the process-tag argument:


Router# show clns null protocol
IS-IS Router: <Null Tag>
  System Id: 0000.0001.FFFF.00  IS-Type: level-1
  Manual area address(es): 
        49.000b
  Routing for area address(es): 
        49.000b
  Interfaces supported by IS-IS:
        POS6/1 - IP
  Redistributing: 
    static
  Distance: 110
  RRR level: none
  Generate narrow metrics: level-1-2
  Accept narrow metrics:   level-1-2
  Generate wide metrics:   none
  Accept wide metrics:     none

Example: Redistributing Routes from an IS-IS Instance

In the following sample configuration, routes have been redistributed from the IS-IS instance "null" into the IS-IS instance named tagBLUE. Routes from an OSPF process in VRF Blue have been redistributed into the IS-IS instance named tagBLUE.

In order to redistribute between two different IS-IS instances they must be configured in the same VRF context.


Router(config)# router isis tagBLUE
Router(config-router)# redistribute isis null ip metric 10 route-map isisMAP1
Router(config-router)# redistribute ospf 1 vrf BLUE metric 1 metric-type external level-1-2
.
.
.
Router(config)# route-map isisMAP1 permit 10
Router(config-route-map)# match route-type level-2 level-1
Router(config-route-map)# set level level-2

Example: Changing the Interface Ownership

In the following sample configuration, POS interface 6/1 was originally enabled for IS-IS IP routing for a "null" instance that does not have a process tag, which is in vrfSecond. The new configuration changes the ownership of POS interface 6/1 to another instance tagSecond, which is also in vrfSecond.


Note

Use of the ip router isis command in interface configuration mode will overwrite the prior configuration on that interface, but only if the new configuration is attempting to change the interface ownership to a different instance that is in the same VRF as the currently configured owner instance. The configuration will be rejected if the attempted change is between two instances that are associated with different VRFs.



Router(config)# interface POS 6/1
Router(config-if)# ip router isis tagSecond
%ISIS: Interface detached from null and to be attached to instance tagSecond.

Additional References

Related Documents

Related Topic

Document Title

IS-IS commands: complete command syntax, command mode, defaults, command history, usage guidelines, and examples

Cisco IOS IP Routing: ISIS Command Reference

Overview of Cisco IS-IS conceptual information with links to all the individual IS-IS modules

"Integrated IS-IS Routing Protocol Overview" module

ISO CLNS commands

Cisco IOS ISO CLNS Command Reference

Command Lookup Tool

http://tools.cisco.com/Support/CLILookup

Standards

Standards

Title

No new or modified standards are supported by this feature, and support for existing standards has not been modified by this feature.

--

MIBs

MIBs

MIBs Link

No new or modified MIBs are supported by this feature, and support for existing MIBs has not been modified by this feature.

To locate and download MIBs for selected platforms, Cisco IOS releases, and feature sets, use Cisco MIB Locator found at the following URL:

http://www.cisco.com/go/mibs

RFCs

RFCs

Title

No new or modified RFCs are supported by this feature, and support for existing RFCs has not been modified by this feature.

--

Technical Assistance

Description

Link

The Cisco Support and Documentation website provides online resources to download documentation, software, and tools. Use these resources to install and configure the software and to troubleshoot and resolve technical issues with Cisco products and technologies. Access to most tools on the Cisco Support and Documentation website requires a Cisco.com user ID and password.

http://www.cisco.com/cisco/web/support/index.html

Feature Information for IS-IS Support for an IS-IS Instance per VRF for IP

The following table provides release information about the feature or features described in this module. This table lists only the software release that introduced support for a given feature in a given software release train. Unless noted otherwise, subsequent releases of that software release train also support that feature.

Use Cisco Feature Navigator to find information about platform support and Cisco software image support. To access Cisco Feature Navigator, go to www.cisco.com/go/cfn. An account on Cisco.com is not required.
Table 1. Feature Information for IS-IS Support for an IS-IS Instance per VRF for IP

Feature Name

Releases

Feature Information

IS-IS Support for an IS-IS Instance per VRF for IP

12.0(29)S

12.2(33)SRB

15.0(1)M

15.0(1)SY

This feature provides multiple VPN routing and forwarding (VRF)-aware Intermediate System-to-Intermediate System (IS-IS) instances. The VRF functionality allows Internet service providers (ISPs) to separate routing protocol information and propagate it to the appropriate routing table and network neighbors. Using one router with VRF functionality is more cost-effective than using separate routers to separate and forward the routing information.

The following commands were introduced or modified: show clns neighbors , show clns protocol , show isis database , show isis topology , and vrf (router configuration) .