Task #4731

RIB: deduplicate RibManager::FaceIdSet and Rib::FaceLookupTable

Added by Junxiao Shi over 1 year ago. Updated 12 days ago.

In Progress
Target version:
Start date:
Due date:
% Done:


Estimated time:
3.00 h


RibManager maintains a FaceIdSet to detect missed face destroyed events.
Rib maintains a FaceLookupTable to delete affected routes when a face is destroyed.
These two data structures contain partially duplicate information, and should be combined.
Furthermore, FaceMonitor does not rely on RibManager's command processing and signature validation functions, so that it could be moved down to Rib class.



Updated by Davide Pesavento over 1 year ago

  • translation missing: en.field_tag_list changed from code-cleanup to CodeCleanup

Updated by Junxiao Shi 8 months ago

  • Status changed from New to In Progress
  • Target version set to v0.7

Updated by Junxiao Shi 8 months ago

  • % Done changed from 0 to 40 is the first Change. FaceMonitor moves next.


Updated by Junxiao Shi 7 months ago

  • % Done changed from 40 to 50
I'm working on moving FaceMonitor. I plan to introduce a FaceSync type that works alongside Rib, instead of inserting the logic into Rib type itself; it is similar to FibUpdater type but probably less coupled. This keeps communications out of Rib type and reduces its complexity.


Updated by Junxiao Shi 7 months ago changes Rib::onFibUpdateSuccess Rib::onFibUpdateFailure Rib::findDescendants Rib::findDescendantsForNonInsertedName from public to private. This is in preparation of FaceSync refactoring.
I understand that findDescendants findDescendantsForNonInsertedName functions have problematic names and semantics, but I'd keep them unchanged for now.


Updated by Junxiao Shi 6 months ago

  • % Done changed from 50 to 60

Still working on this. It's as complicated as I expected.


Updated by Junxiao Shi 6 months ago

I'm seeing some problems in test cases related to mocked FIB responses. changes mocking method.


Updated by Davide Pesavento 3 months ago

  • Target version changed from v0.7 to v0.8

Updated by Junxiao Shi 12 days ago

  • Assignee deleted (Junxiao Shi)

I will no longer work on this issue because FaceSync would become unnecessary after #4529.

Also available in: Atom PDF