[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