OSPF · · 4 min read

OSPF MTU Mismatch: Symptoms and Fixes

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:

Read next

© 2025 Ping Labz. All rights reserved.