Commit Graph

63 Commits

Author SHA1 Message Date
Simon Duquennoy
076817faec rpl-lite: enable DAO-ACK by default. Various other improvements 2017-06-29 16:46:14 +02:00
Simon Duquennoy
250707c2d7 Use full include path for rpl and rpl-lite .h files, in core 2017-06-29 16:46:11 +02:00
Simon Duquennoy
a6643a9835 Added RPL-lite, a lightweight implementation of RPL. This is the new default. 2017-06-29 16:46:07 +02:00
Laurent Deru
d866e6bd34 Make RPL route lifetime RFC compliant 2017-01-13 10:54:06 +01:00
Luca Pernini
5803971adc Changing DIO timer condition - merge 2016-11-24 10:52:10 +01:00
Yasuyuki Tanaka
ca3a4726d1 Rename two macros related to multicast, which are not user configuration
- UIP_CONF_IPV6_MULTICAST -> UIP_IPV6_MULTICAST
- RPL_CONF_MULTICAST      -> RPL_WITH_MULTICAST
2016-06-20 16:35:09 +02:00
Joakim Eriksson
7853a7434b fix for compilation with clang - issue reported by Olaf Bergmann 2016-06-13 16:18:16 +02:00
Simon Duquennoy
b3e31e1456 Implement RPL non-storing mode 2016-06-08 14:02:45 +02:00
Simon Duquennoy
d14b76d869 RPL: logging fixes 2016-06-08 14:02:44 +02:00
Simon Duquennoy
0d7e1e8be4 Fix PRINTF statement in rpl-timers.c 2016-06-03 16:44:07 +02:00
Simon Duquennoy
c5cf8608e9 RPL probing: now using link-stats to first prioritize probing of non-fresh parents, and to support urgent probing (fast probing of a potential new preferred parent 2016-06-03 15:46:07 +02:00
Simon Duquennoy
426e10c3ed Rehauling of RPL OFs, both MRHOF and OF0. Fixed compliance with RFC6551, 6552, 6719. Now using the link-stats module. 2016-06-03 15:46:06 +02:00
Joakim Eriksson
444015df67 refactored the rpl-nbr-policy to be called from nbr-table module 2016-03-26 09:45:37 +01:00
Yasuyuki Tanaka
f83e498978 Fix typos in debug messages 2016-03-09 11:32:24 +01:00
Simon Duquennoy
b6d599b712 RPL: added callback for DIO interval update 2015-12-04 15:21:45 +01:00
Simon Duquennoy
94c26b90d0 Merge pull request #1091 from simonduq/rpl-loop-repair
Enhanced RPL loop repair
2015-12-01 15:36:53 +01:00
Simon Duquennoy
33f8db0dd3 RPL: clearer naming and documentation of DAO delay constants 2015-11-18 14:06:18 +01:00
Laurent Deru
34126173b4 Add DAG lifetime 2015-09-30 15:48:36 +02:00
Simon Duquennoy
66ec94fd74 Minor improvements to RPL probing 2015-09-17 22:54:38 +02:00
Simon Duquennoy
a7ce312ee3 Enhanced RPL loop repair: send unicast DIO to source when detecting a loop from ext header, update rank along the path (when rank error is signaled) 2015-09-17 22:53:12 +02:00
Simon Duquennoy
9ced5b7bac RPL: when no probing target is found, probe least recently updated parent 2015-05-10 13:28:00 +02:00
Simon Duquennoy
832a4d3e01 Make probing expiration time configurable 2015-05-10 13:19:56 +02:00
Simon Duquennoy
6a5f238255 RPL probing: make delay function user-configurable 2015-05-10 09:47:04 +02:00
Simon Duquennoy
2dd182f4a8 Modified the default RPL probing selection process. Will now probe the least recently updated parent from time to time 2015-05-08 14:32:52 +02:00
Simon Duquennoy
47ba4c0c4b Implement RPL probing 2015-05-08 14:32:00 +02:00
Simon Duquennoy
529376be77 Added rpl_print_neighbor_list function for RPL state monitoring 2015-05-08 14:29:26 +02:00
Laurent Deru
d540d2b5af Allow disabling of DIO suppression as required in RFC 2014-12-19 09:51:26 +01:00
Simon Duquennoy
e6d758e6f5 Remove now unneeded UIP_CONF_IPV6 guards in net/ipv6 and net/rpl code 2014-12-01 20:13:09 +01:00
Enrico Joerns
85b494c16b [doc] Give files a common structure by placing license first (partial)
Followed by doxyen file and group tags.
This patch is only a first attempt to make provide a clean structure,
many more files require rework, too.
2014-11-10 23:54:49 +01:00
Rémy Léone
25c8b0835d Closing doxygen groups 2014-05-30 11:01:20 +02:00
Nicolas Tsiftes
1c560fb9db The check should be whether RPL_DIS_SEND is non-zero, not whether it is defined. 2014-03-27 15:44:18 +01:00
George Oikonomou
da4ce5b54d RPL Multicast group management with MOP 3 2014-03-05 20:31:15 +00:00
Adam Dunkels
5f3fe7f7c7 Updated include paths for the moved files under net/ 2014-01-26 23:20:23 +01:00
Adam Dunkels
faff1c2a7e Preliminary support for RPL node types. This change allows a node to be in any of three given types:
* Mesh: this is the normal case. Nodes route data on behalf of others and the node can be reached via a DAO route.
* Leaf: the node does not route data on behalf of others, but others can route data to the node (it has a RPL DAO route).
* Feather: this is a new type of node. A feather node routes data on behalf of others, but does not install DAO routes in the network. Feather nodes allow having a larger number of nodes than the RPL network can sustain in terms of routing tables.

This commit introduces the RPL node types and the feather mode, but does not add support for the leaf node type.
2013-11-24 15:17:52 +01:00
Adam Dunkels
61ea7fbb1c RPL DAO timers and management:
* Added a DAO lifetime timer that sends out a new DAO after half the lifetime of the DAO. This allows implementing DAO route soft state that avoids routing tables in the network keeping stale routes for ever.
* Added ways to schedule a new DAO transmission as well as cancelling an active DAO transmit timer, which makes it possible to do nodes that don't send DAOs.
2013-11-24 15:17:51 +01:00
Adam Dunkels
927cc8d895 Added #if UIP_CONF_IPV6 around the IPv6 code in the uIP source tree to allow the C files to be compiled even if IPv6 is not configured. 2013-03-18 09:45:30 +01:00
Adam Dunkels
2a2175a214 Make RPL DIS transmission interval random in the interval [0, INTERVAL/2]. This is needed to avoid synchronization in large RPL networks. 2012-11-27 23:04:31 +01:00
Adam Dunkels
2396f9b8ea Made DIO interval processing a little easier to follow. Explicitly state that the delay is handled as clock timer ticks. 2012-11-27 23:04:31 +01:00
Adam Dunkels
db7cb567f5 Updated the RPL code to better match the Contiki code style 2012-11-27 23:04:30 +01:00
Nicolas Tsiftes
d0e2d9b47e Cleaned up code style, comments, and print outs. Set default DAG parameters when the DIO configuration option is missing. 2012-02-29 21:59:50 +01:00
Nicolas Tsiftes
f112fa99d5 Removed the force flag from rpl_reset_dio_timer. Removed an unnecessary DIO timer reset when changing rank but keeping the same preferred parent. 2012-01-04 11:22:11 +01:00
Nicolas Tsiftes
ea73f1d767 Do not force DIO reset on certain events where it is not needed. 2011-11-16 09:49:22 +01:00
Vincent Brillault
dc9cbe647d Changes in RPL implementation :
- Structural modification of RPL data storage.
- Support multiple gateways (multiple DODAG-ID with a unique InstanceID)
- Use Lollipop counters
- Add leaf-only configuration option for RPL
Bugfix :
- Correctly send "Grounded" flag in DIO
2011-07-11 16:52:45 +02:00
Nicolas Tsiftes
b1fea35e47 Fixed issues with propagation of the route lifetime configuration. Removed deprecated configuration parameters. 2011-06-28 17:08:44 +02:00
nvt
8078ef7705 ROOT_RANK is now a macro function. 2011-03-17 20:21:56 +01:00
Joakim Eriksson
fa0fbf5dab fixed format of transit subopt 2011-03-01 12:33:34 +01:00
nvt
20171985c6 Split the RPL header into a private and a public header. 2011-02-11 16:21:17 +01:00
nvt-se
8f76c82433 Improved DAO management. 2010-12-17 15:24:25 +00:00
nvt-se
486f202d09 Fixed problem with too large values for the DIO timer. 2010-12-15 12:12:27 +00:00
dak664
9c66df6de1 Fix ancient RAND_MAX compiler warning 2010-12-13 16:52:02 +00:00