L3 · mpls · reviewed

SR-MPLS

Segment Routing MPLS

A prefix SID is a node label from the SRGB; an adjacency SID is one hop. TI-LFA is a repair stack — not RSVP-TE.

Presenter modeEmbed this figure

IntroductionRFC 8402 · PROPOSED STANDARD · July 2018SR-MPLSRFC 8402 · PROPOSED STANDARD · July 2018TerminologyRFC 8402 · PROPOSED STANDARD · July 2018

Why it exists

LDP distributes labels hop-by-hop. SR-MPLS lets the source stack labels that the IGP already advertised, enabling TI-LFA without RSVP state.

Advertise prefix SIDs from the SRGB and use TI-LFA repair stacks where LFA fails.

Prefix SID from the SRGB

A node advertises a prefix SID; packets push that label to steer to the node along the IGP path.

The SRGB defines the global label block. A prefix SID is an index into that block — a node label. R1: SRGB 16000–23999. R2.

R1Prefix SID = node labelSRGB: 16000–23999R2
  • Link
  • Blocking
  • Packet in flight
  • Discarded
  • Emphasis
Select a device to read its state. Arrow keys walk the topology.
Text equivalent of this diagram
Devices and links at this step
ElementKindState
R1routerSRGB: 16000–23999
R2router
R1R2linkup
1 / 2

The SRGB defines the global label block. A prefix SID is an index into that block — a node label.

What changed

  • R1: SRGB → 16000–23999
  • Prefix SID = node label

How it works

Prefix SIDs index the SRGB; adjacency SIDs steer one hop. When RFC 5286 LFA fails, a PQ node is reached with a node SID (remote LFA / TI-LFA idea). No PATH/RESV.

On the wire

Constructed examples, encoded from the field table below them — not captured traffic.

Outer label 16001 (S=0) toward the egress PE, inner VPN label 5001 (S=1) selecting the VRF.

MPLS
Stacked after the link-layer header, before the inner IP or Ethernet payload. RFC 3032

Configure it

Enable segment-routing MPLS with a consistent SRGB.

Cisco IOS-XE 17.12 · ASR 1000draft

  1. segment-routing mpls
     !
    segment-routing
     global-block 16000 23999

    Define the SRGB used for prefix SIDs.

  2. router isis 1
     segment-routing mpls
     segment-routing prefix-sid-map advertise-local

    Advertise prefix SIDs in the IGP.

Verify

show segment-routing mpls
SRGB and local SIDs.
show isis segment-routing prefix-sid-map
Advertised prefix SIDs.

Caveats

  • Marked draft: syntax has not been checked against a device.

When it breaks

Symptom first, because that is what you have when it happens.

  1. Packets unlabeled after enabling SR.

    Narrow it down

    1. Confirm SRGB consistency
    2. Check prefix-SID advertisement

    Cause

    Mismatched SRGB or missing SID.

    Fix

    Align SRGB and verify IGP SID TLVs.

  2. TI-LFA not installed.

    Narrow it down

    1. Check LFA inequality
    2. Inspect PQ computation

    Cause

    Topology has no suitable PQ or TI-LFA disabled.

    Fix

    Enable TI-LFA and verify topology supports a repair.

  3. Operator looks for LDP bindings for IGP prefixes.

    Narrow it down

    1. show SR local blocks / SIDs
    2. Confirm the related configuration and counters.

    Cause

    Wrong distribution model.

    Fix

    Inspect SRGB and prefix SIDs, not LDP FEC bindings.

  4. Adj-SID traffic takes the IGP path not the link.

    Narrow it down

    1. Confirm SID type
    2. Confirm the related configuration and counters.

    Cause

    Pushed a prefix SID instead of adj-SID.

    Fix

    Use the adjacency SID for strict one-hop steer.

  5. Inter-AS SR broken at boundary.

    Narrow it down

    1. SRGB domains
    2. Confirm the related configuration and counters.

    Cause

    Global SIDs not aligned across domains.

    Fix

    Plan SRGB and SID mapping at the ASBR deliberately.

Design notes

Advertise prefix SIDs from the SRGB and use TI-LFA repair stacks where LFA fails.

Misconceptions

SR-MPLS is just LDP with a new name.
Labels are IGP-advertised SIDs; the source can stack them. LDP maps FECs hop-by-hop over TCP.
TI-LFA requires RSVP-TE PATH/RESV.
Repair stacks are computed locally from the IGP topology — no RSVP state.
An adjacency SID identifies a remote node.
An adjacency SID steers one hop on a specific link; a prefix/node SID identifies a node.

More walkthroughs

Adjacency SID for one hopbaseline

An adjacency SID forces the next hop to a specific link, used in explicit stacks and some TI-LFA repairs.

R1 programs an adjacency SID for the R1→R2 link. Pushing it steers exactly one hop onto that adjacency. R1. R2.

R1One-hop steerR2Adj-SID
  • Link
  • Blocking
  • Packet in flight
  • Discarded
  • Emphasis
Select a device to read its state. Arrow keys walk the topology.
Text equivalent of this diagram
Devices and links at this step
ElementKindState
R1router
R2router
R1R2linkup
1 / 1

R1 programs an adjacency SID for the R1→R2 link. Pushing it steers exactly one hop onto that adjacency.

What changed

  • Emphasis: Adj-SID
  • One-hop steer

TI-LFA when plain LFA failsfailure

Neighbor N fails the LFA inequality; a PQ node SID is pushed so post-failure SPF from the PQ reaches D without looping to S.

Primary next hop toward D is P. Neighbor N fails dist(N,D) < dist(N,S)+dist(S,D) — not an LFA. S. PQ / P. D.

SNo direct LFAPQ / PD
  • Link
  • Blocking
  • Packet in flight
  • Discarded
  • Emphasis
Select a device to read its state. Arrow keys walk the topology.
Text equivalent of this diagram
Devices and links at this step
ElementKindState
Srouter
PQ / Prouter
Drouter
SPQ / Plinkup
PQ / PDlinkup
1 / 2

Primary next hop toward D is P. Neighbor N fails dist(N,D) < dist(N,S)+dist(S,D) — not an LFA.

What changed

  • No direct LFA

Terms

Node SID
A Prefix-SID advertised for a loopback, drawn from the SRGB. TI-LFA may push one to reach a PQ node when no direct LFA exists.

Check yourself

  • A prefix SID is best described as:
  • An adjacency SID steers:
  • TI-LFA differs from RSVP-TE FRR because:
  • When is a PQ node SID needed?
  • Compared with LDP, SR-MPLS:
  • Is there a PATH/RESV for a TI-LFA repair?
  • The MPLS label stack in SR carries:
  • Mismatched SRGBs across neighbours cause: