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 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) 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
(config) router ospf 1
(config-ospf) spf prefix-priority route-policy MY_POL


  1. In ospf also available in ios XE with a route-map but only matches route-type,prefix-list and route-tag are supported in the route-map

    route-map PRIORI permit5
    match tag tag-name
    router ospf 2
    prefix-priority high route-map PRIORI

    1. Thanks for the feedback. I wrote this a few years ago so maybe it has been updated - so good to hear.