Task #1859
closed
RIB: Need to periodically sync'up valid FaceIDs with NFD
Added by Alex Afanasyev over 10 years ago.
Updated over 10 years ago.
Description
As it currently stands, RIB will not always have a correct knowledge about valid FaceIDs, which basically prevents registration commands to faces that existed before RIB started and faces for which notifications were missed (e.g., due to CS overflow). Also, there are cases (and I have observed) that RIB entry stays even though face is no longer exists in NFD (again, due to CS overflow).
I would suggest dropping check for valid FaceID all together. Instead of define a periodic procedure to clean up invalid FaceIDs (request all of them from NFD and then remove invalid ones from RIB).
- Has duplicate Task #1744: rib-manager: Periodically check consistency of alive faces added
- Description updated (diff)
- Start date deleted (
08/14/2014)
- Estimated time set to 4.00 h
I agree with this proposal.
The deletion of those Routes should not trigger FIB updates, because corresponding NextHop records are already automatically deleted from FIB by NFD.
FWIW, I agree with this too. The whole idea of maintaining a "face table" in nrd, that needs to be kept synchronized with nfd at all times, is inherently racy and thus flawed IMHO. This also makes task #1832 unnecessary right?
By the way, I probably missed the initial design discussions about nrd, but why is it a separate process in the first place?
Davide Pesavento wrote:
By the way, I probably missed the initial design discussions about nrd, but why is it a separate process in the first place?
The main objective for NRD is to be completely independent thread-wise from the forwarding. That is, all heavy calculation of FIB based on RIB needs to be done separately from NFD forwarding. Other than that objective, I don't remember other reason for it to be separate. It could have been part of NFD, but we just decided that it will be simpler to implement all NRD specific logic in a completely separate process.
- Category changed from Faces to RIB
- Status changed from New to Code review
- Assignee set to Vince Lehman
- Target version changed from v0.3 to v0.2
Alex Afanasyev wrote:
The main objective for NRD is to be completely independent thread-wise from the forwarding. That is, all heavy calculation of FIB based on RIB needs to be done separately from NFD forwarding.
Sure, a separate thread makes a lot of sense. But why implementing it as a separate process/binary then?
The discussion about whether RIB Daemon should be a separate process is out of the scope of this Task.
Please discuss such question in nfd-dev
mailing list, thanks.
- Status changed from Code review to Closed
- % Done changed from 0 to 100
Also available in: Atom
PDF