1
0
mirror of https://github.com/RIOT-OS/RIOT.git synced 2024-12-29 04:50:03 +01:00

ccnl: adapt doc to current code

This commit is contained in:
Christian Mehlis 2014-01-21 11:40:58 +01:00
parent 638bb4ce51
commit fa87339083
2 changed files with 31 additions and 30 deletions

View File

@ -3,7 +3,7 @@ simple appserver (all in one shell)
0. create tap devices: *./cpu/native/tapsetup.sh create 3*
1. build ccn-lite-client: *CFLAGS="-DHAVE_VALGRIND_VALGRIND_H" make -B clean all*
2. start: *./bin/ccn-lite-client.elf tap0* (valgrind support included)
2. start: *./bin/native/ccn-lite-client.elf tap0* (valgrind support included)
3. start ccn thread: *ccn* [enter] (this starts the ccn relay network stack)
4. start appserver thread: *appserver* [enter] (this starts the userland appserver, which registers for "/riot/appserver/"
5. request content: *interest /riot/appserver/test* [enter] (ask the relay for this "file", userland code splits this up in
@ -19,7 +19,7 @@ SHELL 1 |
--------------------------------------------------------------------------------------------------------------
0. create tap devices: *./cpu/native/tapsetup.sh create 3* |
1. build ccn-lite-client: *make -B clean all* | build ccn-lite: *make clean all*
2. start: *./bin/ccn-lite-client.elf tap0* | start: *./bin/ccn-lite-relay.elf tap1*
2. start: *./bin/native/ccn-lite-client.elf tap0* | start: *./bin/ccn-lite-relay.elf tap1*
3. start ccn thread: *ccn* [enter] | [it starts ccn automaticly]
4. set address: *addr 1* [enter] | [it picks address 42 automaticly]
5. register prefix the ccn-lite stack: *prefix /riot/ newTRANSface 42* [enter] | [it populates the cache automaticly]
@ -29,27 +29,27 @@ SHELL 1 |
advanced forward (needs three [four] shells)
====================================================
SHELL 1 | SHELL 2 | SHELL 3 | SHELL 4 (currently a bug in the native port on heavy traffic)
--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
0. create tap devices: *./cpu/native/tapsetup.sh create 3* | | |
1. build ccn-lite-client: *make -B clean all* | | build ccn-lite: make clean all | ping -Itapbr0 8.8.8.8
2. start: *./bin/ccn-lite-client.elf tap0* | start: *./bin/ccn-lite-client.elf tap1* | start: ./bin/ccn-lite-relay.elf tap2 |
3. start ccn thread: *ccn* [enter] | start ccn thread: *ccn* [enter] | [it starts ccn automaticly] |
4. set address: *addr 1* [enter] | set address: *addr 2* [enter] | [it picks address 42 automaticly] |
5. *prefix /riot/ newTRANSface 2* [enter] | *prefix /riot/ newTRANSface 42* [enter] | [it populates the cache automaticly] |
6. request content: *interest /riot/text* [enter] | | |
SHELL 1 | SHELL 2 | SHELL 3
----------------------------------------------------------------------------------------------------------------------------------------------------------------
0. create tap devices: *./cpu/native/tapsetup.sh create 3* | |
1. build ccn-lite-client: *make -B clean all* | | build ccn-lite: make clean all
2. start: *./bin/native/ccn-lite-client.elf tap0* | start: *./bin/native/ccn-lite-client.elf tap1* | start: ./bin/ccn-lite-relay.elf tap2
3. start ccn thread: *ccn* [enter] | start ccn thread: *ccn* [enter] | [it starts ccn automaticly]
4. set address: *addr 1* [enter] | set address: *addr 2* [enter] | [it picks address 42 automaticly]
5. *prefix /riot/ newTRANSface 2* [enter] | *prefix /riot/ newTRANSface 42* [enter] | [it populates the cache automaticly]
6. request content: *interest /riot/text* [enter] | |
overdosed forward (needs three [four] shells)
====================================================
SHELL 1 | SHELL 2 | SHELL 3 | SHELL 4
---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
0. create tap devices: *./cpu/native/tapsetup.sh create 3* | | |
1. build ccn-lite-client: *make -B clean all* | | | ping -Itapbr0 8.8.8.8
2. start: *./bin/ccn-lite-client.elf tap0* | start: *./bin/ccn-lite-client.elf tap1* | start: *./bin/ccn-lite-client.elf tap2* |
3. start ccn thread: *ccn* [enter] | start ccn thread: *ccn* [enter] | start ccn thread: *ccn* [enter] |
4. set address: *addr 1* [enter] | set address: *addr 2* [enter] | set address: *addr 3* [enter] |
5. | | start appserver: *appserver* [enter] |
6. *prefix /riot/ newTRANSface 2* [enter] | *prefix /riot/ newTRANSface 3* [enter] | |
7. request content: *interest /riot/appserver/test* [enter] | | |
SHELL 1 | SHELL 2 | SHELL 3
----------------------------------------------------------------------------------------------------------------------------------------------------------------
0. create tap devices: *./cpu/native/tapsetup.sh create 3* | |
1. build ccn-lite-client: *make -B clean all* | |
2. start: *./bin/native/ccn-lite-client.elf tap0* | start: *./bin/native/ccn-lite-client.elf tap1* | start: *./bin/native/ccn-lite-client.elf tap2*
3. start ccn thread: *ccn* [enter] | start ccn thread: *ccn* [enter] | start ccn thread: *ccn* [enter]
4. set address: *addr 1* [enter] | set address: *addr 2* [enter] | set address: *addr 3* [enter]
5. | | start appserver: *appserver* [enter]
6. *prefix /riot/ newTRANSface 2* [enter] | *prefix /riot/ newTRANSface 3* [enter] |
7. request content: *interest /riot/appserver/test* [enter] | |

View File

@ -6,10 +6,10 @@ RIOT's support for CCN messages is based on the work of [Christian Tschudin from
The network stack can handle multiple faces based on the transceiver or from the local device via RIOT's message system.
To communicate with the stack, one can send messages via RIOTs message system to the CCN-lite relay thread or via a physical network transceiver.
All incoming messages get processed in the main io loop which you can find [here](ccn-lite-relay.c#L283).
All incoming messages get processed in the main io loop which you can find [here](ccn-lite-relay.c#L302).
The public api on the ccn network stack one can find in ccn_lite/include (see in file "ccnl-riot.h").
Client related functions are located in ccn_lite/include/util (see in file "ccn-riot-client.h").
The public api on the ccn network stack one can find in `sys/net/include/ccn_lite` (see in file "ccnl-riot.h").
Client related functions are located in `sys/net/include/ccn_lite/util` see in file (ccn-riot-client.h).
To deal with the ccn lite network stack one only needs these two api declarations.
@ -17,24 +17,25 @@ To deal with the ccn lite network stack one only needs these two api declaration
Running Test Application
------------------------
A test applications are provided in the projects repository.
A test applications are provided in the example directory.
### ccn-lite-client
It uses RIOTs shell for user interaction.
The network stack is started on demand in it's own thread. You have to enter "ccn" in the shell.
The network stack is started on demand in it's own thread. You have to enter `ccn <CS size>` in the shell.
A bunch of ccn user land code is provide to construct interests and content objects.
To request a file e.g. */riot/text*, the user land code request the first segment (chunk): */riot/text/0* and stalls until its received.
To request a file e.g. `/riot/text`, the user land code request the first segment (chunk): `/riot/text/0` and stalls until its received.
If this chunk has the default chunk size the next chunk is requested, ...
If a smaller chunk arrives the user land code prints out the complete file which was requested.
You can test this functionality by typing "interest /riot/test" in the shell. *See HOWTO.md in the projects directory*.
To populate the cache type `ccn 100` and `populate`.
You can test this functionality by typing `interest /riot/text` in the shell. *See HOWTO.md in the projects directory*.
### ccn-lite-relay
It's a stand alone ccn relay without interactive user control
The network stack is started on boot up and is configured set the device address and to serve requests for "/riot/test".
It's a stand alone ccn relay without interactive user control.
The network stack is started on boot up and is configured set the device address and to serve requests for `/riot/text`.
The ccn stack is ready to server requests coming over the transceiver.
Hardware support