Skip to content
4 min read OSPF

OSPF MTU Mismatch: Symptoms and Fixes

OSPF stuck in ExStart or Exchange is almost always an MTU mismatch. Here is what the debug looks like, why it happens during DBD exchange, and how to fix it.

OSPF MTU Mismatch: Symptoms and Fixes

Why MTU Matters for OSPF

During OSPF adjacency formation, routers exchange Database Description (DBD) packets.

Problem:
If Router A has MTU 1500 and Router B has MTU 1400:

Symptoms of MTU Mismatch

Stuck in ExStart or Exchange State

R1# show ip ospf neighbor
Neighbor ID     Pri   State           Dead Time   Address         Interface
2.2.2.2         1     EXSTART/DR      00:00:35    10.1.1.2        Gi0/0

or

Neighbor ID     Pri   State           Dead Time   Address         Interface
2.2.2.2         1     EXCHANGE/DR     00:00:38    10.1.1.2        Gi0/0

Key indicator: State never reaches FULL

Debug Output Shows Retransmissions

R1# debug ip ospf adj
*Mar 17 12:34:56: OSPF-1 ADJ Gi0/0: Send DBD to 10.1.1.2 seq 0x123
*Mar 17 12:34:57: OSPF-1 ADJ Gi0/0: Retransmitting DBD to 10.1.1.2
*Mar 17 12:34:58: OSPF-1 ADJ Gi0/0: Retransmitting DBD to 10.1.1.2

Continuous retransmissions = DBD packets not getting through

Detecting MTU Mismatch

Check Interface MTU

R1# show interface gi0/0 | include MTU
  MTU 1500 bytes, BW 1000000 Kbit/sec

R2# show interface gi0/0 | include MTU
  MTU 1400 bytes, BW 1000000 Kbit/sec  ← MISMATCH!

Check OSPF MTU

OSPF also has a separate MTU value (defaults to interface MTU):

R1# show ip ospf interface gi0/0 | include MTU
  MTU is 1500 bytes

Test with Ping

Ping with DF (Don't Fragment) bit set:

R1# ping 10.1.1.2 size 1500 df-bit
.....
Success rate is 0 percent (0/5)

Failure with large packets = MTU issue

Try smaller size:

R1# ping 10.1.1.2 size 1400 df-bit
!!!!!
Success rate is 100 percent (5/5)

Fixes for MTU Mismatch

Solution 1: Match the MTU Values (Preferred)

Set both routers to the same MTU:

R2 (increase MTU to match R1):

R2(config)# interface gi0/0
R2(config-if)# ip mtu 1500

Verify:

R2# show interface gi0/0 | include MTU
  MTU 1500 bytes

Clear OSPF process to re-establish adjacency:

R2# clear ip ospf process
Reset ALL OSPF processes? [no]: yes

Check neighbor:

R2# show ip ospf neighbor
Neighbor ID     Pri   State           Dead Time   Address         Interface
1.1.1.1         1     FULL/DR         00:00:38    10.1.1.1        Gi0/0

FULL state = Fixed!

Solution 2: Use ip ospf mtu-ignore (Workaround)

Tell OSPF to ignore MTU mismatches:

R1(config)# interface gi0/0
R1(config-if)# ip ospf mtu-ignore

R2(config)# interface gi0/0
R2(config-if)# ip ospf mtu-ignore

What this does:

⚠️ Warning:
This is a workaround, not a fix. Packets larger than the smaller MTU will still be dropped or fragmented (bad for performance).

Use only when:

Solution 3: Lower OSPF MTU Without Changing Interface MTU

Change OSPF MTU independently:

R1(config)# interface gi0/0
R1(config-if)# ip mtu 1400

vs

R1(config)# interface gi0/0
R1(config-if)# mtu 1400

Difference:

Use ip mtu if you only want to fix OSPF without impacting other traffic.

Common MTU Mismatch Scenarios

Scenario 1: GRE Tunnel

GRE adds 24 bytes of overhead. If physical interface MTU is 1500:

Solution:

interface tunnel 0
 ip mtu 1476
 ip ospf mtu-ignore  ! If other side isn't adjusted

Scenario 2: Metro Ethernet with Provider Tags

Provider adds VLAN tags (4-8 bytes). Your MTU might be reduced.

Check with provider what the actual MTU is.

Scenario 3: Jumbo Frames Misconfigured

One router configured for jumbo frames (9000), the other isn't (1500).

Fix: Disable jumbo frames or enable on both sides.

Verification After Fix

1. Check Neighbor State

R1# show ip ospf neighbor
Neighbor ID     Pri   State           Dead Time   Address         Interface
2.2.2.2         1     FULL/DR         00:00:38    10.1.1.2        Gi0/0

State: FULL

2. Check Routes

R1# show ip route ospf
O    192.168.2.0/24 [110/2] via 10.1.1.2, 00:05:23, GigabitEthernet0/0

Routes learning

3. Test Large Packet Transmission

R1# ping 10.1.1.2 size 1400 df-bit
!!!!!
Success rate is 100 percent (5/5)

Best Practices

1. Standardize MTU Across Network

Enterprise standard: 1500 bytes (Ethernet default)

Document exceptions (tunnels, WAN links, etc.)

2. Avoid mtu-ignore in Production

Fix the root cause (match MTUs) instead of masking the problem.

3. Test MTU During Deployment

Before enabling OSPF:

R1# ping [neighbor-ip] size 1500 df-bit

If it fails, investigate MTU before troubleshooting OSPF.

4. Monitor for MTU Issues

Set up alerts when:

Summary

Now you know:

MTU mismatch symptoms — Stuck in ExStart/Exchange
How to detect — Check interface MTU, test with ping
Solution 1 — Match MTU values (preferred)
Solution 2 — Use ip ospf mtu-ignore (workaround)
Solution 3 — Adjust ip mtu independently
Best practices — Standardize MTU, avoid mtu-ignore

Next Step:
MTU is one common issue. Another is duplicate Router IDs. Read Fixing Duplicate OSPF Router ID Issues next.

Screenshot Suggestions:

  1. show ip ospf neighbor stuck in EXSTART
  2. debug ip ospf adj showing DBD retransmissions
  3. show interface comparing MTU values
  4. Before/after: neighbor reaching FULL after MTU fix

Internal Links: