Subject: Re: DB Synchronization

From: Acee Lindem <[email-masked]>
Date: Tue, 2 Sep 2003 14:31:15 -0400

If the everything matches between restarts (type, LS ID, advertising
router,
initial sequence number,  and  checksum) , I  don't see  any solution in
the
base protocol specification.

However, a router performing graceful restart will initially accept it's
pre-restart
LSAs. Hence,  when graceful restart terminates the restarting router will
originate a new LSA and purge the stale one.

Rikki Nguyen wrote:

> You seem to be correct.  I missed the part about the netmasks.
> The zero and negative-zero (0xff) has the same affect on
> the checksum, hence they end up being the same.  I don't see
> any other way of correcting this besides forcibly sending
> LS-Requests for self-originated LSA's.
>
> Parag Deshpande wrote:
>
>> I ran a small program with the following values -
>>
>> In this case the checksums are always the same! because
>> m1 & m2 are multiple of 8.
>> m1= 16 m2 = 24. ( also 8, 32)
>>
>> CK_SUM({00, 00, 00, FF}, 4) = CK_SUM( {00,00,FF,FF}, 4)
>> = CK_SUM( {00,FF,FF,FF},  4) = CK_SUM( {FF,FF,FF,FF}, 4)
>> = 0xFFFF
>>
>> (It does not matter what N1 is)
>>
>> Or I am goofing up somewhere :-)
>>
>> Parag
>>
>> ----- Original Message -----
>> From: Rikki Nguyen <[email-masked]>
>> To: <[email-masked]>
>> Sent: Friday, August 29, 2003 12:53 PM
>> Subject: Re: DB Synchronization
>>
>>
>>
>>> Parag Deshpande wrote:
>>>
>>>> Hi,
>>>>
>>>> I had a doubt ->
>>>>
>>>> 2 routers A and B have an ospf adjacency.
>>>>
>>>> Router A sends an ASExt lsa for network N1/m1 with LSID = N1.
>>>> Then Router A goes down & comes up again & reoriginates
>>>> ASExt lsa for network N1/m2 with LSID = N1 and then
>>>> gets adjacent with Router B.
>>>>
>>>> **where m1 != m2 & they are multiple of 8. (/8, /16..)
>>>> also assuming that all other parameters are same.
>>>>
>>>> However in this case the DB Exchange will fail to
>>>> synchronize these LSAs bcoz they appear
>>>> to be similar- LSID, SeqNum, Checksums being equal**
>>>> and thus will have to wait for the LSA to get refreshed.
>>>
>>>
>>> The checksum is computed over the entire LSA body,
>>> this includes the netmask.  Since the netmasks are
>>> different, it would be difficult for the checksum
>>> to be the same.
>>>
>>>
>>>> I was wondering whether this can be resolved faster.
>>>>
>>>> Thanks
>>>> Parag
>>>>
>>>
>>
>