MPLS MTU Calculator
Size core MTU for an MPLS label stack at 4 bytes per label, including VPN and entropy labels.
About MPLS MTU Calculator
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.
Worked example
With the default values below, MPLS MTU Calculator returns Core MTU Required of 1,512. Change any input above and every figure here is recalculated in your browser.
Inputs used
- Customer IP MTUaccepts 576–9,000 bytes
- 1,500 bytes
- Transport labelsaccepts 0–10 labels
- 2 labels
- VPN / service label
- Yes
- Entropy or flow label
- No
- Configured core MTUaccepts 576–9,216 bytes
- 1,500 bytes
Results
- 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
Step by step
- 1Values used
- 2MPLS MTU
- 3Effective payload
- 4Core MTU Required= 1,512 bytes
- 5Label Stack Overhead= 12 bytes
- 6Labels in the Stack= 3
- 7Payload the Core MTU Allows= 1,488 bytes
- 8MTU Shortfall= 12 bytes
- 9Verdict= Too small — raise the core MTU by at least 12 bytes or customer traffic will be fragmented or dropped
Assumptions and limits
- The result is derived only from the 5 inputs listed above. Anything not among them is not part of the calculation.
- In particular, this calculator does not take inflation, tax or compounding frequency into account.
- Figures are rounded for display to whole numbers, so totals built from several rounded parts can differ slightly from the unrounded arithmetic.
How these calculators are built and tested is described on the Methodology page. If a figure looks wrong, please report it.
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.
