• Ondřej Zajíček's avatar
    OSPF: Fix bogus LSA ID collisions between received and originated LSAs · 39a6b19d
    Ondřej Zajíček authored
    After restart, LSAs locally originated by the previous instance are
    received from neighbors. They are installed to LSA db and flushed. If
    export of a route triggers origination of a new external LSA before flush
    of the received one is complete, the check in ospf_originate_lsa() causes
    origination to fail (because en->nf is NULL for the old LSA and non-NULL
    for the new LSA). The patch fixes this by updating the en->nf for LSAs
    being flushed (as is already done for empty ones). Generally, en->nf
    field deserves some better description in the code.
    Thanks to Jigar Mehta for analyzing the problem.
topology.c 51.2 KB