-
- Downloads
rpl: RPL/Trickle with only *one* thread
This PR proposes an approach to reduce the thread count of RPL. The current RPL/Trickle stack needs about 5 threads to handle tasks like updating the trickle timer, routing entries and the transmission of DAOs. This PR modifies RPL to use only one thread with a looped `msg_recv()` call. The message is then multiplexed to the right task.
Showing
- Makefile.dep 1 addition, 0 deletionsMakefile.dep
- sys/Makefile 3 additions, 0 deletionssys/Makefile
- sys/include/trickle.h 114 additions, 0 deletionssys/include/trickle.h
- sys/net/include/rpl/rpl_config.h 15 additions, 5 deletionssys/net/include/rpl/rpl_config.h
- sys/net/include/rpl/rpl_dodag.h 2 additions, 0 deletionssys/net/include/rpl/rpl_dodag.h
- sys/net/include/rpl/rpl_structs.h 9 additions, 3 deletionssys/net/include/rpl/rpl_structs.h
- sys/net/network_layer/sixlowpan/ip.c 1 addition, 0 deletionssys/net/network_layer/sixlowpan/ip.c
- sys/net/routing/rpl/rpl.c 223 additions, 76 deletionssys/net/routing/rpl/rpl.c
- sys/net/routing/rpl/rpl_dodag.c 25 additions, 8 deletionssys/net/routing/rpl/rpl_dodag.c
- sys/net/routing/rpl/rpl_nonstoring/rpl_nonstoring.c 11 additions, 9 deletionssys/net/routing/rpl/rpl_nonstoring/rpl_nonstoring.c
- sys/net/routing/rpl/rpl_storing/rpl_storing.c 11 additions, 9 deletionssys/net/routing/rpl/rpl_storing/rpl_storing.c
- sys/net/routing/rpl/trickle.c 0 additions, 288 deletionssys/net/routing/rpl/trickle.c
- sys/net/routing/rpl/trickle.h 0 additions, 42 deletionssys/net/routing/rpl/trickle.h
- sys/trickle/Makefile 3 additions, 0 deletionssys/trickle/Makefile
- sys/trickle/trickle.c 102 additions, 0 deletionssys/trickle/trickle.c
Loading
Please register or sign in to comment