rib: Refactor initialization of NRD instance

This commit also makes Face used inside NRD be adaptive to nfd.conf.
More specifically, it will use the same unix socket path as specified in
face_system.unix section.  If this section is not present, it will use
the same tcp port as specified in face_system.tcp section.  If tcp
section is also absent, nrd will abort execution.

Change-Id: I48f75ddf972f259055cd61824e3c228ca1d6a639
Refs: #2496
4 files changed
tree: aa74f9a45af6ca5ef0460b824376c43d02bfb9d1
  1. .jenkins.d/
  2. .waf-tools/
  3. contrib/
  4. core/
  5. daemon/
  6. docs/
  7. rib/
  8. tests/
  9. tools/
  10. .gitignore
  11. .gitmodules
  12. .jenkins
  13. .travis.yml
  14. AUTHORS.md
  15. common.hpp
  16. COPYING.md
  17. INSTALL.md
  18. nfd.conf.sample.in
  19. README-dev.md
  20. README.md
  21. unit-tests.conf.sample
  22. version.hpp.in
  23. waf
  24. wscript
README.md

NFD - Named Data Networking Forwarding Daemon

For complete documentation, including step-by-step installation instructions and tutorials, please visit the NFD homepage.

Overview

NFD is a network forwarder that implements and evolves together with the Named Data Networking (NDN) protocol. After the initial release, NFD will become a core component of the NDN Platform and will follow the same release cycle.

NFD is an open and free software package licensed under GPL 3.0 license and is the centerpiece of our committement to making NDN's core technology open and free to all Internet users and developers. For more information about the licensing details and limitation, refer to COPYING.md.

NFD is developed by a community effort. Although the first release was mostly done by the members of NSF-sponsored NDN project team, it already contains significant contributions from people outside the project team (for more details, refer to AUTHORS.md). We strongly encourage participation from all interested parties, since broader community support is key for NDN to succeed as a new Internet architecture. Bug reports and feedback are highly appreciated and can be made through Redmine site and the ndn-interest mailing list.

The main design goal of NFD is to support diverse experimentation of NDN technology. The design emphasizes modularity and extensibility to allow easy experiments with new protocol features, algorithms, new applications. We have not fully optimized the code for performance. The intention is that performance optimizations are one type of experiments that developers can conduct by trying out different data structures and different algorithms; over time, better implementations may emerge within the same design framework.

NFD will keep evolving in three aspects: improvement of the modularity framework, keeping up with the NDN protocol spec, and addition of other new features. We hope to keep the modular framework stable and lean, allowing researchers to implement and experiment with various features, some of which may eventually work into the protocol spec.