This repository was archived by the owner on Mar 29, 2018. It is now read-only.

Description
In ccn_fib.c, during each prefix registration and unregistration, get_ccndid is called to fetch CCNDID of local forwarding daemon by expressing a service discovery Interest. This is unnecessary because CCNDID is stable during the lifetime of a local daemon.
get_ccndid is not well designed to fetch CCNDID during runtime. It would cause a fatal error if local forwarding daemon fails to respond within 4500ms. CCN doesn’t have a delivery guarantee, so it’s not uncommon for the Interest to get lost, especially when running on a busy HUB. This design is acceptable when used in short-lived utilities such as ccndc, but it’s unacceptable during runtime of long-lived daemon after initialization phase.
get_ccndid should be invoked once at OSPFN start up, and returned cached results at subsequent calls.