Commit Graph

391 Commits

Author SHA1 Message Date
Joakim Eriksson
946be77248 Added support for end-to-end DAO ACK for Contiki RPL.
This is a fix for Contiki RPL so that it fully supports DAO ACK in
an end-to-end fashion. When DAO is sent it will be forwarded upwards
as before. DAO ACK will be forwarded downwards until it reach the node
that initiated the DAO ACK and unlike before it is not a single-hop
DAO ACK but it is fully reaching the RPL ROOT before any DAO ACK is
sent back. DAO ACK also now fully support different status messages
(success / fail).
2016-03-26 09:28:08 +01:00
Simon Duquennoy
5e5904d10e Merge pull request #1387 from simonduq/pr/ndfree-rpl-fix
NDP disabled: also disable uip_ds6_neighbor_periodic
2016-03-14 16:42:45 +01:00
Simon Duquennoy
cd981b23d5 Merge pull request #1297 from simonduq/pr/default-prefix
Change the default IPv6 prefix from aaaa::/64 to fd00::/64
2016-03-13 20:39:16 +01:00
Yasuyuki Tanaka
f83e498978 Fix typos in debug messages 2016-03-09 11:32:24 +01:00
Simon Duquennoy
dea04c67d7 Change the default IPv6 prefix from aaaa::/64 to fd00::/64 2016-03-07 17:47:44 +01:00
Joakim Nohlgård
d7d836fda0 core/net/rpl/rpl.h: fix warning: function declaration isn't a prototype 2016-03-02 07:00:57 +01:00
Joakim Nohlgård
52e7ea9cc4 core/net/rpl/rpl-dag.c: fix warning: function declaration isn't a prototype 2016-03-02 07:00:57 +01:00
Simon Duquennoy
521cc7600d Minor debug output fixes 2016-02-03 17:10:24 +01:00
Simon Duquennoy
08bcfd6972 RPL: added callback for parent switches 2015-12-04 15:21:46 +01:00
Simon Duquennoy
b6d599b712 RPL: added callback for DIO interval update 2015-12-04 15:21:45 +01:00
Nicolas Tsiftes
35fb0614de Merge pull request #1406 from simonduq/pr/fix-rpl-multi-dag
RPL multiple DAG bugfix
2015-12-02 11:19:37 +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
ecc16645ad RPL: do not return from rpl_process_dio after adding a DAG 2015-11-30 19:21:18 +01:00
Simon Duquennoy
c679046d7a RPL: improved debug messages for No-Path DAOs 2015-11-26 11:36:05 +01:00
Simon Duquennoy
92840e7adc Simplify uip-ds6-nbr module further when NDP is disabled. Avoids known issue https://github.com/contiki-os/contiki/issues/1380 of neighbors in non-REACHABLE state. 2015-11-20 22:40:19 +01:00
Simon Duquennoy
33f8db0dd3 RPL: clearer naming and documentation of DAO delay constants 2015-11-18 14:06:18 +01:00
Simon Duquennoy
79c436ac03 rpl_verify_header: sanity-check 'sender' before updating rank 2015-11-16 11:15:36 +01:00
Andreas Urke
857d69a338 Remove stray stars in comments 2015-11-02 13:23:40 +01:00
Andreas Urke
8159297bfd Add configuration of DIS interval and DIS start delay to rpl-conf.h
Make a define for configuration of DIS start delay and move it + existing DIS interval conf into RPL-conf.h
2015-11-02 13:23:33 +01:00
Valentin Sawadski
b0c7dabf4c Removes duplicate of uip_is_addr_linklocal
A simple search and replace of `uip_is_addr_link_local` to ensure the more
commonly used `uip_is_addr_linklocal` is used consistently.
2015-10-20 11:18:46 +02:00
Laurent Deru
15bc0c6daa Update rank of parent when it has changed DODAG 2015-09-30 15:48:36 +02:00
Laurent Deru
34126173b4 Add DAG lifetime 2015-09-30 15:48:36 +02:00
Joakim Eriksson
24a38a3aa8 check if objective function is supported before adding as parent and creating a dag 2015-09-29 21:10:03 +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
Nicolas Tsiftes
70b3585f76 Merge pull request #1249 from simonduq/fix-rpl-icmp-warnings
Fix compiler warnings in rpl-icmp6.c
2015-09-10 14:44:04 +02:00
Simon Duquennoy
5329c42034 Remove unused variables 2015-09-08 23:38:43 +02:00
Adam Dunkels
92c1a68b94 Merge pull request #1215 from joakimeriksson/rpl-child-locking
Move locking of neighbors / children from RPL to uip-ds6-route module
2015-09-02 19:42:45 +02:00
Joakim Eriksson
9e16d93278 removed pointer to next parent since it is not used anymore 2015-08-28 19:15:23 +02:00
Joakim Eriksson
4d5c749cf7 removed locking of rpl-parent since it was never unlocked - moved to routing module 2015-08-27 18:45:06 +02:00
Adam Dunkels
2b549f3789 Bugfix: need to explictly drop RPL packets by setting uip_len = 0, otherwise those packets are forwarded, with the wrong link layer address as a sender, causing the mesh to create false routes 2015-08-27 10:28:54 +02:00
Adam Dunkels
9cd84563cb Send a no-path DAO when becoming feather mode, so that the network can drop routes to us, which are no longer needed 2015-08-27 10:27:56 +02:00
Adam Dunkels
bfb29d2f11 Merge pull request #1116 from cetic/pr-uip-clear-buffer
Add uip_clear_buf() macro and replace all instances of uip_len = 0
2015-08-27 10:27:08 +02:00
Pablo Corbalán
aa04f8afbf Changed RPL IPv6 NBR Callback print statement 2015-08-04 19:54:32 +01:00
Laurent Deru
1784338b2e Add uip_clear_buf() macro and replace all instances of uip_len = 0; with it 2015-06-15 11:10:51 +02:00
Nicolas Tsiftes
5a26d25647 Merge pull request #918 from cetic/pr-multi-dodag-support
Multi DODAG support
2015-05-26 16:32:10 +02:00
Nicolas Tsiftes
be891c0554 Merge pull request #915 from cetic/pr-rpl-default-route-infinite
Allow rpl default route lifetime to be infinite
2015-05-26 16:26:58 +02:00
Laurent Deru
9782a760b1 rpl_process_dio: Update parent rank 2015-05-22 17:21:53 +02:00
Laurent Deru
ccd3c58280 rpl_select_parent: Update dag rank according to new parent 2015-05-22 17:21:53 +02:00
Laurent Deru
fc8415e1ad Allow rpl default route lifetime to be infinite 2015-05-22 13:00:06 +02:00
Simon Duquennoy
fc178dab87 rpl_print_neighbor_list(): cast clock_time_t to unsigned for portable printout 2015-05-13 09:03:40 +02:00
Nicolas Tsiftes
05d2d843da Merge pull request #1053 from simonduq/rpl-probing
RPL probing
2015-05-10 17:22:10 +02:00
Nicolas Tsiftes
71427ed4cc Merge pull request #1016 from cetic/pr-cleanup-dodag-when-root
Remove all the DODAG from the instance when the node is set as Root
2015-05-10 17:15:25 +02:00
Nicolas Tsiftes
44af0fa66b Merge pull request #1003 from adamdunkels/pr/http-socket-dns64-tcp-socket
New HTTP socket, DNS64, IP64 Cooja tests
2015-05-10 17:14:31 +02:00
Nicolas Tsiftes
f8e13758e3 Merge pull request #1017 from cetic/pr-dont-delete-instance
Do not delete instance when a new DODAG can not be created
2015-05-10 15:09:59 +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
Adam Dunkels
4bd725130c Code for starting a RPL DAG root with a delay, to allow any existing RPL networks to be joined first 2015-05-10 10:51:12 +02:00
Adam Dunkels
06daa08ffc Added a function for getting the default RPL instance 2015-05-10 10:51:11 +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
Simon Duquennoy
be47673d40 Fix debug message 2015-05-08 14:28:38 +02:00
Nicolas Tsiftes
7d06494331 Merge pull request #917 from cetic/pr-hbh-user-conf
Allow user configuration of RPL hop-by-hop option
2015-04-03 22:19:51 +02:00
Laurent Deru
0efa9f2046 Allow user configuration of RPL hop-by-hop option 2015-04-03 09:52:36 +02:00
Nicolas Tsiftes
2734c97234 Merge pull request #914 from cetic/pr-always-send-no-path-dao
Send no-path DAO only when the dag has a preferred parent
2015-03-06 14:33:07 +01:00
Laurent Deru
9d94c4efae Remove all the DODAG from the instance when the node is set as Root 2015-03-04 09:55:11 +01:00
Laurent Deru
49bfb1308d Do not delete instance when a new DODAG can not be created 2015-03-04 09:43:28 +01:00
Nicolas Tsiftes
f9e5e24cf4 Merge pull request #895 from simonduq/rpl-single-dag
Do not use rpl_add_dag when RPL is used with a single dag per instance
2015-02-26 11:41:24 +01:00
Nicolas Tsiftes
d57634d417 Merge pull request #936 from skaterdude/master
Update rpl.c and uip.c (in ipv4)
2015-02-17 09:03:55 +01:00
kshpylon
db444e14c3 Update rpl-icmp6.c 2015-02-11 17:26:51 +09:00
Nicolas Tsiftes
5de85e5335 Merge pull request #906 from joakimeriksson/rpl-conf-copy
fixed so that trickle timer and route lifetime rpl config is updated at global repair
2015-02-07 21:23:29 +01:00
Joakim Eriksson
6edccf35a6 fixed so that trickle timer rpl config is updated at global repair 2015-02-06 13:50:26 +01:00
Nicolas Tsiftes
010a338630 Merge pull request #904 from joakimeriksson/move-etx
moved ETX storage variable from RPL to ds6-nbr
2015-02-06 12:25:35 +01:00
Joakim Eriksson
e7fc14c7a1 fixed comments 2015-02-06 09:22:16 +01:00
Roger S
605551f62c Update rpl.c
Removed change to "a RPL"
2015-01-04 23:54:02 -05:00
Roger S
d62f51d9e7 Update rpl.c
Very minor grammar / spelling edits to comments
2015-01-04 18:09:47 -05:00
Nicolas Tsiftes
7841eface3 Merge pull request #911 from cetic/pr-reset-dao-flag
Reset nopath_received flag when new DAO is received
2015-01-03 11:38:35 +01:00
Nicolas Tsiftes
79517eb477 Merge pull request #910 from cetic/pr-dio-suppr-disabling
Allow disabling of DIO suppression as required by RFC
2015-01-03 11:35:08 +01:00
Nicolas Tsiftes
f2f49f18f5 Merge pull request #913 from cetic/pr-rpl-stats
Fix and add more RPL stats
2014-12-19 22:15:38 +01:00
Laurent Deru
bb1e0c1cbc Add missing return values in rpl_update_header_empty() 2014-12-19 11:23:19 +01:00
Laurent Deru
81a92bd692 Send no-path DAO only when the dag has a preferred parent 2014-12-19 10:53:01 +01:00
Laurent Deru
ccbfa388f6 Add more RPL stats 2014-12-19 10:51:03 +01:00
Laurent Deru
21253370b8 Reset nopath_received flag when new DAO is received 2014-12-19 10:49:56 +01:00
Laurent Deru
d540d2b5af Allow disabling of DIO suppression as required in RFC 2014-12-19 09:51:26 +01:00
Adam Dunkels
fc4a83085a style fixes, cherry-pick this and fixup with ae87790 2014-12-10 09:32:06 +01:00
Joakim Eriksson
5be43c6f8d moved ETX storage variable from RPL to ds6-nbr 2014-12-10 09:11:53 +01:00
Simon Duquennoy
29d631c6f5 Do not use rpl_add_dag when RPL is used with a single dag per instance 2014-12-03 17:40:40 +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
Nicolas Tsiftes
63563ed8df Merge pull request #652 from cetic/pr-rpl-rank-and-fw-errors
RPL rank and forward errors
2014-12-01 17:41:51 +01:00
Niclas Finne
d160943f16 Bug fix: Stop the DAO lifetime timer in RPL instances when released.
Clearing the memory for an active etimer/ctimer might corrupt the
timer list and cause other timers to be lost or infinite loops. The
DAO lifetime timer is only used when RPL route lifetime is not
infinite but then the timer will cause problems if not stopped.
2014-11-29 00:22:34 +01:00
Laurent Deru
29f894c07e Drop forwarding error packet and send back DAO to originating parent 2014-11-14 09:40:05 +01:00
Laurent Deru
a964380155 Rank error packet should not be forwarded 2014-11-14 09:40:04 +01:00
Laurent Deru
778d40dab7 Do not trigger global repair when forwarding error is detected 2014-11-14 09:40:04 +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
Laurent Deru
02972e6514 Improve RPL hop-by-hop option detection 2014-06-27 09:45:57 +02:00
Laurent Deru
d45782fbcd Insert properly Hop-by-Hop option at first hop 2014-06-27 09:45:51 +02:00
Laurent Deru
2dfe2c377f Setting uip_ext_len again breaks hop-by-hop option 2014-06-27 09:43:53 +02:00
Laurent Deru
b6742e5eb5 Sender rank in Hop-by-Hop option has inverted bytes 2014-06-27 09:43:53 +02:00
George Oikonomou
32bc98b0da Fix code style in rpl_set_root prototype 2014-06-11 23:59:17 +01:00
Adam Dunkels
0516927677 Merge pull request #666 from simonduq/rpl-etx-init
Set initial link ETX to 2
2014-06-11 22:42:48 +02:00
Rémy Léone
25c8b0835d Closing doxygen groups 2014-05-30 11:01:20 +02:00
Nicolas Tsiftes
443bbd3948 Merge pull request #664 from simonduq/rpl-link-metric-init-fix
RPL MRHOF: bypass EWMA when setting a parent's link metric for the first time
2014-05-14 16:42:29 +02:00
Simon Duquennoy
5aab392a22 Set default link ETX to 2 2014-05-07 16:27:24 +02:00
Nicolas Tsiftes
f34165bda4 Merge pull request #647 from cetic/pr-select-dag-fix
rpl_select_parent: Only check parents belonging to the given dag
2014-05-07 16:13:47 +02:00
Nicolas Tsiftes
812a0299a8 Merge pull request #649 from cetic/pr-dio-preference-fix
Add user configuration of DIO preference field
2014-05-07 16:12:56 +02:00
Simon Duquennoy
33cfd92475 RPL MRHOF with ETX: bypass weighted moving average when setting a parent's link metric for the first time 2014-04-29 16:25:16 +02:00
Laurent Deru
3b503da680 Add user configuration of DIO preference field 2014-04-18 16:26:23 +02:00
Laurent Deru
3fb0d69be6 Remove duplicated configuration parameters definition 2014-04-18 15:37:31 +02:00