Task #1486
closedMerge NRD repository into NFD repository
100%
Description
Benefits of Merging¶
- reduce confusion on NFD vs NRD relationship
- reduce code duplication between NFD and NRD
Details¶
- New repository folders:
core/
: functionality shared between NFD and NRD (moved fromdaemon/core/
)daemon/
: forwarding daemonrib/
: RIB daemontests/
: unit testingtools/
: tools
- Full name of NRD is changed to NFD RIB daemon
nfd
andnrd
are running separately as two processes.- A script should start both
nfd
andnrd
processes. If one process dies, it kills the other. - Only one configuration file,
nfd.conf
, is used. nfdc
command line tool can control bothnfd
andnrd
.
Updated by Syed Amin over 10 years ago
I am stopping all tasks of nrd related to this change (for e.g. ref #1412) and will resume them once this task is completed.
Updated by Alex Afanasyev over 10 years ago
I have a thought that renaming daemon/
to nfd/
is really unnecessary. I would actually keep daemon/ and rename nrd/
to something more meaningful---I have already at least 3 times explained that NRD is not doing any routing, but just manages RIB.
Updated by Alex Afanasyev over 10 years ago
As for the name for NRD, I would suggest nfd-rib
or ndn-rib-daemon
. Even without renaming, it shouldn't be called NDN Routing Daemon, it should be called everywhere NDN RIB Damon or NDN RIB Manager.
Updated by Syed Amin over 10 years ago
To me NRD is a daemon for prefix/name registration protocol (NRD protocol currently), so whatever name we decide should reflect this. One suggestion is to call the protocol NRP(Name Registration Protocol) and it's daemon as nrpd (like we have http and httpd)
Updated by Alex Afanasyev over 10 years ago
Hmm.. Protocol is not essential property of NRD, it just a means to accomplish the task. The reason that we need to have NRD in the first place is to aggregate routing information (name/face registrations) from different routing protocols (command-line, NLSR, others) and calculate FIB for NFD, taking into account various flags. So, nrdp doesn't really emphasize this specific use (but unfortunately, I don't have a good suggesting for the name either).
Updated by Beichuan Zhang over 10 years ago
For name, I like "NFD RIB Daemon".
There're a couple of other things to add in this merge:
The Prefix Registration Protocol should be moved to NFD's wiki page.
nfdc and nrdc should be combined.
Updated by Beichuan Zhang over 10 years ago
For the repo folder names, we can simply call it "rib", and keep daemon as it is.
Updated by Alex Afanasyev over 10 years ago
What about folder name for the actual NFD files? It used to be called "daemon", the proposed Change on gerrit and in this task renamed it to "nfd". Is it correct?
Updated by Beichuan Zhang over 10 years ago
my suggestion was to (1) create "rib" folder for the nrd code, and (2) keep the "daemon" folder for the nfd code.
Updated by Junxiao Shi over 10 years ago
- Description updated (diff)
This task should focus on code repository combination only, without changing any functionality.
- It makes sense to make Prefix Registration protocol part of NFD Management protocol, but I'd make this change in a separate Task #1487.
- It makes sense to combine
nfdc
andnrdc
, but it's also not part of this task, becausenrdc
doesn't exist yet. To achieve the same effect, any feature previously planned fornrdc
should be structured as an addition tonfdc
. - It's necessary to start NRD from NFD or its startup script. This is a separate Task #1488.
Updated by Beichuan Zhang over 10 years ago
Junxiao, can you also create a separate task for nfdc? I guess what we need is to add Prefix Registration Protocol support to it.
Updated by Junxiao Shi over 10 years ago
- Blocks Task #1488: NFD startup script added
Updated by Alex Afanasyev over 10 years ago
The script is NOT needed. I have the same objections as before. The only way to guarantee a daemon is running all the time is to use system-specific mechanisms (launchd on mac, upstart or systemd on Linux). Any script is additional level of scaffolding.
rib daemon will simply stop whenever nfd is not running or failed. The system will keep restarting it until nfd is finally running.
PS
What should be command-line name of NFD RIB Daemon? nfd-ribd? or just nfd-rib? or nfd-rib-manager?
Updated by Junxiao Shi over 10 years ago
Updated by Alex Afanasyev over 10 years ago
- Status changed from New to In Progress
Updated by Alex Afanasyev over 10 years ago
I need http://gerrit.named-data.net/#/c/666/ approved to continue merging
Updated by Alex Afanasyev over 10 years ago
- % Done changed from 40 to 90
Will merge the config file tomorrow and this Task will be finished.
Updated by Alex Afanasyev over 10 years ago
- Status changed from In Progress to Code review
- % Done changed from 90 to 100
Updated by Alex Afanasyev over 10 years ago
- Status changed from Code review to Closed