IS-IS Support for Route Tags

The IS-IS Support for Route Tags feature enables you to tag Intermediate System-to-Intermediate System (IS-IS) route prefixes and use those tags in a route map to control IS-IS route redistribution or route leaking. The results are network scalability and faster convergence for device updates.

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 Route Tags

Because the Intermediate System-to-Intermediate System (IS-IS) route tag will be used in a route map, you must understand how to configure a route map.

To use the route tag, you must configure the metric-style wide command. (The metric-style narrow command is configured by default.) The tag value is set into sub-TLV 1 for type, length, values (TLV) Type 135.

You must understand the task for which you are using the route tag, such as route redistribution, route summarization, or route leaking.

You should be familiar with the concepts described in the “Overview of IS-IS Fast Convergence” module.

Before you tag any IS-IS routes, you need to make the following decisions:

  • Your goal to set values for routes or redistribute routes (or both).

  • Where in your network you want to tag routes.

  • Where in your network you want to reference the tags.

  • Which tagging method you will use. This method determines which task to perform.

Information About IS-IS Support for Route Tags

Route Redistribution

Devices are allowed to redistribute external prefixes, or routes, that are learned from any other routing protocol, static configuration, or connected interfaces. The redistributed routes are allowed in either a Level 1 device or a Level 2 device. Level 2 routes injected as Level 1 routes is called route leaking.

IS-IS Routes Tagged to Control Their Redistribution

You can control the redistribution of Intermediate System-to-Intermediate System (IS-IS) routes by tagging them. The term “route leaking” refers to controlling distribution through tagging of routes.

How Route Summarization Can Enhance Scalability in IS-IS Networks

Summarization is a key factor that enhances the scalability of a routing protocol. Summarization reduces the number of routing updates that are flooded across areas or routing domains. For example, in multiarea Intermediate System-to-Intermediate System (IS-IS) networks, a good addressing scheme can optimize summarization by not allowing an overly large Level 2 database to be unnecessarily populated with updates that have come from Level 1 areas.

A device can summarize prefixes on redistribution whether the prefixes have come from internal prefixes, local redistribution, or Level 1 device redistribution. Routes that have been leaked from Level 2 to Level 1 and routes that are advertised into Level 2 from Level 1 can also be summarized.

Benefits of IS-IS Route Tags

The IS-IS Support for Route Tags feature allows you to tag IP addresses of an interface and use the tag to apply administrative policy with a route map.

You can tag Intermediate System-to-Intermediate System (IS-IS) routes to control their redistribution. You can configure a route map to set a tag for an IS-IS IP prefix (route) or match on the tag (perhaps on a different device) to redistribute IS-IS routes. Although the match tag and set tag commands existed for other protocols before the IS-IS Support for Route Tags feature, they were not implemented for IS-IS, so they did nothing when specified in an IS-IS network.

You can tag a summary route and then use a route map to match the tag and set one or more attributes for the route.

IS-IS Route Tag Characteristics

An Intermediate System-to-Intermediate System (IS-IS) route tag number can be up to 4 bytes long. The tag value is set into a sub-TLV 1 for type, length, values (TLV) Type 135.

Only one tag can be set to an IS-IS IP route (prefix). The tag is sent in link-state packet (LSP) protocol data units (PDUs) advertising the route. Setting a tag to a route alone does nothing for your network. You can use the route tag at area or Level 1/Level 2 boundaries by matching on the tag and then applying administrative policies such as redistribution, route summarization, or route leaking.

Configuring a tag for an interface (with the isis tag command) triggers the generation of new LSPs from the device because the tag is new information for the PDUs.

IS-IS Route Leaking Based on a Route Tag

You can tag Intermediate System-to-Intermediate System (IS-IS) routes to configure route leaking (redistribution). Because only the appropriate routes are redistributed—or leaked—the results is network scalability and faster convergence for the device update. If you configure route leaking and you want to match on a tag, use a route map (not a distribute list).

There are two general steps to using IS-IS route tags: tagging routes and referencing the tag to set values for the routes or redistribute routes.

There are three ways to tag IS-IS routes: tag routes for networks directly connected to an interface, set a tag in a route map, or tag a summary route. The tagging method is independent of how you use the tag.

After you tag the routes, you can use the tag to set values (such as metric, next hop, and so on) or redistribute routes. You might tag routes on one device, but reference the tag on other devices, depending on what you want to achieve. For example, you could tag the interface on Device A with a tag, match the tag on Device B to set values, and redistribute routes on Device C based on values using a route map.

How to Configure IS-IS Support for Route Tags

Tagging Routes for Networks Directly Connected to an Interface

SUMMARY STEPS

  1. enable
  2. configure terminal
  3. interface type number
  4. ip address ip-address mask
  5. ip address ip-address mask secondary
  6. isis tag tag-number
  7. end
  8. show isis database verbose
  9. show ip route [ip-address [mask] [longer-prefixes ] | protocol [process-id] | list [access-list-number | access-list-name]]

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/0

Configures an interface and enters interface configuration mode.

Step 4

ip address ip-address mask

Example:


Device(config-if)# ip address 10.1.1.1 255.255.255.0

Sets a primary IP address for an interface.

Step 5

ip address ip-address mask secondary

Example:


Device(config-if)# ip address 10.2.2.1 255.255.255.0 secondary

(Optional) Sets a secondary IP address for an interface.

Step 6

isis tag tag-number

Example:


Device(config-if)# isis tag 120

Sets a tag on the IP addresses configured under this interface when those IP prefixes are put into an Intermediate System-to-Intermediate System (IS-IS) link-state packet (LSP).

  • The tag must be an integer.

Step 7

end

Example:


Device(config-if)# end

(Optional) Exits interface configuration mode and returns to privileged EXEC mode.

Step 8

show isis database verbose

Example:


Device# show isis database verbose

(Optional) Displays details about the IS-IS link-state database, including the route tag.

  • Perform this step if you want to verify the tag.

Step 9

show ip route [ip-address [mask] [longer-prefixes ] | protocol [process-id] | list [access-list-number | access-list-name]]

Example:


Device# show ip route 10.1.1.1 255.255.255.0

(Optional) Displays the current state of the routing table.

  • Perform this step if you want to verify the tag.

What to Do Next

Applying the tag does nothing of value for your network until you use the tag by referencing it in a route map, either to set values, to redistribute routes, or to do both. Proceed to the section “Using the Tag to Set Values or Redistribute Routes.”

Tagging Routes Using a Route Map

SUMMARY STEPS

  1. enable
  2. configure terminal
  3. route-map map-tag [permit | deny ] [sequence-number]
  4. match tag tag-value [...tag-value]
  5. Use an additional match command for each match criterion that you want.
  6. set tag tag-value
  7. Set another value, depending on what else you want to do with the tagged routes.
  8. Repeat Step 7 for each value that you want to set.
  9. Repeat Steps 3 through 8 for each route-map statement that you want.
  10. end
  11. show isis database verbose
  12. show ip route [ip-address [mask] [longer-prefixes ] | protocol [process-id] | [list [access-list-number | access-list-name]]

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

route-map map-tag [permit | deny ] [sequence-number]

Example:


Device(config)# route-map static-color permit 15

Defines the conditions for redistributing routes from one routing protocol into another or from one Intermediate System-to-Intermediate System (IS-IS) level to another.

  • This command causes the device to enter route-map configuration mode.

Step 4

match tag tag-value [...tag-value]

Example:


Device(config-route-map)# match tag 15

(Optional) Matches routes tagged with the specified tag numbers.

  • If you are setting a tag for the first time, you cannot match on a tag; this step is an option if you are changing tags.

Step 5

Use an additional match command for each match criterion that you want.

(Optional) See the appropriate match commands in the Cisco IOS IP Routing: Protocol-Independent Command Reference.

  • Repeat this step for each match criterion you that want.

Step 6

set tag tag-value

Example:


Device(config-route-map)# set tag 10

Specifies the tag number to set.

Step 7

Set another value, depending on what else you want to do with the tagged routes.

(Optional) See the following set commands in the Cisco IOS IP Routing: Protocol-Independent Command Reference.

  • set level

  • set metric

  • set metric-type

Step 8

Repeat Step 7 for each value that you want to set.

(Optional)

Step 9

Repeat Steps 3 through 8 for each route-map statement that you want.

(Optional)

Step 10

end

Example:


Device(config-route-map)# end

(Optional) Exits configuration mode and returns to privileged EXEC mode.

Step 11

show isis database verbose

Example:


Device# show isis database verbose

(Optional) Displays details about the IS-IS link-state database, including the route tag.

  • Perform this step if you want to verify the tag.

Step 12

show ip route [ip-address [mask] [longer-prefixes ] | protocol [process-id] | [list [access-list-number | access-list-name]]

Example:


Device# show ip route 10.1.1.1 255.255.255.0

(Optional) Displays the current state of the routing table.

  • Perform this step if you want to verify the tag.

What to Do Next

Applying the tag does nothing of value for your network until you use the tag by referencing it in a route map, either to set values, to redistribute routes, or to do both. Proceed to the section “Using the Tag to Set Values and or Redistribute Routes.”

Tagging a Summary Address

If a tagged route is summarized and the tag is not explicitly configured in the summary-address command, the tag is lost.

SUMMARY STEPS

  1. enable
  2. configure terminal
  3. router isis [area-tag]
  4. metric-style wide
  5. summary-address address mask [level-1 | level-1-2 | level-2 ] [tag tag-number] [metric metric-value]
  6. end
  7. show isis database verbose
  8. show ip route [ip-address [mask] [longer-prefixes ] | protocol [process-id] | [list [access-list-number | access-list-name]]

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 [area-tag]

Example:


Device(config)# router isis

Enables Intermediate System-to-Intermediate System (IS-IS) as an IP routing protocol and assigns a tag to a process, if required.

  • Enters router configuration mode.

Step 4

metric-style wide

Example:


Device(config-router)# metric-style wide

Configures a device running IS-IS so that it generates and accepts type, length, values (TLV) object 135 for IP addresses.

Step 5

summary-address address mask [level-1 | level-1-2 | level-2 ] [tag tag-number] [metric metric-value]

Example:


Device(config-router)# summary-address 192.168.0.0 255.255.0.0 tag 12345 metric 321

Creates aggregate addresses for IS-IS.

Step 6

end

Example:


Device(config-router)# end

(Optional) Exits configuration mode and returns to privileged EXEC mode.

Step 7

show isis database verbose

Example:


Device# show isis database verbose

(Optional) Displays details about the IS-IS link-state database, including the route tag.

  • Perform this step if you want to verify the tag.

Step 8

show ip route [ip-address [mask] [longer-prefixes ] | protocol [process-id] | [list [access-list-number | access-list-name]]

Example:


Device# show ip route 10.1.1.1 255.255.255.0

(Optional) Displays the current state of the routing table.

  • Perform this step if you want to verify the tag.

What to Do Next

Applying the tag does nothing of value for your network until you use the tag by referencing it in a route map to set values. It is unlikely that you will redistribute summary routes. Proceed to the “Using the Tag to Set Values or Redistribute Routes” section.

Using the Tag to Set Values or Redistribute Routes

Before you begin

You must have already applied a tag on the interface, in a route map, or on a summary route. See the section “Tagging IS-IS Routes to Control Their Distribution.”

SUMMARY STEPS

  1. enable
  2. configure terminal
  3. route-map map-tag [permit | deny ] [sequence-number]
  4. match tag tag-value
  5. Specify a match command for each match criterion that you want.
  6. Set a value, depending on what you want to do with the tagged routes.
  7. Repeat Step 6 for each value that you want to set.
  8. Repeat Steps 3 through 7 for each route-map statement that you want.
  9. exit
  10. router isis
  11. metric-style wide
  12. redistribute protocol [process-id] {level-1 | level-1-2 | level-2 } [metric metric-value] [metric-type type-value] [route-map map-tag]

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

route-map map-tag [permit | deny ] [sequence-number]

Example:


Device(config)# route-map static-color permit 15

Defines the conditions for redistributing routes from one routing protocol into another or from one Intermediate System-to-Intermediate System (IS-IS) level to another.

  • This command causes the device to enter route-map configuration mode.

Step 4

match tag tag-value

Example:


Device(config-route-map)# match tag 120

(Optional) Applies the subsequent set commands to routes that match routes tagged with this tag number.

Step 5

Specify a match command for each match criterion that you want.

(Optional) Reference the appropriate match commands in the Cisco IOS IP Routing: Protocol-Independent Command Reference.

Step 6

Set a value, depending on what you want to do with the tagged routes.

(Optional) See the following set commands in the Cisco IOS IP Routing: Protocol-Independent Command Reference.

  • set level

  • set metric

  • set metric-type

Step 7

Repeat Step 6 for each value that you want to set.

(Optional)

Step 8

Repeat Steps 3 through 7 for each route-map statement that you want.

(Optional)

Step 9

exit

Example:


Device(config-route-map)# exit

(Optional) Returns to global configuration mode.

Step 10

router isis

Example:


Device(config)# router isis

(Optional) Enables the IS-IS routing protocol, specifies an IS-IS process, and puts the device in router configuration mode.

Step 11

metric-style wide

Example:


Device(config-router)# metric-style wide

Configures a device running IS-IS so that it generates and accepts type, length, values (TLV) object 135 for IP addresses.

Step 12

redistribute protocol [process-id] {level-1 | level-1-2 | level-2 } [metric metric-value] [metric-type type-value] [route-map map-tag]

Example:


Device(config-router)# redistribute static ip metric 2 route-map static-color

(Optional) Redistributes routes from one routing domain into another routing domain.

Monitoring IS-IS Network Convergence Time

SUMMARY STEPS

  1. enable
  2. configure terminal
  3. isis display delimiter [return count | character count]
  4. exit
  5. show isis database [level-1 ] [level-2 ] [l1 ] [l2 ] [detail ] [lspid ]
  6. show isis [area-tag] route
  7. show isis [area-tag] [ipv6 | * ] spf-log
  8. show isis [process-tag] topology

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

isis display delimiter [return count | character count]

Example:


Device(config)# isis display delimiter return 2

Makes output from multiarea displays easier to read by specifying the delimiter to use to separate displays of information.

Step 4

exit

Example:


Device(config)# exit

Returns to privileged EXEC mode.

Step 5

show isis database [level-1 ] [level-2 ] [l1 ] [l2 ] [detail ] [lspid ]

Example:


Device# show isis database detail

Displays the Intermediate System-to-Intermediate System (IS-IS) link-state database.

Step 6

show isis [area-tag] route

Example:


Device# show isis financetag route

Displays the IS-IS Level 1 forwarding table for IS-IS learned routes.

Step 7

show isis [area-tag] [ipv6 | * ] spf-log

Example:


Device# show isis spf-log

Displays how often and why the device has run a full shortest path first (SPF) calculation.

Step 8

show isis [process-tag] topology

Example:


Device# show isis financetag topology

Displays a list of all connected devices in all areas.

  • If a process tag is specified, output is limited to the specified routing process. When “null” is specified for the process tag, the output is displayed only for the device process that has no tag specified. If a process tag is not specified, the output is displayed for all processes.

Examples

The following sample output from the show isis spf-log command displays this information:

  • When the SPFs were executed

  • Total elapsed time for the SPF computation

  • Number of nodes that make up the topology in the SPF calculation

  • Number of triggers that caused the SPF calculation

  • Information regarding what triggered the SPF calculation


Device# show isis spf-log

   Level 1 SPF log
When      Duration  Nodes  Count     Last trigger LSP Triggers
00:15:46    3124     40      1          milles.00-00  TLVCODE
00:15:24    3216     41      5          milles.00-00  TLVCODE NEWLSP
00:15:19    3096     41      1          deurze.00-00  TLVCODE
00:14:54    3004     41      2          milles.00-00  ATTACHFLAG LSPHEADER
00:14:49    3384     41      1          milles.00-01  TLVCODE
00:14:23    2932     41      3          milles.00-00  TLVCODE
00:05:18    3140     41      1                        PERIODIC
00:03:54    3144     41      1          milles.01-00  TLVCODE
00:03:49    2908     41      1          milles.01-00  TLVCODE
00:03:28    3148     41      3           bakel.00-00  TLVCODE TLVCONTENT
00:03:15    3054     41      1          milles.00-00  TLVCODE
00:02:53    2958     41      1          mortel.00-00  TLVCODE

Configuration Examples for IS-IS Support for Route Tags

Example: Tagging Routes for Networks Directly Connected to an Interface and Redistributing Them

In this example, two interfaces are tagged with different tag values. By default, these two IP addresses would have been put into the Intermediate System-to-Intermediate System (IS-IS) Level 1 and Level 2 database. However, by using the redistribute command with a route map to match tag 110, only IP address 172.16.10.5 255.255.255.0 is put into the Level 2 database.


interface Gigabitethernet 1/0/0
 ip address 192.168.129.1 255.255.255.0
 ip router isis
 isis tag 120
interface Gigabitethernet 1/1/0
 ip address 172.16.10.5 255.255.255.0
 ip router isis
 isis tag 110
router isis
 net 49.0001.0001.0001.0001.00
 redistribute isis ip level-1 into level-2 route-map match-tag
route-map match-tag permit 10
 match tag 110

Example: Redistributing IS-IS Routes Using a Route Map

In a scenario using route tags, you might configure some commands on one device and other commands on another device. For example, you might have a route map that matches on a tag and sets a different tag on a device at the edge of a network, and on different devices you might configure the redistribution of routes based on a tag in a different route map.

The figure below illustrates a flat Level 2 Intermediate System-to-Intermediate System (IS-IS) area. On the left edge are static routes from Device A to reach some IP prefixes. Device A redistributes the static routes into IS-IS. Device B runs the Border Gateway Protocol (BGP) and redistributes IS-IS routes into BGP and then uses the tag to apply different administrative policy based on different tag values.

Figure 1. Example of Redistributing IS-IS Routes Using a Route Map

Device A


router isis
 net 49.0000.0000.0001.00
 metric-style wide
 redistribute static ip route-map set-tag
!
route-map set-tag permit 5
 set tag 10

Device B


router bgp 100
 redistribute isis level-2 route-map tag-policy
route-map tag-policy permit 20
 match tag 10
 set metric 1000

Example: Tagging a Summary Address and Applying a Route Map

The figure below illustrates two Level 1 areas and one Level 2 area between them. Device A and Device B are Level 1/Level 2 edge devices in the Level 2 area. On edge Device A, a summary address is configured to reduce the number of IP addresses put into the Level 2 Intermediate System-to-Intermediate System (IS-IS) database. Also, a tag value of 100 is set to the summary address.

On Device B, the summary address is leaked into the Level 1 area, and administrative policy is applied based on the tag value.

Figure 2. Tag on a Summary Address

Device A


router isis
 net 49.0001.0001.0001.00
 metric-style wide
 summary-address 10.0.0.0 255.0.0.0 tag 100

Device B


router isis
 net 49.0002.0002.0002.0002.0
 metric-style wide
 redistribute isis ip level-2 into level-1 route-map match-tag
route-map match-tag permit 10
 match tag 100

Example: Redistributing IS-IS Routes Using an Access List and a Route Map

In this example, the first redistribute isis ip command controls the redistribution of Level 1 routes into Level 2. Only the routes with the tag of 90 and whose IP prefix is not 192.168.130.5/24 are redistributed from Level 1 into Level 2.

The second redistribute isis ip command controls the route leaking from Level 2 into the Level 1 domain. Only the routes tagged with 60 or 50 are redistributed from Level 2 into Level 1.


interface Gigabitethernet 1/0/0
 ip address 192.168.130.5 255.255.255.0
 ip router isis
 isis tag 60
!
interface Gigabitethernet 2/0/0
 ip address 192.168.130.15 255.255.255.0
 ip router isis
 isis tag 90
!
interface Gigabitethernet 3/0/0
 ip address 192.168.130.25 5 255.255.255.0
 ip router isis
 isis tag 50
!
router isis
 net 49.0001.0001.0001.0001.00
 metric-style wide
 redistribute isis ip level-1 into level-2 route-map redist1-2
 redistribute isis ip level-2 into level-1 route-map leak2-1
!
access-list 102 deny ip host 192.168.130.5 host 255.255.255.255
access-list 102 permit ip any any
!
route-map leak2-1 permit 10
 match tag 60
!
route-map leak2-1 permit 20
 match tag 50
!
route-map redist1-2 permit 10
 match ip address 102
 match tag 90

Where to Go Next

To configure features to improve Intermediate System-to-Intermediate System (IS-IS) network convergence times, complete the optional tasks in one or more of the following modules in the IP Routing: IS-IS Configuration Guide:

  • “Overview of IS-IS Fast Convergence”

  • “Reducing Failure Detection Times in IS-IS Networks”

  • “Reducing Link Failure and Topology Change Notification Times in IS-IS Networks”

Additional References

Related Documents

Related Topic

Document Title

Cisco IOS commands

Cisco IOS Master Command List, All Releases

IS-IS commands

Cisco IOS IP Routing: IS-IS Command Reference

IS-IS conceptual information

“Integrated IS-IS Routing Protocol Overview” module in the IP Routing: IS-IS Configuration Guide

Improving IS-IS network convergence times

  • “Overview of IS-IS Fast Convergence” module in the IP Routing: IS-IS Configuration Guide

  • “Reducing Failure Detection Times in IS-IS Networks” module in the IP Routing: IS-IS Configuration Guide

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 Route Tags

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 Route Tags

Feature Name

Releases

Feature Information

IS-IS Support for Route Tags

Cisco IOS XE Release 3.1.0SG

The IS-IS Support for Route Tags feature enables you to tag Intermediate System-to-Intermediate System (IS-IS) route prefixes and use those tags in a route map to control IS-IS route redistribution or route leaking.

The following commands were introduced or modified: isis tag , match tag , metric-style wide , router isis , route-map , set tag , show ip route , show isis database verbose , summary-address .