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