Introduction to ISIS Segment Routing Extension

In this article I will talk about the IS-IS Segment Routing Extension. IS-IS stands for Intermediate system to intermediate system and i wrote some of the articles on this protocol.

Now Let's talk about the segment routing in IS-IS routing protocol. draft-ietf-isis-segment-routing-extensions defines a new ISIS Router capability as “SR Capabilities sub-TLV” to advertise the SR data plane capabilities and the SRGB block from where the Prefix SID will be assigned.

Fig 1.1- ISIS Segment Routing
Each router will include Prefix SID Sub-TLV while advertising the prefix via LSP.
  • R-Flag (Re-advertisement Flag): Set when the Prefix is propagated from other level or redistributed into ISIS.
  • N-Flag (Node SID): Set when this prefix is assigned with a segment from SRGB.
  • P-Flag (non-PHP Flag): When set, directly connected (or the PHP router) will not POP the label. By default, this flag will be unset and so will be treated as if the prefix is received with imp-null label.
  • E-Flag (Explicit-null Flag): If set, the PHP router will swap the label with Exp-null label.
  • V-Flag (Value Flag): Set when the SID is configured as Absolute Value. When Prefix-SID is configured as Index, this flag is set to 0.
  • L-Flag (Local Flag): This flag will be set for Adj-SID or any other Segment ID with local significance. Prefix SID that have global significance will have this flag unset.

Each router will also assign Adj-SID for each IGP adjacency and advertise via Adj-SID Sub-TLV.
  • F-Flag (Address-Family Flag): Set to 0, when Adj-SID refers to IPv4 IGP adjacency and set to 1, when Adj-SID refers to IPv6 IGP adjacency.
  • B-Flag (Backup Flag): Set to 1, when Adj-SID is eligible for FRR protection using LFA-FRR or MPLS-FRR.
  • V-Flag (Value Flag): Set when the SID is configured as Absolute Value. For Adj-SID, this flag will always be set.
  • L-Flag (Local Flag): This flag will be set for Adj-SID or any other Segment ID with local significance. Adj-SID has local significance and so Adj-SID will have this flag always set.