MPLS MTU Calculator
Size core MTU for an MPLS label stack at 4 bytes per label, including VPN and entropy labels.
Inputs
Core MTU Required
1,512bytes
Label Stack Overhead
12bytes
Labels in the Stack
3
Payload the Core MTU Allows
1,488bytes
MTU Shortfall
12bytes
Verdict
Too small — raise the core MTU by at least 12 bytes or customer traffic will be fragmented or dropped
Step by step
Values used
Customer IP MTU = 1,500 bytes; Transport labels = 2 labels; VPN / service label = Yes; Entropy or flow label = No; Configured core MTU = 1,500 bytes
MPLS MTU
Each MPLS label is a 4-byte shim holding a 20-bit label, 3-bit traffic class, 1-bit bottom-of-stack flag and an 8-bit TTL, so required MTU = customer MTU + 4 × labels.
Effective payload
Payload allowed by a given core MTU = core MTU − label bytes.
Core MTU Required
= 1,512 bytes
Label Stack Overhead
= 12 bytes
Labels in the Stack
= 3
Payload the Core MTU Allows
= 1,488 bytes
MTU Shortfall
= 12 bytes
Verdict
= Too small — raise the core MTU by at least 12 bytes or customer traffic will be fragmented or dropped
How it works
Labels are pushed in front of the customer packet, so they consume MTU rather than riding on top of it. A typical L3VPN packet carries a transport label plus a VPN label, and fast-reroute, entropy labels or SR stacks add more, each costing another 4 bytes. MPLS MTU shortfalls are the classic "ping works, applications hang" fault: small packets pass, full-size TCP segments are dropped, and because the core is label-switched the ICMP needed-fragmentation message often never reaches the sender.
Formulas
MPLS MTU
Each MPLS label is a 4-byte shim holding a 20-bit label, 3-bit traffic class, 1-bit bottom-of-stack flag and an 8-bit TTL, so required MTU = customer MTU + 4 × labels.
- 4 bytes
- One MPLS shim header — 20-bit label, 3-bit TC, 1-bit S, 8-bit TTL
- transport labels
- LDP or SR labels for the LSP itself, plus any extra for fast-reroute or stitching
- VPN label
- Service label identifying the VRF or pseudowire at the egress PE
Effective payload
Payload allowed by a given core MTU = core MTU − label bytes.
Frequently Asked Questions
How is MPLS MTU calculated?
Each MPLS label is a 4-byte shim holding a 20-bit label, 3-bit traffic class, 1-bit bottom-of-stack flag and an 8-bit TTL, so required MTU = customer MTU + 4 × labels. Labels are pushed in front of the customer packet, so they consume MTU rather than riding on top of it. A typical L3VPN packet carries a transport label plus a VPN label, and fast-reroute, entropy labels or SR stacks add more, each costing another 4 bytes.
Why does MPLS MTU matter?
MPLS MTU shortfalls are the classic "ping works, applications hang" fault: small packets pass, full-size TCP segments are dropped, and because the core is label-switched the ICMP needed-fragmentation message often never reaches the sender.
What values do I need to enter?
This calculator takes 5 inputs: Customer IP MTU, Transport labels, VPN / service label, Entropy or flow label, Configured core MTU. 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 much core MTU should I configure?
Set the core well above the arithmetic minimum — 9000-byte jumbo frames end the problem permanently, and 1600 is the common minimum. Sizing to the exact requirement leaves no room for the next label you add.