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

Carl carlzu8 at gmail.com
Tue Apr 26 01:58:17 PDT 2016


Hi Alex,

I have disabled RIB manager, but still I see control data messages with 
prefix _data=/localhost/nfd/fib/add-nexthop_. This means that even if I 
have disabled RIB manager, still FIBs are populated ? Why ?... And how I 
can completely disable this ?

After, I also disabled Face Manager to see what happens, but received 
the same output. Actually I have done this because always 
fib/add-nexthop messages appear right after face events.

Looking forward to your response.

Thanks.
Regards,
C

On 24.02.2016 07:31, Alex Afanasyev wrote:
> 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




More information about the ndnSIM mailing list