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
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
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
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
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
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
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
Simon Duquennoy
47ba4c0c4b
Implement RPL probing
2015-05-08 14:32:00 +02:00
kshpylon
db444e14c3
Update rpl-icmp6.c
2015-02-11 17:26:51 +09:00
Laurent Deru
21253370b8
Reset nopath_received flag when new DAO is received
2014-12-19 10:49:56 +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
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
Nicolas Tsiftes
ce2ed95b93
Merge pull request #585 from g-oikonomou/generic-icmp6-in-hooks
...
Generic ICMPv6 input hooks
2014-04-14 16:12:10 +02:00
George Oikonomou
017697f91d
Register generic ICMPv6 handlers for RPL
2014-04-04 00:09:27 +01:00
Nicolas Tsiftes
0a202d3952
Cleaned up some of the comments and output strings.
2014-03-28 13:38:52 +01:00
Nicolas Tsiftes
7f4d3e3d7b
Avoid calling rpl_lock_parent for uninitialized memory. Renamed p to parent to make reading easier.
2014-03-27 15:55:38 +01:00
George Oikonomou
da4ce5b54d
RPL Multicast group management with MOP 3
2014-03-05 20:31:15 +00:00
George Oikonomou
067bbc9ee0
Check for DAO fwd loop early, before processing DAO options
2014-03-05 20:18:14 +00:00
Adam Dunkels
5f3fe7f7c7
Updated include paths for the moved files under net/
2014-01-26 23:20:23 +01:00
Adam Dunkels
b0460317b8
Moved variable declaration to the start of the function block
2013-11-24 15:17:52 +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
af24d07848
Forward no-path DAOs up the tree to allow the root to repair the network if needed
2013-11-24 15:17:52 +01:00
Adam Dunkels
4e6fe7dda6
Add a neighbor table entry if a DAO is received from a node where we don't yet have a neighbor table entry.
2013-11-24 15:17:52 +01:00
Sébastien Dawans
a60d3bf6cf
Removed duplicate code in rpl-icmp6
2013-10-23 15:43:16 +02:00
Adam Dunkels
4d0ecaae02
Make sure our parent's IP address isn't NULL.
2013-08-19 17:48:32 +02:00
Adam Dunkels
e5a6565137
Loop detection via DAO: if we get a DAO from a parent, that parent thinks we are its parent. We poison it and recalulate our parents.
2013-08-19 17:48:32 +02:00
Adam Dunkels
a027832f94
Fixed a bunch of compiler warnings
2013-08-19 17:48:31 +02:00
Adam Dunkels
c52fc2fd19
Defensive programming: check for the argument being NULL.
2013-08-19 17:48:31 +02:00
Adam Dunkels
82e8eb420d
Added and updated debugging printouts and reformatted code to make it a little easier to read.
2013-08-19 17:48:31 +02:00
Simon Duquennoy
c50d10aa53
Make RPL use neighbor tables. RPL locks the neighbor used as preferred parent.
2013-08-19 17:48:30 +02:00
Simon Duquennoy
09d26f8060
Make uip-ds6-route use neighbor table. Instead of storing a global list of routing entries that contain both the next hop and the destination, we have a separate list of reachable destination for each neighbor in the global table.
2013-08-19 17:48:30 +02:00