Sunday, 11 March 2012

Cisco IS-IS and OSPF prefix prioritisation

This post explains how prefix prioritisation can be configured in both IS-IS and OSPF to gain faster convergence. This is particularly useful for MPLS or financial SSM multicast environments where we can easily distinguish the routes that should receive priority.

First it should be noted that prefix prioritisation for both IS-IS and OSPF is only available in IOS-XR, however on IOS we can still use this feature for IS-IS. The feature behaves slightly different between IOSes and protocols, so I've summarised each below.

Out of the box, IS-IS will automatically prioritise /32 routes which is very useful in MPLS environments as LDP convergence needs to occur following IGP convergence. However this can be customised with additional prefixes, for example in financial environments that are using Source Specific Multicast (SSM).

IS-IS Prefix Priority on IOS

There are three levels (note: /32 prefixes are prioritised by default)

·High – tagged manually

·Medium - /32 prefixes that aren’t tagged for
high priority

·Low – all other prefixes

(config)# interface gi0/0

(config-if)# isis tag 100

(config)# router isis

(config-rtr)# ip route priority
high tag 100

# sh isis database verbose

IS-IS Prefix Priority on IOS-XR

There are four levels

(note: /32 prefixes are prioritised by default)

·Critical – Matched by ACL manually

·High – Matched by ACL manually

·Medium - /32 prefixes that aren’t tagged for
high or critical priority

·Low – all other prefixes

(config)# ipv4 prefix-list isis-high-acl

(config-ipv4_pfx)# 10 permit 0.0.0.0/0 eq 32

(config)# router isis 1

(config-isis)# address-family ipv4 unicast

(config-isis-af)# spf prefix-priority critical isis-critical-acl

(config-isis-af)# spf prefix-priority high isis-high-acl

(config-isis-af)# spf prefix-priority medium isis-med-acl

OSPF Prefix Prioritisation on IOS-XR

There are four levels

(note: no prefixes are prioritised by default)

·Critical – prefixes permitted by a route-map

·High – prefixes permitted by a route-map

·Medium – prefixes permitted by a route-map

·Low – all other prefixes

Available in IOS-XR only

(config) prefix-set MY_PREFIX

(config-pfx) 10.1.1.0/24

(config-pfx) end-set

(config) route-policy route-policy
MY_POL

(config-rpl) if destination in
prefix-set MY_PREFIX then set spf-priority {critical | high | medium} endif