SR-MPLS Calculator
Check an SR-MPLS label stack against platform MSD and MTU, and compare state held versus RSVP-TE.
Inputs
MTU Required with the Stack
1,516bytes
Label Stack Overhead
16bytes
Path State Entries with SR
100
Path State Entries with RSVP-TE
9,900
State Reduction vs RSVP-TE
98.99%
Fits the Platform MSD
Yes — a 4-SID stack fits an MSD of 5
Step by step
Values used
SIDs in the label stack = 4 SIDs; Platform maximum SID depth = 5 SIDs; Customer IP MTU = 1,500 bytes; Nodes in the domain = 100 nodes
SR-MPLS
Each SID in the stack is a 4-byte MPLS label, so a strict explicit path of k hops adds 4k bytes and must fit the platform's maximum SID depth.
Control-plane state
State: SR needs one SID per node; a full RSVP-TE mesh needs n(n − 1) LSPs with state at every hop.
MTU Required with the Stack
= 1,516 bytes
Label Stack Overhead
= 16 bytes
Path State Entries with SR
= 100
Path State Entries with RSVP-TE
= 9,900
State Reduction vs RSVP-TE
= 98.99
Fits the Platform MSD
= Yes — a 4-SID stack fits an MSD of 5
How it works
Segment Routing puts the path in the packet, so only the ingress holds path state and the core forwards on labels it already advertised. The cost moves to the packet header, which is why MSD and MTU become the binding constraints instead of control-plane scale. MSD is a hardware limit that fails silently at the wrong layer: a controller computes a valid path, the ingress cannot impose the stack, and traffic falls back to the shortest path without any obvious error.
Formulas
SR-MPLS
Each SID in the stack is a 4-byte MPLS label, so a strict explicit path of k hops adds 4k bytes and must fit the platform's maximum SID depth.
- MSD
- Maximum SID Depth — how many labels the forwarding ASIC can impose, commonly 5 to 10
- Binding-SID
- A single SID that expands into a pre-programmed stack, used to compress deep paths
- path state
- Per-path forwarding state — O(n) SIDs for SR versus O(n²) LSPs for a full RSVP-TE mesh
Control-plane state
State: SR needs one SID per node; a full RSVP-TE mesh needs n(n − 1) LSPs with state at every hop.
Frequently Asked Questions
How is SR-MPLS calculated?
Each SID in the stack is a 4-byte MPLS label, so a strict explicit path of k hops adds 4k bytes and must fit the platform's maximum SID depth. Segment Routing puts the path in the packet, so only the ingress holds path state and the core forwards on labels it already advertised. The cost moves to the packet header, which is why MSD and MTU become the binding constraints instead of control-plane scale.
Why does SR-MPLS matter?
MSD is a hardware limit that fails silently at the wrong layer: a controller computes a valid path, the ingress cannot impose the stack, and traffic falls back to the shortest path without any obvious error.
What values do I need to enter?
This calculator takes 4 inputs: SIDs in the label stack, Platform maximum SID depth, Customer IP MTU, Nodes in the domain. The pre-filled defaults are a realistic starting point — replace them with figures from your own environment for a result you can act on.
How do I get around a low MSD?
Use fewer, coarser segments. A loose path with node-SIDs at key waypoints needs far less depth than a strict hop-by-hop path, and a Binding-SID collapses a whole sub-path into one label the ingress imposes.