Troubleshooting · 4 min read

OSPF stuck in EXSTART/EXCHANGE? It is almost always MTU

Two routers, matching areas, correct timers, interfaces up — and the OSPF neighbor still refuses to reach FULL, cycling between EXSTART and EXCHANGE. Before you tear the config apart, check the MTU. This single mismatch accounts for the large majority of stuck OSPF adjacencies.

Why MTU breaks the adjacency

OSPF neighbors climb through a sequence of states: Down, Init, 2-Way, ExStart, Exchange, Loading, Full. In ExStart the routers elect a master and agree on a DBD sequence number. In Exchange they send Database Description packets describing their link-state databases. Those DBD packets can be large — and OSPF checks that both interfaces agree on IP MTU. If one side is 1500 and the other is 9000 (or a sub-interface adds a tag), the oversized packets are dropped, the exchange never completes, and the neighbor falls back to ExStart and tries again. Forever.

How to confirm it

R1# show ip ospf neighbor
Neighbor ID     State            Interface
10.0.0.2        EXSTART/DR        GigabitEthernet0/0

R1# show interface Gig0/0 | include MTU
  MTU 1500 bytes ...
R2# show interface Gig0/0 | include MTU
  MTU 9000 bytes ...

A state stuck at ExStart or Exchange is the tell. Compare the IP MTU on both ends — including any tunnel or 802.1Q sub-interface overhead. Area, hello/dead timer, and authentication mismatches all fail earlier (the neighbor never leaves Init or 2-Way), so ExStart/Exchange specifically points the finger at MTU.

The fix

If a tunnel is involved, the real MTU is smaller than the physical interface suggests — work out the effective value before you set it.

MTU & MSS calculator
Work out the effective MTU behind any encapsulation.
Open →
Practise this on today’s Daily Ops Drill — a free network task every day.
Open the app →
Free tools for this
More from the blog
GRE, ESP, and OSPF: Why they have no port numbersRead →MTU, MSS, and why your VPN tunnels drop large packetsRead →