Adam Dunkels
86e247025a
Removed debugging printout that came before a local variable declaration, which seems to have broken sdcc
2013-08-19 17:48:33 +02:00
Adam Dunkels
d0a939afb0
Bugfix: must multiply with ETX divisor to turn into fixed-point format.
2013-08-19 17:48:32 +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
34119b7ef2
Poor man's loop reparation: reset the DIO timer and hope the neighbor learns a better route.
2013-08-19 17:48:32 +02:00
Adam Dunkels
d830e9df3f
Implement forwarding error handling: if a packet changes direction, we set the FWD_ERR flag. If we see the FWD_ERR flag, we drop the route that we sent it to. If we are the root node, we also initiate a global repair.
2013-08-19 17:48:31 +02:00
Adam Dunkels
abb3ef9b3b
Bugfix: don't set the parent if the dag is NULL
2013-08-19 17:48:31 +02:00
Adam Dunkels
a027832f94
Fixed a bunch of compiler warnings
2013-08-19 17:48:31 +02:00
Adam Dunkels
9a74ada90c
Added a function rpl_get_parent_link_metric() for obtaining the link metric of a given parent
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
b42ccaed1b
Added function prototypes to a number of functions with void arguments
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
248301a041
Fix naming issues and includes in uip-ds6-nbr.h
2013-08-19 17:48:30 +02:00
Simon Duquennoy
c3f62b24c8
Moved ETX management from neighbor-info to rpl-of-etx. Avoids conversions between different fixed point representations, and simplifies neighbor management. Makes more clear how default-ETX and noack-ETX actually affect the rank. Removed neighbor-info and neighbor-attr.
2013-08-19 17:48:30 +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
Simon Duquennoy
ec609b49eb
Make DS6 neighbors use neighbor-table, and move all DS6 neighbor management from uip-ds6 to a new uip-ds6-neighbor module.
2013-08-19 17:48:30 +02:00
Adam Dunkels
54f2109134
Merge pull request #290 from simonduq/rpl-mrhof-etx-nomc
...
Update of RPL MRHOF (use no metric container with ETX [RFC6719])
2013-07-29 00:56:25 -07:00
Nicolas Tsiftes
d228cb57a5
Merge pull request #301 from adamdunkels/hotfix-rpl-max-dio
...
RPL bugfix: don't ignore infinite rank DIOs
2013-07-26 06:48:26 -07:00
Adam Dunkels
500d9cc3e4
Merge pull request #300 from cetic/rpl-nopath-dao
...
RPL No-Path DAOs
2013-07-26 03:53:56 -07:00
Adam Dunkels
4913792d41
Minor code style fix
2013-07-26 12:38:43 +02:00
Adam Dunkels
512a339c50
Bugfix: DIOs with infinite ranks should not be ignored as they are used by RPL as a signal by nodes that have lost their routes. Instead of ignoring them, we should send out our latest information to let the node with infinite rank find their way into the network again.
2013-07-26 12:38:25 +02:00
Sébastien Dawans
a05d635512
Improve readability of DAO output variables
2013-07-25 11:22:38 +02:00
Sébastien Dawans
0bd26d83c8
Ignore No-Path DAO if target is already reachable through a different route than the DAO sender
2013-07-25 11:21:04 +02:00
Sébastien Dawans
c4a121bf18
No-Path DAO Propagation
2013-07-25 11:19:56 +02:00
Jens Dede
2f1bf730af
Adapted comment
2013-07-23 20:01:10 +02:00
Simon Duquennoy
defcc639ce
Use no metric container when having MRHOF with ETX, as specified in RFC6719. Renamed rpl-of-etx to rpl-mrhof.
2013-07-23 19:36:38 +02:00
Jens Dede
9dd5af78c8
fix: default routes are removed correctly if no DAG with preferred parent is available
2013-07-23 15:35:47 +02:00
Sébastien Dawans
1be01a9c90
Support prefix udpates with PIO Handling
2013-05-19 10:51:57 -04: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
Sébastien Dawans
e02d480ff5
Moved RPL Lifetime configuration to rpl-conf.h
2013-03-09 16:28:43 +01:00
Sébastien Dawans
b6c54faf9d
Adds default route lifetime update in RPL DIO processing
2013-03-09 16:27:37 +01:00
Sébastien Dawans
aaf5deabe2
Allow user configuration of RPL Lifetime and Lifetime Unit
2013-03-09 16:27:37 +01:00
Adam Dunkels
373b6c0195
Merge pull request #90 from simonduq/rpl-conf
...
Added missing include of contiki-conf.h in rpl-conf.h
2013-03-09 05:55:56 -08:00
Adam Dunkels
ea92365cd4
Merge pull request #102 from cetic/rpl-conf-init-link-metric
...
Makes RPL Initial Link Metric configurable
2013-03-09 05:52:07 -08:00
Adam Dunkels
80982f97b8
Merge pull request #125 from nfi/lollipop
...
Bug fix: corrected the macro RPL_LOLLIPOP_INCREMENT
2013-03-09 05:49:06 -08:00
Mariano Alvira
03fdb53af1
Add some debug PRINTFs for RPL_LEAF_ONLY mode.
2013-02-20 18:25:32 -05:00
Niclas Finne
26fc2fab87
Bug fix: changed the macro RPL_LOLLIPOP_INCREMENT to update the counter instead of returning the new value since this is how the macro is used today.
2013-02-12 16:06:04 +01:00
Sébastien Dawans
95ab192e88
Makes RPL Initial Link Metric configurable
2013-02-01 09:02:31 +01:00
Simon Duquennoy
7c64a114aa
Added missing include of contiki-conf.h
2013-01-23 16:11:02 +01:00
George Oikonomou
68f59113d6
Fix a route lifetime bug
...
There is a bug in the current route purge routine which would
result in a route's lifetime getting decremented more than once
during the same pass. This commit fixes it
The bug is documented here:
http://thread.gmane.org/gmane.os.contiki.devel/16209
2012-12-20 00:17:33 +00:00
Adam Dunkels
edf141046b
Clean up of a few missing printf() that were converted into PRINTF()s
2012-11-27 23:04:34 +01:00
Adam Dunkels
afe13b22bc
Rewrote the uIP IPv6 route handling code. Instead of being nested deeply inside the uip-ds6.c file, the route management code is now in a separate file, uip-ds6-route.c. This file presents a lib/list.h API for the routes, which makes the route list much easier to use. Additionally, the uip-ds6-route.c file adds a callback API that invokes a callback when routes are added and removed.
2012-11-27 23:04:33 +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
8538aaf655
Made RPL DAO latency configurable
2012-11-27 23:04:31 +01:00
Adam Dunkels
357b13b3d3
Correctly handle upward and downward routes according to Section 1.2 of RFC6550
2012-11-27 23:04:31 +01:00
Adam Dunkels
15deb37e64
Updated DAG version processing to occur even for infinite rank DIOs. This makes it possible for the RPL root to infer the DAG version number from a network that hasn't had a root for a while, and where the rank has increased to infinity.
2012-11-27 23:04:30 +01:00
Adam Dunkels
db7cb567f5
Updated the RPL code to better match the Contiki code style
2012-11-27 23:04:30 +01:00
Rémy Léone
e378f171d6
chmod correction
2012-10-29 14:15:38 +01:00