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