Subject: DD packet exchange

From: Joseph Placid <[email-masked]>
Date: Fri, 29 Nov 2002 12:55:25 +0800

Hi,
  I noticed that when two OSPF routers are forming an adjacency, both of them send their first DD packets claiming to be Master (ie, with master bit set). According to the OSPF Protocol, this will be resolved based on the router priority. But both of them already know each other's router priority from the hello packets they have received earlier. So why should BOTH of them send DD packets claiming to be Master?

The setup I used is three computers running zebra in the same area connected to each other via ethernet.

- Joseph Placid

---

From: Acee Lindem <[email-masked]>
Date: Fri, 29 Nov 2002 00:59:26 -0500

>   I noticed that when two OSPF routers are forming an adjacency, both of them send their first DD packets claiming to be Master (ie, with master bit set). According to the OSPF Protocol, this will…

Hi Joseph,

This is correct as per section 10 in RFC 2328. In ExStart state,
the DD packets serve as a sync point for the database exchange
process. This state is necessary to assure that both neighbors
are starting the exchange from scratch and agree upon both their
respective roles and the initial sequence number. Possibly this
could have been done solely with the Initialize (I) bit in the
OSPF database exchange packet. However, it seems more natural
for the master/slave negotiation to be done in ExStart state (given
that you need the initial DD packets anyway).

One correction - it is the OSPF router ID (not the router priority)
that is used to determine who is master (the neighbor with the
numerically higher router ID will be the master in the
database exchange).

--
Acee