Do not change random OSPF commands until the adjacency works. Read the current state, test one prerequisite at a time, and verify the repair from both routers.
1. Start with the neighbor table
R1# show ip ospf neighbor
Neighbor ID Pri State Dead Time Address Interface
2.2.2.2 1 FULL/DR 00:00:34 10.0.12.2 GigabitEthernet0/0FULL means the link-state databases have been synchronized for that adjacency. If the expected neighbor is absent or stuck in another state, use the state to narrow the next check.
2. Check prerequisites in a fixed order
- Interface state and addressing: verify both interfaces are up and in compatible IP subnets.
- Direct reachability: ping the neighbor interface address.
- OSPF activation: confirm the interface participates in the intended OSPF process.
- Passive status: confirm the transit interface is not suppressing hellos.
- Area and timers: compare area ID, hello interval, and dead interval on both ends.
- Router IDs: verify that each OSPF router ID is unique.
3. Use the stuck state as evidence
4. Verify from both sides
After the repair, confirm the neighbor reaches the expected state on each router. Then verify OSPF-learned routes and end-to-end reachability. A FULL adjacency alone does not prove that the correct prefixes are being advertised.
show ip ospf neighbor
show ip ospf interface brief
show ip protocols
show ip route ospf