Skip to content
  • Ondřej Zajíček's avatar
    7d767c5a
    KRT: Improve syncer code to avoid using temporary data in rtable · 7d767c5a
    Ondřej Zajíček authored
    The old code stored route verdicts and temporary routes directly in
    rtable. The new code do not store received routes (it immediately
    compares them with exported routes and resolves conflicts) and uses
    internal bitmap to keep track of which routes were received and which
    needs to be reinstalled.
    
    By not putting 'invalid' temporary routes to rtable, we keep rtable
    in consistent state, therefore scan no longer needs to be atomic
    operation and could be splitted to multiple events.
    7d767c5a
    KRT: Improve syncer code to avoid using temporary data in rtable
    Ondřej Zajíček authored
    The old code stored route verdicts and temporary routes directly in
    rtable. The new code do not store received routes (it immediately
    compares them with exported routes and resolves conflicts) and uses
    internal bitmap to keep track of which routes were received and which
    needs to be reinstalled.
    
    By not putting 'invalid' temporary routes to rtable, we keep rtable
    in consistent state, therefore scan no longer needs to be atomic
    operation and could be splitted to multiple events.
Loading