Skip to content

Latest commit

 

History

History
 
 

task-08

Folders and files

NameName
Last commit message
Last commit date

parent directory

..
 
 
 
 
 
 

previous task

Task 8: CCN-Lite on RIOT

This application demonstrates how to use the Content-Centric Networking stack from CCN-Lite on RIOT. In the current state you can use only one packet format, ndn2013, and only relay over the link-layer (Ethernet, IEEE~802.15.4 or what else is supported by your network device).

Please note that compiling this application will clone the CCN-Lite remote repository.

The shell commands

RIOT provides three shell to interact with the CCN-Lite stack:

  • ccnl_int - generates and sends out an Interest. The command expects one mandatory and one optional parameter. The first parameter specifies the exact name (or a prefix) to request, the second parameter specifies the link-layer address of the relay to use. If the second parameter is omitted, the Interest will be broadcasted. You may call it like this: ccnl_int /riot/peter/schmerzl b6:e5:94:26:ab:da
  • ccnl_cont - generates and populates content. The command expects one mandatory and one optional parameter. The first parameter specifies the name of the content to be created, the second parameter specifies the content itself. The second parameter may include spaces, e.g. you can call: ccnl_cont /riot/peter/schmerzl Hello World! Hello RIOT!
  • ccnl_fib - modifies the FIB or shows its current state. If the command is called without parameters, it will print the current state of the FIB. It can also be called with the action parameters add or del to add or delete an entry from the FIB, e.g. ccnl_fib add /riot/peter/schmerzl ab:cd:ef:01:23:45:67:89 will add an entry for /riot/peter/schmerzl with ab:cd:ef:01:23:45:67:89 as a next hop and ccnl_fib del /riot/peter/schmerzl will remove the entry for /riot/peter/schmerzl and ccnl_fib del ab:cd:ef:01:23:45:67:89 will remove all entries with ab:cd:ef:01:23:45:67:89 as a next hop.

Task 8.1: Generate content and discover other content

  • You can use the shell commands above to create some content chunks and send out interests for a specific name
  • Create some content for /dagstuhl/m2m/
  • Send an interest for /dagstuhl/m2m/

Task 8.2: Modify the default shell commands (advanced task)

  • Take a look at the default shell commands in sys/shell/commands/sc_ccnl.c
  • Create a new command to send an interest with a shorter timeout (see https://doc.riot-os.org/group__pkg__ccnlite.html
  • Use ccnl_set_local_producer() to create content on the fly

next task