[riot-commits] [RIOT-OS/RIOT] 12cd62: Introduction of RPL non-storing mode.

Oleg Hahm oleg at hobbykeller.org
Fri Nov 28 00:29:45 CET 2014


  Branch: refs/heads/master
  Home:   https://github.com/RIOT-OS/RIOT
  Commit: 12cd62c6890e719d67f503971456b47f533fe2ce
      https://github.com/RIOT-OS/RIOT/commit/12cd62c6890e719d67f503971456b47f533fe2ce
  Author: Fabian Brandt <fabbrandt at gmail.com>
  Date:   2014-11-27 (Thu, 27 Nov 2014)

  Changed paths:
    M sys/net/include/etx_beaconing.h
    M sys/net/include/rpl.h
    M sys/net/include/rpl/rpl_config.h
    M sys/net/include/rpl/rpl_dodag.h
    A sys/net/include/rpl/rpl_nonstoring.h
    M sys/net/include/rpl/rpl_storing.h
    M sys/net/include/rpl/rpl_structs.h
    M sys/net/include/sixlowpan/ip.h
    M sys/net/include/sixlowpan/types.h
    M sys/net/network_layer/sixlowpan/border/bordermultiplex.c
    M sys/net/network_layer/sixlowpan/icmp.c
    M sys/net/network_layer/sixlowpan/ip.c
    M sys/net/network_layer/sixlowpan/ip.h
    M sys/net/routing/Makefile
    M sys/net/routing/etx_beaconing.c
    M sys/net/routing/rpl/Makefile
    M sys/net/routing/rpl/of0.c
    M sys/net/routing/rpl/of0.h
    M sys/net/routing/rpl/of_mrhof.c
    M sys/net/routing/rpl/of_mrhof.h
    M sys/net/routing/rpl/rpl.c
    M sys/net/routing/rpl/rpl_dodag.c
    A sys/net/routing/rpl/rpl_nonstoring/Makefile
    A sys/net/routing/rpl/rpl_nonstoring/rpl_nonstoring.c
    R sys/net/routing/rpl/rpl_storing.c
    A sys/net/routing/rpl/rpl_storing/Makefile
    A sys/net/routing/rpl/rpl_storing/rpl_storing.c
    M sys/net/routing/rpl/trickle.c
    M sys/net/routing/rpl/trickle.h
    M sys/net/transport_layer/socket_base/socket.c
    M sys/net/transport_layer/tcp/tcp.c
    M sys/net/transport_layer/udp/udp.c
    M sys/shell/commands/sc_rpl.c

  Log Message:
  -----------
  Introduction of RPL non-storing mode.

This implementation is based on RFC 6550 with addition of RFC 6554 (Source Routing Header for RPL). Both can be found under the following links:
- http://tools.ietf.org/html/rfc6550
- http://tools.ietf.org/html/rfc6554

The PR provides basic functionality for handling and forwarding packages in non-storing mode. In addition the structure of the previous implemented RPL storing mode is now revised, so that readability and modularity is increased. The following features are implemented:
- building function for a SRH and integration in common packets
- source-route build algorithm based on the structure of the DODAG
- an RPL-based interpretation of the SRH and removal at destination
- new structure for RPl-module with extracted beaconing-functionality
- leaf nodes are now supported

There are some missed goals and should be included in future updates:
- building a common routing table structure for different types of routing protocols
- routing tables are statically assigned via source code, future update should have an optional variable at build-time, which sets the size of the routing table depending on the desired functionality of a node in the network (root, node, leaf)


  Commit: 7f9fb2bea31ed0a32d0e950a1814ea3aaf2c91bb
      https://github.com/RIOT-OS/RIOT/commit/7f9fb2bea31ed0a32d0e950a1814ea3aaf2c91bb
  Author: Oleg Hahm <oleg at hobbykeller.org>
  Date:   2014-11-28 (Fri, 28 Nov 2014)

  Changed paths:
    M sys/net/include/etx_beaconing.h
    M sys/net/include/rpl.h
    M sys/net/include/rpl/rpl_config.h
    M sys/net/include/rpl/rpl_dodag.h
    A sys/net/include/rpl/rpl_nonstoring.h
    M sys/net/include/rpl/rpl_storing.h
    M sys/net/include/rpl/rpl_structs.h
    M sys/net/include/sixlowpan/ip.h
    M sys/net/include/sixlowpan/types.h
    M sys/net/network_layer/sixlowpan/border/bordermultiplex.c
    M sys/net/network_layer/sixlowpan/icmp.c
    M sys/net/network_layer/sixlowpan/ip.c
    M sys/net/network_layer/sixlowpan/ip.h
    M sys/net/routing/Makefile
    M sys/net/routing/etx_beaconing.c
    M sys/net/routing/rpl/Makefile
    M sys/net/routing/rpl/of0.c
    M sys/net/routing/rpl/of0.h
    M sys/net/routing/rpl/of_mrhof.c
    M sys/net/routing/rpl/of_mrhof.h
    M sys/net/routing/rpl/rpl.c
    M sys/net/routing/rpl/rpl_dodag.c
    A sys/net/routing/rpl/rpl_nonstoring/Makefile
    A sys/net/routing/rpl/rpl_nonstoring/rpl_nonstoring.c
    R sys/net/routing/rpl/rpl_storing.c
    A sys/net/routing/rpl/rpl_storing/Makefile
    A sys/net/routing/rpl/rpl_storing/rpl_storing.c
    M sys/net/routing/rpl/trickle.c
    M sys/net/routing/rpl/trickle.h
    M sys/net/transport_layer/socket_base/socket.c
    M sys/net/transport_layer/tcp/tcp.c
    M sys/net/transport_layer/udp/udp.c
    M sys/shell/commands/sc_rpl.c

  Log Message:
  -----------
  Merge pull request #1404 from fabianbrandt/rpl_nonstoring

Introduction of RPL non-storing mode


Compare: https://github.com/RIOT-OS/RIOT/compare/b358d8517fb4...7f9fb2bea31e


More information about the commits mailing list