[Ndn-interest] [EXT] content store
m.kareem1305 at coeng.uobaghdad.edu.iq
Tue Feb 23 06:28:04 PST 2021
Thank you very much for the information, it helped me a lot.
I wish you all the best.
On Tue, Feb 23, 2021 at 5:18 PM Junxiao Shi <shijunxiao at email.arizona.edu>
> Hi Marwa
> In NDN-DPDK (notice the correct spelling):
> Allocation function is rte_pktmbuf_alloc. It's invoked by the Ethernet
> adapter driver, such as dpdk/drivers/net/mlx5/mlx5_rxq.c
> Deallocation function is rte_pktmbuf_free. For cached Data it's invoked
> by the CS eviction procedure, in ndn-dpdk/csrc/pcct/cs-entry.h
> I don't know about others.
> Yours, Junxiao
> On Tue, Feb 23, 2021 at 6:27 AM marwa kareem <
> m.kareem1305 at coeng.uobaghdad.edu.iq> wrote:
>> *External Email*
>> Hi Junxiao,
>> Thank you for the explanation, now things become more clear to me.
>> Can you please refer to where buffers are handled in the nfd and nfd-
>> dpdk source code?
>> On Tue, Feb 23, 2021 at 6:33 AM Junxiao Shi <shijunxiao at email.arizona.edu>
>>> Hi Marwa
>>>> 1- In the content store you are using skip lists and hash tables in
>>>> older versions 0.7.x, is the skip lists and hash tables have the ability to
>>>> store the data packets?
>>>> because in the repository the btrees have been used, why? I,m confused
>>>> about this point.
>>> Typically the Content Store has an *index* pointing to packet buffers.
>>> When someone says the CS is a hash table, tree, trie, skip list, etc, it
>>> refers to the structure of the index.
>>> The packets themselves are stored in buffers elsewhere.
>>> In NFD, buffers are allocated via malloc; in NDN-DPDK, buffers are
>>> fetched from a pre-allocated mempool; I don't know how ccnd handles buffers.
>>> 2- why the number of contents have been used to measure the capacity of
>>>> the content store and not something like (200MB, 300MB, ...)?
>>> As I described above, a forwarder stores packets in buffers.
>>> In both NFD and NDN-DPDK, a buffer is allocated before receiving the
>>> packet from a socket or Ethernet adapter, and the packet stays in the same
>>> buffer until it's evicted / deleted.
>>> Since the packet length is unknown before receiving, every buffer must
>>> be able to accommodate the maximum packet length (around 9KB).
>>> As such, the CS capacity in bytes equals the CS capacity in packets
>>> multiplied by the maximum packet length.
>>> It has nothing to do with the actual packet length.
>>> In this case, it's easier to measure CS capacity in packets.
>>> Yours, Junxiao
-------------- next part --------------
An HTML attachment was scrubbed...
More information about the Ndn-interest