ccn-lite
ccn-lite copied to clipboard
CCNx and NDN management
Hi,
as far as I understood CCN-lite supports CCNx management operations (enabled via USE_MGMT
flag). Currently, I'm trying to understand how forwarding in CCN-lite works and found in the ccnl_fwd_handleInterest
function the following
279 #ifdef USE_SUITE_NDNTLV
280 if ((*pkt)->suite == CCNL_SUITE_NDNTLV && (*pkt)->pfx->compcnt == 4 &&
281 !memcmp((*pkt)->pfx->comp[0], "ccnx", 4)) {
282 DEBUGMSG_CFWD(INFO, " found a mgmt message\n");
283 #ifdef USE_MGMT
284 ccnl_mgmt(relay, (*pkt)->buf, (*pkt)->pfx, from); // use return value?
285 #endif
286 return 0;
287 }
288 #endif
Basically, this allows to have CCNx management operations handled in NDN? Unfortunately, the CCNx specification is not available anymore, but I can imagine that both (CCNx and NDN management) support face creation, deletion, etc.
Is this intended behaviour or plain and simply wrong?
TIA Michael
Hmm, somebody pointed out that ccnx binary protocol is used for communication between ccn-lite-relay and the ccn-lite-ctrl util. I skimmed through ccnl_mgmt
and ccnl_mgmt_handle
which seems to confirm that. Nevertheless, I find it still kind of confusing. Is there some documentation about the internals?
Yes, your second statement is correct. CCN-lite uses CCNb for communication with the ccn-lite-ctrl util.
I think somebody started porting this to NDNTLV but when I look in the code, this seems to be unfinished and broken. This is definitely an issue, the broken code should be removed.
I think there is no documentation, how the MGMT interface works internal, but I think I can answer all questions about that.
Is there any advantage of not using CCNb for MGMT?
I mean, the packet format is outdated, but for MGMT operations, which are not forwarded into the network, I see little advantage of rewriting the code.
See note in the wiki: https://github.com/cn-uofbasel/ccn-lite/wiki/TODO