Subject: Data Description Exchange

From: Shreayas Becker <[email-masked]>
Date: Thu, 29 Aug 2002 13:33:48 -0400

Hi,

I have few questions regarding DD exchange to understand what we can
implement/others implemented while trying form an adjacency.

Question:

Before changing into FULL state, I would like to know whether we need to
send LSA header information in DD packets.

If so, how we are going to calculate checksum for this LSA header (i.e.
just omit LS Age Information) and

What length one has to specify while mentioning its packet length (i.e.
even though, we are just going to send LSA Header, do we need to say Full
LSA packet size!)

Also, during exStart->exChange->Full transition, is it possible to form an
adjacency without sending LSA Header info in its DD packets.

Any Suggestions or comments are welcome!

Thanks and looking forward to all your replies!

- SB

---

From: Acee Lindem <[email-masked]>
Date: Thu, 29 Aug 2002 14:09:53 -0400

> Hi,

Hi Shreayas,

> send LSA header information in DD packets.

Yes. You need to synchronize databases to reach FULL state.

> just omit LS Age Information) and

No. The LSA checksum unmodified (i.e., for the entire LSA) is sent
in the LSA header in the DD packets.

> even though, we are just going to send LSA Header, do we need to say Full

You always specify the real OSPF packet length in the OSPF packet header.
In other words, you specify only take into account the 20 byte LSA header
since that is what you actually put in the packet.

> adjacency without sending LSA Header info in its DD packets.

No. You'd always have at least your router LSA.

> Any Suggestions or comments are welcome!

You might want to re-read the first 4 sections of RFC 2328 and then
consult the details as necessary.

Good Luck,
Acee

--
Acee

---

From: Shreyas <[email-masked]>
Date: Fri, 30 Aug 2002 06:38:30 -0700

Thanks for your reply Acee.

But, I have one more question regarding the packet
exchange during exStart/exChange period.

During that transition phase, I am trying to send DD
packets like as I mentioned in this mail. But when I
sniff the network or looking at my OSPF router, I can
see it did not understand the packet properly and
network analyser only shows packet information upto
Data Description and simply ignores LSA Header. (I
know it may be due to checksum in LSA Header).

Any Idea/thoughts on this is really appreciated! In
other words, how I can include LSA header information
in this packet!

Thanks!
- SB

//
// ----- Ethernet II -----
//

define ospf [ 00 20 9c 23 73 e8
        08 00 20 ac 9d d5
        08 00

//
// ----- Internet Protocol -----
// ----- 20 bytes -----
//

45
00
00 34                     // Total Length
5a a0                     // Identification
00                        // Flags
00                        // Frame Offset
40                        // TTL
59                        // Protocol (OSPF)
00 00                     // Checksum
0a 65 01 43               // Source
0a 65 01 41               // Destination

//
// ----- OSPF Header -----
//

02                        // OSPF Version
02                        // OSPF Packet Type (Hello
Pkt)
00 20                     // Packet Length
0a 65 01 43                       // Source OSPF Router ID
0a 65 01 40                       // Area ID
00 00                     // Packet Checksum
00 00                     // Auth Type (None)
00 00 00 00               // Auth Date (None)
00 00 00 00

//
// ----- OSPF Data Description Info -----
//

05 dc                     // Interface MTU
02                        // OSPF Version
00                        // Master
00 00 00 02                       // DD Sequence

// ------- LSA Header Information ------
//

00 01                   // LS Age
02                      // Options
01                      // Router LSA
0a 65 01 43             // Link State ID
0a 65 01 43             // Adv. Router
0a 00 00 00             // LS Sequence
00 00                   // Checksum
00 14                   // Length
];

xsum ospf[24] 14 20;
xsum ospf[46] 34 32;
xsum ospf[82] 68 20;

send ospf;

> > Thanks and looking forward to all your replies!

__________________________________________________
Do You Yahoo!?
Yahoo! Finance - Get real-time stock quotes
http://finance.yahoo.com

---

From: Acee Lindem <[email-masked]>
Date: Fri, 30 Aug 2002 10:17:18 -0400

> know it may be due to checksum in LSA Header).

Shreyas,

Actually, the receiver of a DD packet should only use
the LSA header checksum to determine whether the received
LSA is more recent than the database copy.

Right off hand, it looks like you have a problem
with OSPF packet length (0x20). Having said that, I
don't think this is the proper forum to try and debug
your manually built packets. If you really want to do
this, a better tack would be to turn on debug on the
router you're trying to communicate with and address
any packet problems one at a time.

>>>I have few questions regarding DD exchange to
>>>
>>understand what we can
>>
>>>implement/others implemented while trying form an
>>>
>>adjacency.
>>
>>>Question:
>>>
>>>Before changing into FULL state, I would like to
>>>
>>know whether we need to
>>
>>>If so, how we are going to calculate checksum for
>>>
>>this LSA header (i.e.
>>
>>>What length one has to specify while mentioning
>>>
>>its packet length (i.e.
>>
>>>even though, we are just going to send LSA Header,
>>>
>>do we need to say Full
>>
>>>LSA packet size!)
>>>
>>
>>>Also, during exStart->exChange->Full transition,
>>>
>>is it possible to form an
>>
>>>adjacency without sending LSA Header info in its
>>>
>>DD packets.
>>

--
Acee

---

From: Keng <[email-masked]>
Date: Fri, 30 Aug 2002 10:34:25 -0400

>  No. You'd always have at least your router LSA.

Acee,

with regards to your comment above,
if a master router has more DD packets to send than the slave and the
slave has already sent its entire db, doesn't the slave just ack with DD
packets that have no lsa headers (I=0, M=0)?

thanks,
Keng.

---

From: Acee Lindem <[email-masked]>
Date: Fri, 30 Aug 2002 10:53:56 -0400

> packets that have no lsa headers (I=0, M=0)?

Hi Keng,

You are correct. I was speaking in terms of the database exchange process
and the first DD packet sent in the exchange.

--
Acee