GRE MTU Calculator for Tunnel MSS Planning

August 22, 2026

GRE MTU Calculator

Calculate GRE tunnel MTU, recommended TCP MSS clamp, encapsulated packet size, and headroom before a home lab or WAN path starts fragmenting traffic.

🖧GRE Tunnel Presets
⚙Tunnel Inputs
Used for realistic notes, throughput class, and MTU comparison.
Enter the lowest proven IP MTU between tunnel endpoints.
GRE over IPv6 uses a larger outer IP header.
Optional GRE fields add 4 bytes each.
Determines recommended MSS or UDP payload ceiling.
Add PPPoE, ESP, NAT-T, VLAN-in-provider, or measured carrier overhead.
Subtracted from usable MTU after GRE overhead.
Compare the current interface MTU against the calculated safe value.
Used for estimated payload efficiency and packet-rate overhead.
A documentation field for home lab diagrams and cable plant notes.
📊GRE MTU Results
Safe Tunnel MTU
1460
bytes after GRE and margin
Recommended MSS
1420
TCP clamp value
Encapsulated Size
1500
outer packet at configured MTU
Payload Efficiency
98.4%
inner MTU divided by outer packet
Ready.
🖥Equipment / Networking Spec Comparison
24 B
Cisco basic GRE over IPv4
Classic tunnel interface math: 20-byte outer IPv4 plus 4-byte GRE header.
1476
Linux ip_gre default target
A common clean-Ethernet inner MTU before optional key, sequence, or safety margin.
1456
GRE over IPv6 baseline
IPv6 underlay consumes 40 bytes before the 4-byte GRE base header.
1468
PPPoE plus basic GRE
1492-byte PPPoE path minus 24 bytes, before extra safety or TCP options.
1436
Typical IPv4 TCP MSS
1476 inner MTU minus 20-byte IPv4 and 20-byte TCP headers.
1416
Typical IPv6 TCP MSS
1476 inner MTU minus 40-byte IPv6 and 20-byte TCP headers.
1500+
GRETAP bridge requirement
Bridged payloads need room for Ethernet headers inside the tunnel design.
DF
PMTUD dependency
Fragmentation-needed ICMP must return cleanly or a conservative MSS clamp helps.
📐GRE Header Breakdown Reference
Component Bytes Subtracted From MTU Where It Appears Planning Note
Outer IPv4 header20YesEvery GRE tunnel over IPv4Basic 1500 path leaves 1480 before GRE.
Outer IPv6 header40YesGRE over IPv6 underlayConsumes 20 more bytes than IPv4 underlay.
GRE base header4YesAll GRE packetsProtocol type and flags are always present.
GRE key field4YesKeyed GRE, mGRE, policy separationCommon in DMVPN and multi-tenant lab tunnels.
GRE sequence field4YesOrdered delivery or diagnosticsRare in simple home lab tunnels.
GRE checksum field4YesChecksum-enabled tunnelsUseful for validation, but adds overhead.
PPPoE access layer8If not already in path MTUDSL or PPPoE fiber accessOften represented as a 1492-byte path MTU.
ESP and NAT-T50 to 90Yes when GRE is inside IPsecIPsec-protected GRE WANPadding and algorithms change the exact number.
🛠Platform Behavior Comparison
Platform / Network GRE Style Useful MTU Setting Typical Spec Concern Operational Check
Cisco IOS / IOS XEtunnel mode gre ipInterface MTU or ip mtuDMVPN adds key and NHRP design needs.Clamp TCP MSS on tunnel interface.
VyOS or FRR routerGRE or GRE-keyInterface MTU plus MSS clampPolicy routing and firewall zones can hide drops.Probe with DF from both tunnel endpoints.
Linux iproute2ip tunnel add mode greLink MTU on gre interfaceOffload features may mask packet captures.Check ip link and tracepath results.
MikroTik RouterOSGRE or EoIPActual MTU and L2 MTU fieldsEoIP carries Ethernet-like payloads.Confirm bridge and physical port L2 MTU.
Juniper SRX / vSRXgr interfaceFamily inet MTUSecurity policy and zone inspection matter.Test across the security zone path.
Cloud virtual routerVendor GRE attachmentProvider tunnel MTU limitCloud edge may enforce a lower ceiling.Use provider docs and packet probes.
📋Common GRE MTU Outcomes
Scenario Path MTU GRE Overhead Safe Inner MTU IPv4 TCP MSS
Basic GRE over Ethernet IPv415002414761436
Keyed GRE over Ethernet IPv415002814721432
GRE key plus sequence15003214681428
Basic GRE over IPv615004414561416
PPPoE access plus basic GRE14922414681428
GRE inside IPsec allowance15009414061366
GRE over jumbo 9000 IPv490002489768936
🧪Project Size Reference
Project Typical Devices Planning MTU Secondary Result Best Use
Two-site home lab2 routers, 2 switches1476MSS 1436Static GRE route testing.
DMVPN practice pod1 hub, 3 spokes1472MSS 1432NHRP, mGRE, and keyed profiles.
PPPoE branch tunnel2 routers1468MSS 1428Residential fiber or DSL handoff.
GRETAP bridge lab2 Linux hosts1458Bridge checkL2 adjacency experiments.
IPsec-protected GRE WAN2 firewalls1360 to 1410MSS 1320+Encrypted routing overlays.
Jumbo storage overlay2 hosts, 1 switch pair8976MSS 8936Lab-only backup or replication links.
💡Planning Tips
Clamp at the tunnel edge: GRE normally relies on path MTU discovery, but home firewalls and ISP paths can drop the needed ICMP messages. A calculated MSS clamp gives TCP flows a stable ceiling.
Separate path MTU from wire size: If PPPoE or a cloud provider already reports a lower path MTU, enter that lower number once. Add extra bytes only for overhead not already reflected in the path MTU.
The calculator uses practical GRE planning math: safe inner MTU equals underlay path MTU minus outer IP header, GRE base header, optional GRE fields, extra encapsulation bytes, and selected safety margin. Validate production changes with DF-bit probes from both endpoints.

If you’ve ever built an overlay network, you’ve probably run into a quiet failure of a GRE tunnel. The tunnel come up just fine. Your routing protocols gets adjacent with each other. You look at your management dashboard… Everything’s green.

Then you try to load a big web page, or send someone a large file. The connection grinds to a halt. Packets aren’t being dropped by the firewall. There isn’t a routing black hole anywhere. It’s just that the packets are too big for the path they’re taking.

Understanding MTU Problems in GRE Tunnels

That’s Maximum Transmission Unit, the classic issue with any overlay network build. On paper, it looks like such easy math. But it becomes a puzzle when considering real world overhead.

The baseline is that a normal ethernet frame can carry 1500 bytes of payload. When you wrap that in a GRE header, you’ve added at least four bytes. If you’re doing policy separation using keyed GRE, you’ll have four more bytes. Add an outer IP header (twenty bytes for ipv4; forty bytes for ipv6), and now your 1500-byte packet wants to squeeze itself into a 1472-byte envelope.

And… it doesn’t fit. Time to fragment! Or drop the packet if the don’t fragment bit are on.

The calculator takes into account your specific underlay path mtu, minus all the bytes of overhead you just introduced. It gives you a safe inner MTU value, and also a tcp mss clamp value so you won’t see these failures. Now you should of had an exact understanding of what you’ve added to the top. If you think “oh my tunnel interface is UP so it must be ok”, many admins do, that’s why you should use this.

It accounts for additional bytes like sequence number and checksums inside a GRE packet. People often miss these, and you can even account for optional GRE options, like checksums and sequence numbers. Also, it allows you to account for additional encapsulations (like PPPoE or IPsec ESP) which is very common in a WAN environment. For instance, PPPoE cuts the MTU down to 1492 bytes before adding the GRE header. And if you don’t know that, your tunnel will not work across any path that passes through a fiber or DSL access link.

The page has a reference table showing what happens with every combination of headers. Remember that Path MTU Discovery involves more than just a simple number of bytes. The protocol will send out probe packets and listen for ICMP errors so it can handle all this stuff without user intervention.

In theory, this is great. In practice, many corporate security appliances and even some home firewalls will block these ICMP messages. If your firewall blocks PMTUD and your TCP connection encounter a smaller MTU, then it’ll simply hang until its timeout. Having a static MSS clamp is useful here. It forces the TCP header to advertise a smaller maximum segment size, which ensures the resulting packets will be small enough to fit within the tunnel.

Every hop matter and every header counts along the path. This is where the safety margin comes into play on the calculator. Add 16-40 bytes as a safety margin because who knows what kind of other overhead there may be? There might also be some future change in the path. So you give up a little bit of theoretical throughput and get the assurance that your tunnel won’t drop large packets.

In the lab, you can go all out and run with no room for error. But in production, that margin tells the difference between a reliable WAN link and one that needs constant tweaking.

When it comes to selecting an MTU, the math isn’t everything. Every header counts; every hop matters. Knowing the whole route from end-to-end brings the understanding. That’s what the tool does, makes the math easy. But then there’s the insight into why the numbers is getting smaller. When you see the MSS clamp shrink from 1460 to 1360, you’re not losing performance. You’re buying resilience.

The packet size are going down but it’s going to get through. There’s nothing worse on a network than having a packet fragment that never makes it through. That’s what a stall is. On a VPN tunnel, the interface stays up, but the data doesn’t flow. Even when the tunnel goes up, the silent stall can still occur due to MTU issues.

GRE MTU Calculator for Tunnel MSS Planning

Related posts

Leave a Comment