Reposting earlier has formatting issues.

Can some one explain reason for below check in OSPF function ospf_make_db_desc 
()

ospf_make_db_desc () 
{ 
         ......  
         if (IS_SET_DD_I (nbr->dd_flags) || CHECK_FLAG (nbr->options, 
OSPF_OPTION_O))
         {
            ...........
            SET_FLAG (options, OSPF_OPTION_O);
          }
}

As per RFC (section 10.8) OSPF process should maintain the same options until 
DD process is completed (Other wise neighbour restarts DD process again). 
Above check makes Quagga (acting as master in DD process) announcing opaque 
capability 
1. Only for Initial (I bit is set) DD packet But not for next packet onwards if 
neighbour is NOT opaque capable This is makes neighbour ship struck in Exchange 
state forever 
  or
2. If neighbour has opaque capability

Topology :

 Quagga ------------------------ R1
(Opaque capable)         (no Opaque capable)


                                          
_______________________________________________
Quagga-dev mailing list
[email protected]
https://lists.quagga.net/mailman/listinfo/quagga-dev

Reply via email to