Task #1825

RibMgmt: advertise Routes via routing protocol

Added by Junxiao Shi about 7 years ago. Updated about 7 years ago.

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


Estimated time:
9.00 h


Design a mechanism for RIB Daemon to inform a routing protocol about operator/application's intent to advertise or withdraw a prefix.


  1. The operator execute a rib/advertise command: NLSR should advertise that this node serves ndn:/example.
    note: This command can be executed regardless of whether a producer of ndn:/example exists on local node.
  2. RIB Daemon accepts this command, and records that ndn:/example prefix should be advertised via NLSR.
  3. RIB Daemon informs NLSR to advertise ndn:/example prefix.

This Task should design how step 3 works.

Related issues

Related to NFD - Task #1824: RibMgmt: advertise and withdraw commandsAbandonedJunxiao Shi


Updated by Junxiao Shi about 7 years ago

  • Related to Task #1824: RibMgmt: advertise and withdraw commands added

Updated by Junxiao Shi about 7 years ago

How does nrd know which process is the specified routing protocol and how does it pass this information to that routing protocol?

I'm proposing this design:

  1. In RIB Dataset, RibEntry can contain zero or more AdvertisedTo element, each indicates a routing protocol's Origin that the prefix is advertised to.
  2. When a routing protocol starts (or restarts after a crash), it requests RIB Dataset, and advertise those prefixes whose AdvertisedTo element has the routing protocol's Origin.
  3. RIB Daemon publishes a Notification Stream for advertise and withdraw events.
  4. A routing protocol subscribes to this Notification Stream.
    For each event that has an Origin equal to the routing protocol's Origin, the routing protocol advertise or withdraw the prefix.


  • If routing daemon restarts, it has a complete picture of what prefixes it should be advertising.
  • RIB Daemon doesn't need to keep track of routing daemons.


  • There's no direct feedback on whether the action succeeds.
    However, this drawback is minor, because even if the advertise command arrives at the routing daemon, we still cannot claim the action is successful until route propagation succeeds.

Updated by Junxiao Shi about 7 years ago

  • Description updated (diff)
  • Status changed from New to Abandoned

According to email discussion, it's unnecessary to involve RIB Daemon for advertising and withdrawing prefixes in a routing protocol.

The routing daemon(s) should define the commands, and tools should interact with routing daemon directly.

Also available in: Atom PDF