Task #2533
closed
Face: drop direct FIB management
Added by Alex Afanasyev almost 10 years ago.
Updated over 9 years ago.
Description
ndn::Face
used to support prefix registration using FibMgmt protocol instead of the normal RibMgmt protocol.
This feature was introduced in v0.1 when NFD RIB daemon (nrd) is not yet implemented, so that applications can work without it.
This feature is no longer needed because RibMgmt protocol has become an integral part of NFD (as a thread of nfd process).
In this Task, the following will be deleted:
- 'protocol' option in
client.conf
Face::setDirectFibManagement
function
ndn::nfd::Controller
type can send commands of FibMgmt protocol.
This API is used by tools such as nfdc
, and is unaffected by this Task.
Notice about this backwards-incompatible change shall be sent to nfd-dev and ndn-lib mailing lists 5 days prior to code merge.
- Subject changed from Proposal to remove support for FIB management protocol in ndn::Face to Face: drop direct FIB management
- Description updated (diff)
- Category set to Base
- Target version set to v0.4
- Estimated time set to 6.00 h
Updated Description to include some history.
Original Description was:
Right now, Face class supports use of FIB management protocol. I'm not aware of a single use of this feature and it is no longer needed (RIB manager is now integral part of nfd).
Therefore, I'm proposing to simplify ndn::Face implementation and completely drop "protocol" configuration (at least for now).
- Description updated (diff)
This issue is simply to remove the 2 points?
'protocol' option in client.conf
This one looks simple, but have some questions:
* If we will not configure it in the file, what will be the version? nrd-0.1?
* Shouldn't we allow the possibility of changing the protocol version to the client?
Face::setDirectFibManagement function
This looks like a simple job because the function is not used in any place inside the ndn-cxx
Answer to note-3:
After this change, prefix registration would always use RibMgmt with no possibility of changing protocol.
In addition to deleting the option and the function, all dead code regarding to prefix registration using FibMgmt must be deleted, and templates used to provide multi-protocol registration need to be converted to non-templates that only work with the sole prefix registration protocol.
- Status changed from New to In Progress
- Assignee set to Joao Pereira
So I am assuming we are talking about.
What templates are we talking about, Controller::start
? This one have a template because it is used for registration and unregistration.
Remove functions:
Face::isSupportedNfdProtocol
Face::isSupportedNrdProtocol
Face::setDirectFibManagement
Remove comments on face.hpp that include Rib option, like:
@brief Deregister prefix from RIB (or FIB)
should be converted to
@brief Deregister prefix from RIB
There are more changes in detail/face-impl.hpp
. Specifically, but not limited to FaceImpl::registerPrefix
I just pushed to gerrit what I have done till now. Looking at the code in face-impl I am not sure were else we are using the FIB instead of RIB.
Take a look at the following link and see if I missed something.
http://gerrit.named-data.net/2086
- Description updated (diff)
- Status changed from In Progress to Closed
- % Done changed from 0 to 100
ndn-cxx Application Developer Guide should be updated to reflect this change.
I'm dropping this requirement because this part is never documented. Documentation will be a separate issue.
Also available in: Atom
PDF