[ndnSIM] interest=/localhost/nfd/faces/events/%FE%05 ?

Alex Afanasyev aa at CS.UCLA.EDU
Tue Feb 23 22:31:00 PST 2016


Hi Carl,

In the beginning of simulation (time moment 0s), there are a few initial tasks that NFD performs internally.  One of them is setting up internal RIB manager.  RIB manager is separated from main forwarding and uses interest-data exchange to receive notifications that new face is created, face is destroyed, and few others.  The LocalControl refer to LocalControlHeader protocol http://redmine.named-data.net/projects/nfd/wiki/LocalControlHeader, which allows additional meta information to be communicated alongside interest and data packets.  You also may want to check http://named-data.net/wp-content/uploads/2015/10/ndn-0021-5-nfd-developer-guide.pdf for further explanation how RIB manager module works.

Regarding your question.  Most likely, you would want to populate RIB, not FIB:  FIB is calculated from RIB, taking into account inheritance and capture flags.  Though, if you like, you can still work directly with FIB and completely disable RIB manager module (http://ndnsim.net/2.1/doxygen/classns3_1_1ndn_1_1StackHelper.html#a1820acb048f802a6686dc92518a4a826).

Either way, you have two options.  One option is to use NFD management protocol and send register/unregister (for RIB management) and add-nexthop/remove-nexthop (for FIB management).  For the latter, you can use FibHelper, for the former, you will need a little bit of code similar to FibHelper (we are overdue in adding RibHelper).

Second option is a little bit hacky (it can be "faster", but I would recommend it) and will work only in the simulation: you can get direct access to Fib instance on the node and add entries directly:

auto fib = node->GetObject<ndn::L3Protocol>()->getForwarder()->getFib();
...

(few comments inline)

> On Feb 23, 2016, at 9:54 PM, Carl Zu <carlzu8 at gmail.com> wrote:
> 
> Hi Alex,
> 
> Thanks for your reply. These notification streams are not only for new faces. They are for strategy choice, and in particular for FIB population (add-nexthop). The important question is that what shall I do if I like to implement my own FIB population method ?
> 
> Minor questions (logs are for ndn-simple.cpp):
> 1. Why these notification streams start from node "-1" (I believe it should not be a node), and then they continue for real nodes. See here:
> 
> 0s -1 nfd.Forwarder:onDataUnsolicited(): [DEBUG] onDataUnsolicited face=1 data=/localhost/nfd/fib/add-nexthop/h%0C%......

-1 means that this event was scheduled outside context of the simulation node.  Most likely, it happened during scenario initialization.  I wouldn't worry about this.

> 2. Notification streams not only contain interests and data, but they contain "matching" as well (for add-nexthop and enable-local-control). What is that ?. See here:
> 
> 0s 1 nfd.Forwarder:onIncomingData(): [DEBUG] onIncomingData matching=/localhost/nfd/fib/add-nexthop/h%1A
> 
> OR
> 
> 0s 1 nfd.Forwarder:onIncomingData(): [DEBUG] onIncomingData matching=/localhost/nfd/faces/enable-local-control/h%03........

You may get a better idea after reading the link I gave you above.  Essentially, you see that RIB manager module requested "control-header" support on its face and was granted it by NFD.

--
Alex


> 3. even if googled and read, have not understood well "enable-local-control". Small explanation would be appreciated.
> 
> Thanks very much,
> C
> 
> 
> 
> 
> 
> On Tue, Feb 23, 2016 at 7:25 PM, Alex Afanasyev <aa at cs.ucla.edu> wrote:
> 
>> On Feb 23, 2016, at 6:29 AM, Carl Zu <carlzu8 at gmail.com> wrote:
>> 
>> Hi !
>> 
>> there are some interests that come in between ordinary interests. For example, look at the two types of interest messages in the following logs. Type 1 is clearly an interest sent for retrieving a content object with a certain prefix. What is interest type 2 ?
>> 
>> Type1:
>> 2s 0 nfd.Forwarder:onOutgoingInterest(): [DEBUG] onOutgoingInterest face=256 interest=/prefix/%FE%00
>> 
>> Type2:
>> 2s 0 nfd.Forwarder:onIncomingInterest(): [DEBUG] onIncomingInterest face=257 interest=/localhost/nfd/faces/events/%FE%05
> 
> Hi Carl,
> 
> When NFD detects there is a new face (e.g., new application), it notifies its internal module and any other interested applications about the fact.  You can learn more about this here: http://redmine.named-data.net/projects/nfd/wiki/Notification
> 
> Does this mechanism affect your simulations?
> 
> ---
> Alex

-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 841 bytes
Desc: Message signed with OpenPGP using GPGMail
URL: <http://www.lists.cs.ucla.edu/pipermail/ndnsim/attachments/20160223/ad6399d8/attachment.bin>


More information about the ndnSIM mailing list