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
797bead5e5
RPL: if a neighbor is unreachable, remove routes via this neighbor
2016-06-03 18:43:36 +02:00
Simon Duquennoy
8ae00caea8
RPL: more robust configuration of mrhof in the squared ETX case
2016-06-03 18:43:35 +02:00
Simon Duquennoy
e6cd029090
rpl_remove_routes_by_nexthop: expire routes rather than remove then directly. The routes will be removed later and No-path DAOs sent accordingly in rpl_purge_routes
2016-06-03 18:43:28 +02:00
Simon Duquennoy
d008bf8a76
Fix rpl_select_parent in the non-probing case
2016-06-03 16:44:14 +02:00
Simon Duquennoy
43b01b3236
RPL: if the best parent is not fresh, use the best fresh instead and utilize urgent probing to update link estimates
2016-06-03 16:44:14 +02:00
Simon Duquennoy
b42b12d7c8
Adsjut dao_ack_callback to new OFs
2016-06-03 16:44:13 +02:00
Simon Duquennoy
f18a4fdd7b
Adjust RPL neighbor policy to new OF interface
2016-06-03 16:44:12 +02:00
Simon Duquennoy
75967438e3
RPL ext header: check if sender is closer only after updating its rank
2016-06-03 16:44:11 +02:00
Simon Duquennoy
36dd282eb7
RPL: reset Trickle timer on incoming DIOs with INFINITE_RANK only if the DIO is from the preferred parent
2016-06-03 16:44:10 +02:00
Simon Duquennoy
65b854fcee
RPL: trigger a local repair only the first time no parent is found in a DODAG
2016-06-03 16:44:09 +02:00
Simon Duquennoy
b176991a06
Compile out code related to RPL probing when probing is disabled
2016-06-03 16:44:09 +02:00
Simon Duquennoy
6349019384
Fine tuning of link stats and RPL OFs
2016-06-03 16:44:08 +02:00
Simon Duquennoy
0d7e1e8be4
Fix PRINTF statement in rpl-timers.c
2016-06-03 16:44:07 +02:00
Simon Duquennoy
64679642f2
Saving ROM and RAM
2016-06-03 16:44:06 +02:00
Simon Duquennoy
7855ba20ba
RPL: Check acceptable_rank even after first obtaining a parent. Added comment on a slight departure from RFC6550.
2016-06-03 16:44:05 +02:00
Simon Duquennoy
d53a3a3df2
RPL: logging fixes
2016-06-03 16:43:58 +02:00
Simon Duquennoy
cd76b4b1c2
RPL: support for run-time selection of the OF. RPL_OF_OCP defines the OF to be advertised at the root, while RPL_SUPPORTED_OFS defines the set of supported OFs
2016-06-03 15:46:08 +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
Simon Duquennoy
4e9b027141
rpl.h: updated constants and comments to match the standard
2016-06-03 15:46:03 +02:00
Nicolas Tsiftes
70abb211e3
Merge pull request #1635 from simonduq/pr/dao-no-k-flag-in-nopath
...
RPL: do not add K flag to no-path DAO as we discard the ACK anyway
2016-04-28 14:45:01 +02:00
Antonio Lignan
6afd56e0ee
Merge pull request #1634 from simonduq/pr/daoack-fix
...
DAO ACK fix
2016-04-27 23:47:07 +02:00
Simon Duquennoy
ace607a32d
Fix RPL default lifetime
2016-04-27 17:04:29 +02:00
Simon Duquennoy
4392507019
RPL: do not add K flag to no-path DAO as we discard the ACK anyway
2016-04-27 14:20:39 +02:00
Simon Duquennoy
0379398d7c
RPL DAO ACK: increment DAO seqno before storing it to my_dao_seqno
2016-04-27 14:05:16 +02:00
Simon Duquennoy
f47c0f579d
RPL DAO ACK: improve logging
2016-04-27 14:05:08 +02:00
Simon Duquennoy
f8c4d1155f
Disable RPL DAO ACK by default
2016-04-23 07:54:32 +02:00
Joakim Eriksson
12a75c3e43
fixed codestyle, improved APIs, and cleaned up comments
2016-03-26 20:12:52 +01:00
Joakim Eriksson
12ac02650b
fixed a bug in nbr policy and DAO retransmission handling and added new wismote simulation
2016-03-26 09:45:39 +01:00
Simon Duquennoy
e1f9369a09
RPL DAO-ACK: move initialization of current ougoing DAO from da_output to dao_output_target_seq
2016-03-26 09:45:38 +01:00
Simon Duquennoy
19b04098d5
Improved RPL debug logs
2016-03-26 09:45:38 +01:00
Simon Duquennoy
6fa3479aa8
RPL: improved debug messages for No-Path DAOs
...
Conflicts:
core/net/rpl/rpl-icmp6.c
2016-03-26 09:45:38 +01:00
Joakim Eriksson
09c624dcd3
fixed clearing of state flag and avoid starting retransmission timer
2016-03-26 09:45:38 +01:00
Joakim Eriksson
8afe3fb9b7
fixed so that DAO NACK now is either for the path or for RPL root - if from root then do not try to switch parent since that will not help
2016-03-26 09:45:38 +01:00
Joakim Eriksson
13b8c04c6f
fixed so that nbr policy for RPL Root do not save room for parents
2016-03-26 09:45:38 +01:00
Joakim Eriksson
1fcef0f90d
added function for checking downward route and added configuration for DAO NACK repair - default off
2016-03-26 09:45:38 +01:00
Joakim Eriksson
444015df67
refactored the rpl-nbr-policy to be called from nbr-table module
2016-03-26 09:45:37 +01:00
Joakim Eriksson
be81d1d2c6
added uip_clear_buf to avoid the risk of sending received packets
2016-03-26 09:45:37 +01:00
Joakim Eriksson
01930d4a64
changed default configuration of RPL route lifetime
2016-03-26 09:45:37 +01:00
Joakim Eriksson
cd98b8b40e
added periodic debug printout of number of used neighbors and routes
2016-03-26 09:45:36 +01:00
Joakim Eriksson
fa1b70b723
added configuration of DAO route refresh for broadcast DIOs
2016-03-26 09:45:36 +01:00
Joakim Eriksson
3fd8c4db2d
added nbr policy for Contiki RPL that avoids thrashing the nbr table with new entries all the time
2016-03-26 09:45:36 +01:00
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