Commit graph

196 commits

Author SHA1 Message Date
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
b6c54faf9d Adds default route lifetime update in RPL DIO processing 2013-03-09 16:27:37 +01:00
Sébastien Dawans
95ab192e88 Makes RPL Initial Link Metric configurable 2013-02-01 09:02:31 +01: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
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
nvt
534c734465 Removed redundant code and improve code style and documentation. 2012-04-22 00:18:07 +02:00
nvt
eda6b7c318 Use LIST_STRUCT macros. Made get_dag a static function. 2012-04-17 23:35:19 +02:00
nvt
80097f2c65 Removed some redundant code and fixed coding style. 2012-04-17 23:12:47 +02:00
nvt
ed37e983f6 Refuse to allocate more parents for a specific DAG when the per-DAG limit has been reached. 2012-04-17 22:59:42 +02:00
nvt
3860e798ac Merge branch 'master' of ssh://contiki.git.sourceforge.net/gitroot/contiki/contiki 2012-03-05 01:49:55 +01:00
nvt
217a4e54ca Merge branch 'master' of ssh://contiki.git.sourceforge.net/gitroot/contiki/contiki 2012-02-22 19:28:49 +01:00
Joakim Eriksson
2752337e69 fixed lollipop counter 2012-02-21 13:20:20 +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
nvt
82a7c93b47 Check return value. 2012-01-30 23:51:07 +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
Mariano Alvira
c9ac19b919 Allocate the default_instance pointer in rpl-dag.c instead of the
header file to fix "multiple definition of `default_instance'" errors.
2011-12-09 08:36:23 -05:00
nvt
e11b7d4fb6 Removed redundant code 2011-11-22 14:18:32 +01:00
Nicolas Tsiftes
cef95ebf9b Inverted DAG ID check 2011-11-21 15:50:19 +01:00
Nicolas Tsiftes
2b1549bfe8 Continued merge with sf master 2011-11-21 15:25:13 +01:00
Nicolas Tsiftes
0e32956a63 Merge remote-tracking branch 'sf/master' into rpl-patch 2011-11-21 14:59:31 +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
Joakim Eriksson
17bbb1f1c1 fixed so that rpl avoids sending no-path DAOs when changing parent when in NO_DOWNWARD mode of operation 2011-10-17 14:16:19 +02:00
Joakim Eriksson
ab049ec704 some fixes to cut some extension headers before TCP processing 2011-09-22 17:22:59 +02:00
Joakim Eriksson
62705a17ea Send DAOs if dtsn differs instead of only when larger than last dtsn in DIO 2011-09-05 11:36:53 +02:00
Vincent Brillault
d7c114dbd8 RPL prefix handling fix : Change IP on DODAG change, delete IP when leaving DODAG. 2011-07-13 10:42:59 +02: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
15ee0a6414 Send No-Path DAOs correctly. 2011-05-03 17:50:24 +02:00
Joakim Eriksson
02fcf5835a fixed RPL to handle inifinite rank better 2011-04-07 17:44:07 +02:00
Joakim Eriksson
d8e54ca585 fixed for compilation with IAR compiler 2011-04-06 20:14:30 +02:00
Nicolas Tsiftes
65366d10c1 Update the metric container correctly. Use only one ETX initializer. 2011-03-16 13:29:01 +01:00
Joakim Eriksson
5f4d4550fc fixed RPL statistics bug and added parent switch stats 2011-03-15 14:14:41 +01:00
Joakim Eriksson
68e9fb2a5c added annotate when setting root and joining dag 2011-02-22 16:19:42 +01:00
nvt
e9234a8404 Error: the value was printed before setting it 2011-02-22 02:01:15 +01:00
Lionel Debroux
5cb49e8b07 Several compiler warning fixes:
* msp430: fix "implicit declaration of function" warnings in clock.c, by including watchdog.h;
     * sky: fix a couple pointer target signedness warnings;
     * core: fix several signed/unsigned comparison warnings;
     * framer-802154: "const static" -> "static const" to fix compiler warnings;
     * core: comment or remove unused variables and function definitions.

Signed-off-by: Lionel Debroux <lionel_debroux@yahoo.fr>
Signed-off-by: Mariano Alvira <mar@devl.org>
2011-02-20 19:28:14 -05:00
nvt
01b7a4f7f2 Replaced ROOT_RANK with a macro that allows for other min_hoprankinc parameters than the default. Also made some minor style improvements. 2011-02-20 20:15:40 +01:00
nvt
99d0387a8e Merge branch 'master' of github.com:adamdunkels/contiki-2.x 2011-02-15 01:13:41 +01:00
nvt
a093c262ee Improved objective function API so DAG metric containers can be generated cleanly. The packet generation now asks the OF to provide a fresh logical presentation of the metric container, which is then translated to raw packet format. 2011-02-15 01:13:30 +01:00
Adam Dunkels
db37e38156 Make sure we don't remove the preferred parent 2011-02-14 23:01:11 +01:00
nvt
539ff33104 Turn off debugging 2011-02-13 21:36:07 +01:00
nvt
5ec2f19dc9 Remove only the worst parent if the table is full when processing a DIO. 2011-02-13 21:33:47 +01:00
Adam Dunkels
acb5480aa9 Changed the name of macros defined in neighbor-info.h to have the NEIGHBOR_INFO prefix. 2011-02-13 21:21:14 +01:00
Adam Dunkels
15bf73ba08 Use DAG_RANK() macro to compute rank 2011-02-13 19:01:15 +01:00
Adam Dunkels
e980072817 Don't add neighbor as a potential parent if its rank is too high. 2011-02-13 18:05:28 +01:00
Adam Dunkels
2a96835c05 Don't remove all parents that have a worse rank than an incoming DIO: we may inadvertently remove our preferred parent. Instead, remove parents with a rank that is worse than our preferred parent. If we are lucky, this will give us enough space for the new parent. 2011-02-13 14:16:15 +01:00
nvt
20171985c6 Split the RPL header into a private and a public header. 2011-02-11 16:21:17 +01:00
Adam Dunkels
706045120f Changed the variable name local_confidence to etx to better reflect what it was used for 2011-02-11 14:18:57 +01:00
Joakim Eriksson
d518c84471 made rank calculation depend on selected parent when joining DAG 2011-02-08 19:59:50 +01:00
nvt-se
7a43b7d832 Configuration of the objective function made easier. Updated OF0 to the new rank calculation. 2011-01-04 20:43:28 +00:00
nvt-se
8f76c82433 Improved DAO management. 2010-12-17 15:24:25 +00:00
joxe
3e293e6cfc updated rpl dio message format to be compliant with latest version 2010-12-13 10:59:37 +00:00
nvt-se
c9cc87ef25 Added support for Mode of Operation flags in DIOs. Removed obsolete destination advertisement flags. 2010-12-13 10:54:25 +00:00
joxe
aa1795d5c2 removed route annotation from rpl - moved to ds6 2010-12-10 22:48:31 +00:00
adamdunkels
9750eb93bf Turn off debug messages 2010-11-03 15:41:23 +00:00
nifi
25ceab07d2 Update annotation when removing preferred parent. 2010-10-27 12:27:57 +00:00
nifi
d2a3f1f257 We found that the preferred parent should be reset in the rpl_remove_parent function. 2010-10-27 12:20:35 +00:00
nvt-se
d528039f9a Created a separate function for local repair. Added a statistics structure. Improved the control of malformed packets. 2010-10-27 00:46:40 +00:00
nvt-se
127c87efcc Fixed debug printfs. Added control of max_rankinc parameter. 2010-10-25 20:03:37 +00:00
nvt-se
00a000cca0 Print the rank correctly in the debug output. 2010-10-22 15:40:10 +00:00
nvt-se
adf6961a85 Various bug fixes and adjustments for rpl-11 2010-09-15 13:22:22 +00:00
nvt-se
11760059d3 The second predicate is not needed. 2010-07-03 23:52:02 +00:00
nvt-se
007d4a4001 Improved logic for processing DIOs 2010-06-28 14:51:23 +00:00
nvt-se
fad2b1def9 Clarified the function naming for neighbor information callbacks - names now indicate where the information is from. 2010-06-14 18:35:04 +00:00
nifi
7499939c94 removed debug output 2010-06-14 13:07:09 +00:00
nvt-se
e000b1abf3 A major update to ContikiRPL resulting in a reduced code footprint by
300 bytes, as well as cleaner protocol logic.

* Made parent management uniform.

* Simplified the DIO processing.

* Improved the Objective Function API and its documentation.

* Removed redundant code at various places.

* Improved identifier naming.

* Switched visualization from candidate parents to preferred parents only.

* Made DAO ACK transmissions configurable.

* Improved initial ETX guess by using a cached local confidence value.

* Added a periodical rank recalculation function to reduce
  the maximum stack depth.

* Increased the Trickle redundancy constant to ensure faster
  topological updates.
2010-06-14 12:44:37 +00:00
adamdunkels
a890cd3d49 Moved ctimer.[ch] from their old and illogical location in core/net/rime to a more appropriate place in core/sys 2010-06-14 11:33:58 +00:00
nvt-se
b1521e4950 Check correctly if a DAG already exists in the same instance. 2010-06-08 21:37:22 +00:00
nvt-se
4a08f545c9 Make the distinction between incoming and outgoing DTSN clear. 2010-06-08 16:21:54 +00:00
nvt-se
b8848f29eb Replaced invalid attempt to switch preferred parent when its DS6 neighbor entry got purged. 2010-06-08 15:40:50 +00:00
nvt-se
4e61d69a49 Removed redundant code, moved the control of acceptable rank increases into a separate function. 2010-06-07 14:01:22 +00:00
nvt-se
c6c6760838 Validate incoming DTSN value 2010-06-07 13:40:05 +00:00
nvt-se
e5fd1f47fa Copy the DTSN from the DIO when joining a DAG. 2010-06-07 11:36:02 +00:00
nvt-se
3748f782c5 Added basic functionality for DAO ACKs and DTSN. Randomized DAO timer. 2010-06-06 21:42:50 +00:00
joxe
17209e8fa4 moved code for autoconfiguring global address into join_dag 2010-06-03 18:37:47 +00:00
nvt-se
c201058325 Purge all routes related to a DAG being freed. Do not send no-DAOs when doing a global repair. 2010-06-03 15:20:56 +00:00
nvt-se
f52e97111f Made the remove_parents function more powerful by adding a flag that indicates whether no-DAOs should be sent or not. Fixed some style issues and a possible NULL pointer dereference. 2010-06-03 12:55:09 +00:00
joxe
62abed8347 fixed a minor bug causing too low rank during global repair 2010-06-02 16:54:59 +00:00
joxe
941443878b fixed rank calculation bug in of-etx 2010-06-02 16:23:08 +00:00
joxe
f069320ca9 removed sequence_number and replaced with version - fixing global repair functionality 2010-06-02 11:59:51 +00:00
joxe
fec0e8df69 changed RPL to be more 08 compliant - DIO and DIO options are formatted as in RPL-08 2010-06-01 22:30:02 +00:00
nvt-se
c13bb8666b Better validation of incoming DIOs. Added a reset function to the OF API. 2010-05-31 14:22:00 +00:00
nvt-se
f135105567 Added support for multiple objective functions.
Extended the objective function API with a callback function that receives link-layer neighbor information.

Throttled DAO transmissions to one per DEFAULT_DAO_LATENCY period.

Added support for an ETX objective function (hysteresis control still lacking though).

Fixed a leak of routes installed by DAOs.

Control that dst_adv_supported is set before sending DAOs.

Improved debugging output.
2010-05-29 22:23:21 +00:00
nvt-se
320fa820ca Renamed neighbors to parents. Removed redundant code. Corrected the logic for max rank increase. 2010-05-25 21:58:54 +00:00
joxe
34b8313fb6 added experimental support for disseminating autoconf prefix via DIO suboption 2010-05-25 19:19:43 +00:00
nvt-se
c5d1c3ea27 Improvements to local repair and DAO handling. 2010-05-24 16:38:56 +00:00
nifi
7aeb206840 Added isinfinite to uip_ds6_defrt_t to handle infinite life time 2010-05-10 13:46:35 +00:00
joxe
058ef029e4 replaced hardcoded value with constant for route lifetime 2010-05-10 11:16:35 +00:00
fros4943
bc0ea1f81d bug fix: dag pointer may be NULL 2010-05-07 13:51:34 +00:00
nvt-se
361e210751 Improvements to style and commentary. 2010-05-04 22:55:32 +00:00
joxe
01881f92a8 added missing include 2010-05-04 14:41:55 +00:00
joxe
168a65d989 added ContikiRPL - an implementation of IETF ROLL RPL 2010-04-30 13:43:53 +00:00