[Ndn-interest] [EXT]Re: Is there an active golang library for NDN

Junxiao Shi shijunxiao at email.arizona.edu
Thu Jun 18 17:18:45 PDT 2020

Hi Rafee

Yes, I'm doing code cleanup in the NDN-DPDK codebase these days, including
moving part of /ndni to /ndn.
/ndn directory will contain a Go library that does not depend on Cgo. It
serves as an example for other library authors, on how to communicate with
It will be used for unit tests within the NDN-DPDK codebase, and can be
used by applications as well.

Basic functionality (packet encoding, etc) can be used anywhere, including
microcontrollers via TinyGo compiler.
There will be Ethernet transport (to communicate with a local or remote
NDN-DPDK or other forwarder), and libmemif transport (to communicate with
local NDN-DPDK forwarder). PIT token is required everywhere. These
transports will depend on Cgo (due to the dependencies), and can only be
used on Linux.
Management features will follow protocols of the NDN-DPDK management agent
(still under design), as I introduced in the 2019 FABRIC community meeting.
Initially I'm not planning crypto and application layer features (segmented
object, RDR, etc).

Yours, Junxiao

> On Jun 18, 2020, at 4:57 PM, Mohammad Ishfaque Jahan Rafee <
> mij.rafee.1344 at gmail.com> wrote:
> Hi Dr. Zhang,
> I checked inside the email lists using google search, with terms ndn-dpdk,
> golang and nfd-dev. But couldn't find anything conclusive regarding the
> design decisions of golang ndn API. However, the repo page for ndn-dpdk
> shows some guidance. At this point, I'm trying to assume the intention of
> Junxiao rather than what's inside the repository. So obviously there is a
> high possibility I'm making errors.
> https://github.com/usnistgov/ndn-dpdk/tree/master/ndni is the original
> repo from Junxiao, that is built solely to build ndn-dpdk, without any
> intention to build an ndn library in golang. It partially contained some
> wrapper using cgo, which means it uses unsafe pointers and technically
> can't be cross-compiled (at least not easily).
> On the other hand, https://github.com/usnistgov/ndn-dpdk/tree/master/ndn,
> this is something Junxiao is building with exposing it as a golang library.
> That's why it mentions "go-gettable", that means we can use it as a
> golang library in any OS or architecture. But this part of the repo is
> still empty, so I assume it's in active development but it's not ready yet.
> Junxiao can weigh in whether my assumptions are right or not.
> Best Regards
> Rafee
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://www.lists.cs.ucla.edu/pipermail/ndn-interest/attachments/20200618/bc8ea2e8/attachment.html>

More information about the Ndn-interest mailing list