[ndnSIM] How to select multiple faces to send Interest/Data?

Spyridon (Spyros) Mastorakis spiros.mastorakis at gmail.com
Tue Mar 24 20:29:21 PDT 2015

Hello Anil,

I will try to answer your questions:

First of all, the application face is different than the NetDevice Face, which is used for the connection among the simulated nodes. Both of them are realizations of the NFD Face class. The NFD Face class is the base class, which is used during the Interest/Data processing from NFD. For further details, you can take a look at our Technical Report:


> In this custom-app.cc code (line: 88), I think it is sending the Interest on face created by the application (ndn-app). However, how the scenario is handled where there are more than one faces on given node? How a particular face is selected to send the Interest on? In my simulation setup, I have multiple faces on given node.

Each application, that you will define in a simulation scenario using the AppHelper, will have a face associated with it. In this way, an Interest packet will be sent out of this application face to NFD for further processing and then to other nodes using the netDeviceFace. I do not think that there are any reasons to have multiple faces for the same application instance on a single node. However, you can install multiple application instances on the same node.

> When Interest/Data is received, a respective handler is called (line: 93 or 116). I believe this handler is called for all Interests/Data messages received from all interface, correct? It is the application, based on the Interest name, carries out different processing as per the application context. Am I correct?

What do you mean by “all interfaces”? Application faces, NFD faces, NetDeviceFaces?

> I saw in one of the application code, an ExpressInterest() API, where one can specify the exact call back to handle Data. However in the above code, this looks like abstracted out. Is it still possible to use the ExpressInterest API? To put it other words, I did not understand how Interest is actually being sent out to the face. How does this works in the above sample code?

An Interest starting from the application face will be send to NFD for further processing. If there is a FIB entry for the expressed name prefix, the interest will be sent to another node.

Hope that this helps.

Spyridon (Spyros) Mastorakis
Personal Website: http://cs.ucla.edu/~mastorakis/
Internet Research Laboratory
PhD Computer Science

More information about the ndnSIM mailing list