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
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.
- Link
- Blocking
- Packet in flight
- Discarded
- Emphasis
Text equivalent of this diagram
| Element | Kind | State |
|---|---|---|
| R1 | router | SRGB: 16000–23999 |
| R2 | router | — |
| R1 — R2 | link | up |
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.
- MPLS
- Stacked after the link-layer header, before the inner IP or Ethernet payload. RFC 3032
Configure it
segment-routing mpls ! segment-routing global-block 16000 23999Define the SRGB used for prefix SIDs.
router isis 1 segment-routing mpls segment-routing prefix-sid-map advertise-localAdvertise 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.
Packets unlabeled after enabling SR.
Narrow it down
- Confirm SRGB consistency
- Check prefix-SID advertisement
Cause
Mismatched SRGB or missing SID.
Fix
Align SRGB and verify IGP SID TLVs.
TI-LFA not installed.
Narrow it down
- Check LFA inequality
- Inspect PQ computation
Cause
Topology has no suitable PQ or TI-LFA disabled.
Fix
Enable TI-LFA and verify topology supports a repair.
Operator looks for LDP bindings for IGP prefixes.
Narrow it down
- show SR local blocks / SIDs
- Confirm the related configuration and counters.
Cause
Wrong distribution model.
Fix
Inspect SRGB and prefix SIDs, not LDP FEC bindings.
Adj-SID traffic takes the IGP path not the link.
Narrow it down
- Confirm SID type
- 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.
Inter-AS SR broken at boundary.
Narrow it down
- SRGB domains
- 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.
- Link
- Blocking
- Packet in flight
- Discarded
- Emphasis
Text equivalent of this diagram
| Element | Kind | State |
|---|---|---|
| R1 | router | — |
| R2 | router | — |
| R1 — R2 | link | up |
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.
- Link
- Blocking
- Packet in flight
- Discarded
- Emphasis
Text equivalent of this diagram
| Element | Kind | State |
|---|---|---|
| S | router | — |
| PQ / P | router | — |
| D | router | — |
| S — PQ / P | link | up |
| PQ / P — D | link | up |
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.