[ndnSIM] structure of fib in ndnsim

yao hu huyao0107 at gmail.com
Fri Mar 15 12:20:48 PDT 2013


Hi Alex,

Yes, that is the usual thing for fib entry. What I think is If I use Add or
AddRoute call once to add one ndn route, the face will be recorded once. If
I use the same call twice, the face will be recorded twice... Then I would
like I could modify or adjust the the current forwarding strategy to
forward the related interests from the specific face according to the
`times` this face appears in the fib entry. Is there any possibility to do
such a thing in the current ndnsim?

Thanks very much!

Regards,
huyao


2013/3/16 Alex Afanasyev <alexander.afanasyev at ucla.edu>

> Hi huyao,
>
> PIT also has a limited API to lookup (only using Interests and
> ContentObjects).  So, probably this part is also should be extended, but
> just pure prefix-based lookup should be used cautiously.
>
> For your second question.  What is your intended need for the same face
> associated with the FIB entry more than once?  Can you give a specific
> example?  For me it is fundamental that FIB entry has only one reference to
> a specific face (AddRoute call "adding" the same face will "rerrange" this
> face based on the specified metric).  The forwarding strategy can "re-use"
> the same face many times, if it feels that is appropriate.
>
> ---
> Alex
>
> On Mar 15, 2013, at 10:48 AM, yao hu <huyao0107 at gmail.com> wrote:
>
> Hi Alex,
>
> Thanks for your clarification. I have understood what you said. It was my
> misunderstanding.
>
> Yes. I looked into the ndnsim API and felt a little curious that why FIB
> does not have a lookup functionality like PIT. I really appreciate if you
> can provide this functionality. Thanks very much!
>
> Besides, regarding the fib structure, I have one more question. In the
> default fib structure, one specific face (like face 1) in one fib entry
> appears just once. If I use Add() or AddRoute() to add a same ndn route
> twice or more, face 1 in this fib entry is still only one. My question is,
> is there a possibility or a way to record the `twice` or more? A very
> direct thought is could I store one specific face twice or more in one fib
> entry? Or are there any other ways to do such a behavior?
>
> Thanks for your answer in advance!
>
> Regards,
> huyao
>
>
> 2013/3/16 Alex Afanasyev <alexander.afanasyev at ucla.edu>
>
>> Hi huyao,
>>
>> fib::Entry object associated with exactly one prefix, so RemoveFace
>> method on fib::Entry will not have impact on any other entries.
>>
>> Let me show an example:
>>
>> # step one: find a FIB entry for the prefix associated with Interest
>> Ptr<fib::Entry> entry = fib->LongestPrefixMatch (interest);
>>
>> # remove a specific face
>> entry->RemoveFace (face_to_remove);
>>
>> ---
>>
>> This will not impact any other FIB entries.
>>
>> I just realized that the current FIB interface doesn't provide direct way
>> to do lookup just using Name (=NameComponents).  But it would be trivial to
>> add this functionality, as underlying data structures fully support that.
>>  Let me know if you need it. (Alternatively, you can also enumerate all FIB
>> entries using Begin/End/Next methods and find the one you need, but it can
>> be too inefficient.)
>>
>> ---
>> Alex
>>
>> On Mar 15, 2013, at 1:33 AM, yao hu <huyao0107 at gmail.com> wrote:
>>
>> Hi Alex,
>>
>> Thanks for your explanation!
>>
>> I am sorry I still have the perplexity. I saw that fib::Entry->RemoveFace
>> call just has one parameter (const Ptr< Face<http://ndnsim.net/doxygen/classns3_1_1ndn_1_1_face.html> >
>> &face) without relation to some specific prefix, so I guess if I want to
>> delete one specific face from one specific prefix, it will have the same
>> impact to other prefixes which also have the face.
>>
>> My intention is to delete one specific face from a specific prefix, while
>> any other prefix still retains the face if  it has. Is it feasible in the
>> current ndnsim? If not, how do I do to implement such a functionality? Or
>> my understanding for this issue has some error?
>>
>> Regards,
>> huyao
>>
>>
>> 2013/3/15 Alex Afanasyev <alexander.afanasyev at ucla.edu>
>>
>>> My small correction :). I meant that it is forwarding strategy job to
>>> pick a particular face from FIB entry.
>>>
>>> ---
>>> Alex
>>>
>>> On Mar 14, 2013, at 7:55 PM, Alex Afanasyev <
>>> alexander.afanasyev at ucla.edu> wrote:
>>>
>>> Hi huyao,
>>>
>>> You are right, for the single prefix there will be only one FIB entry
>>> created and it is forwarding strategy job to pick a particular one to
>>> forward an Interest in this prefix.
>>>
>>> There is an interface in fib::Entry to remove a specific face from s
>>> specific FIB entry.  You can also check recent conversation
>>> http://www.lists.cs.ucla.edu/pipermail/ndnsim/2013-March/000242.htmlwith more details about that.
>>>
>>>
>>> ---
>>> Alex
>>>
>>> On Mar 14, 2013, at 7:28 PM, yao hu <huyao0107 at gmail.com> wrote:
>>>
>>> a supplement.. If so, is there a way to delete just some face like face
>>> 0 from the fib entry with the prefix /data without deleting face 1?
>>>
>>> Thanks for your reply!
>>>
>>>
>>> 2013/3/15 yao hu <huyao0107 at gmail.com>
>>>
>>>> Dear ndnsimers,
>>>>
>>>> Assume that there is an existing fib entry with the prefix /data, face
>>>> 0 in some specific node. Now by using the function Add() or AddRoute(), a
>>>> new fib entry will be added with the same prefix /data, but with the
>>>> different face 1. So I wonder in ndnsim, they are counted as two fib
>>>> entries in FIB or just seemed as one. For my understanding, the answer is
>>>> the latter. Here, in Fib class, GetSize<http://ndnsim.net/doxygen/classns3_1_1ndn_1_1_fib.html#a93a184d9fdc1ace4ea82647c5834ff9c> ()
>>>> still equals to 1. Am I right?
>>>>
>>>> Regards,
>>>> huyao
>>>>
>>>
>>> _______________________________________________
>>> ndnSIM mailing list
>>> ndnSIM at lists.cs.ucla.edu
>>> http://www.lists.cs.ucla.edu/mailman/listinfo/ndnsim
>>>  <http://www.lists.cs.ucla.edu/mailman/listinfo/ndnsim>
>>>
>>>  <http://www.lists.cs.ucla.edu/mailman/listinfo/ndnsim>
>>>
>>> _______________________________________________
>> ndnSIM mailing list
>> ndnSIM at lists.cs.ucla.edu
>> http://www.lists.cs.ucla.edu/mailman/listinfo/ndnsim
>>
>>
>>
> _______________________________________________
> ndnSIM mailing list
> ndnSIM at lists.cs.ucla.edu
> http://www.lists.cs.ucla.edu/mailman/listinfo/ndnsim
>
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://www.lists.cs.ucla.edu/pipermail/ndnsim/attachments/20130316/6f8b8f3c/attachment.html>


More information about the ndnSIM mailing list