What an “Open-Only” BGP Capture Really Means
You capture a BGP session and see the OPEN — then nothing. Is the peer down, or did you just miss the rest? Here's how to read it without jumping to conclusions.
Read articleAn OSPF neighbor that won't reach Full is usually one of a few problems — and the capture shows which. Here's how to read the adjacency straight from the packets.
Key takeaways
Two OSPF routers don't become neighbors in one step. They move through a sequence, and every stage leaves packets behind: periodic Hellos to find each other and agree on parameters, then a Database Description (DBD) exchange to compare link-state databases, then Link State Request, Update and Acknowledgment packets to sync the missing pieces.
That's the key insight for troubleshooting from a capture: you don't have to guess the neighbor state — you can watch where the sequence stops. An adjacency stuck before DBD is a different problem from one that exchanges DBDs but never finishes, and the packets tell you which.
The single most common OSPF problem is a one-way Hello. Router A lists Router B in its Hello's neighbor field, but B never lists A back (or you only ever see Hellos from one side). Until each router sees its own ID in the other's Hello, the adjacency can't progress past the two-way check.
So the first question is simply: do you see Hellos from both routers, and does each one name the other? If not, you have a one-way visibility problem — a filtered direction, a unidirectional link, or a capture taken at a point that only sees one side.
Even with two-way Hellos, an adjacency won't form if the routers disagree on the parameters carried in those Hellos. These mismatches are all right there in the packet:
If Hellos are healthy but the adjacency loops in the DBD exchange — DBDs going back and forth without ever moving on to full sync — the classic culprit is an MTU mismatch. Each DBD carries the interface MTU, and if the two routers disagree, one keeps rejecting the other's database description.
This is a great example of reading state from evidence: you don't need device access to suspect it. You can see the DBDs, see the MTU values they carry, and see that the exchange never progresses — enough to point the on-site engineer straight at the interface MTU.
The discipline that makes packet-based OSPF diagnosis trustworthy is honesty about what the capture proves. A capture shows observed behavior — the Hellos, DBDs and LSAs that were on the wire at that point, at that time. It does not show the device's running configuration, and a missing packet is a limit of the capture, not evidence that something didn't happen.
So the useful output isn't "router X is misconfigured" — it's "the capture shows a one-way Hello from X to Y with no reciprocal neighbor, medium confidence; check Y's interface and auth against X, frames 1042–1190." That's a finding an engineer can act on and defend.
OSPF neighbors usually stick for a few reasons that are all visible in a capture: one-way Hellos (the two-way check never passes), mismatched Hello/dead timers, subnet-mask or MTU disagreement seen during the DBD exchange, or an authentication mismatch. Which stage the packet sequence stops at tells you which problem you're looking at.
It means one router's Hello names the other as a neighbor but not vice versa (or you only see Hellos from one side). The adjacency can't progress past the two-way state. In a capture it's a strong lead — but it can also just mean the capture only saw one direction of traffic, so confirm on the device.
Yes. Authentication type and presence are visible in the Hello even when the secret isn't readable, so a one-sided or mismatched auth setup is observable. An MTU mismatch shows up as a DBD exchange that loops without completing, because each DBD carries the interface MTU the routers disagree on.