Commit graph

233 commits

Author SHA1 Message Date
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
Niclas Finne d3b4efa06f removed obsolete function declaration 2012-04-24 14:08:40 +02:00
nvt 534c734465 Removed redundant code and improve code style and documentation. 2012-04-22 00:18:07 +02:00
nvt e94718f95c Separated configuration into a new file called rpl-conf.h. Improved the documentation. 2012-04-22 00:17:10 +02:00
nvt eda6b7c318 Use LIST_STRUCT macros. Made get_dag a static function. 2012-04-17 23:35:19 +02:00
nvt 3d0d2c284f Changed function names. 2012-04-17 23:34:47 +02:00
nvt 80097f2c65 Removed some redundant code and fixed coding style. 2012-04-17 23:12:47 +02:00
nvt 6071b5aee7 Remove obsolete support for broadcast DAOs. 2012-04-17 23:04:20 +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 9fb93cd7b7 Merge branch 'master' of ssh://contiki.git.sourceforge.net/gitroot/contiki/contiki 2012-03-12 19:23:37 +01:00
Matthias Kovatsch 87cd18539b Eliminated RPL_CONF_ADJUST_LLH_LEN correction by using uip_l3_icmp_hdr_len instead of uip_l2_l3_icmp_hdr_len. 2012-03-08 00:48:04 +01: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 5a65e3cc8b tuned RPL parameters and improved calculation of path etx 2012-02-21 19:06:58 +01:00
Joakim Eriksson 2752337e69 fixed lollipop counter 2012-02-21 13:20:20 +01:00
Joakim Eriksson 729a434d0f always send DAO to refresh routes 2012-02-29 15:01:59 -08: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 16c437da7e Adjust for the multi-instance structures. 2012-02-27 23:03:52 +01:00
Joakim Eriksson 6ee05f4a2d fixed loop detection bug in RPL 2012-01-13 05:37:30 -08:00
Joakim Eriksson 237100f6fa changed so that ext hdr len code checks against buffer size instead of link mtu 2012-01-10 15:51:06 +01:00
nvt d89a4ef4fd Simplified best_dag function and fixed the previous incomplete commit. 2012-01-04 14:13:54 +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
Mariano Alvira 1086299f25 fix typo 2011-12-09 08:23:43 -05:00
Nicolas Tsiftes 23a280e5eb Refactored loop detection. 2011-12-02 16:16:42 +01:00
Nicolas Tsiftes ac869185c0 Refactored header management. 2011-12-02 15:55:07 +01:00
Nicolas Tsiftes 7c808081d6 Coding style 2011-11-23 14:36:50 +01: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
Nicolas Tsiftes b405571e32 Update next-hop address for existing routes. 2011-11-16 09:05:34 +01:00
Nicolas Tsiftes ef0ce944e5 Split management of extension headers into a separate file and fixed coding style. 2011-11-16 09:00:19 +01:00
Joakim Eriksson 2a94b3ce82 added debug callbacks 2011-10-27 12:32:16 +02: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
nvt ab0c04b041 Move 16-bit integer conversion operations into functions, as is done already with 32-bit ops. 2011-09-06 17:28:39 +02:00
nvt 644f1c627d Initialize the DIO object in case options are missing. Updated the terminology regarding options. 2011-09-05 20:28:50 +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 4f76130a77 Changed Instance structure in order to decrease memory waste. 2011-07-13 10:28:56 +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 77a44c560a The flags field got widened to 9 bits. 2011-06-28 17:49:32 +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
David Kopf c48b7ab78d Add RPL nodes and border router to minimal-net platform (cygwin only) 2011-06-28 08:19:48 -04:00
nvt 15ee0a6414 Send No-Path DAOs correctly. 2011-05-03 17:50:24 +02:00
nvt 4b5d380c74 Announce MAX_PATH_COST if we don't have a preferred parent. 2011-04-25 22:37:25 +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
Joakim Eriksson 26f0a6e88e changed ext to link_metric 2011-03-28 16:17:53 +02:00
nvt cdaf58f892 Merge branch 'master' of ssh://contiki.git.sourceforge.net/gitroot/contiki/contiki 2011-03-17 20:23:53 +01:00
nvt 8078ef7705 ROOT_RANK is now a macro function. 2011-03-17 20:21:56 +01:00
Nicolas Tsiftes 65366d10c1 Update the metric container correctly. Use only one ETX initializer. 2011-03-16 13:29:01 +01:00
Joakim Eriksson 6554e87c00 Merge branch 'master' of ssh://contiki.git.sourceforge.net/gitroot/contiki/contiki 2011-03-15 14:15:55 +01:00
Joakim Eriksson 5f4d4550fc fixed RPL statistics bug and added parent switch stats 2011-03-15 14:14:41 +01:00
nvt 4739143126 Generalized MRHOF and added partial support for energy objects in DAG metric containers. 2011-03-15 01:16:20 +01:00
nvt a7addf990f Avoid hysteresis check if neither p1 nor p2 is the preferred parent. 2011-03-04 16:40:40 +01:00
Joakim Eriksson fa0fbf5dab fixed format of transit subopt 2011-03-01 12:33:34 +01:00
Joakim Eriksson 3cd7835f5c made DIO parameters configurable 2011-02-22 18:24:05 +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
Mariano Alvira bb1baffc79 change FIX2ETX -> NEIGHBOR_INFO_FIX2ETX in some debug prints. 2011-02-17 20:54:57 -05:00
Nicolas Tsiftes 93a7280a1a Replaced old description 2011-02-15 18:10:15 +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 cbe4513bf4 basic support for parsing metric containers in DIOs 2011-02-13 23:17:56 +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 432928d000 Changed the name of macros defined in neighbor-info.h to have the NEIGHBOR_INFO prefix. 2011-02-13 21:29:59 +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
Adam Dunkels f1ac94e415 Slight code complexity reduction 2011-02-13 14:14:49 +01:00
Adam Dunkels 3a824d0ed6 Added a hysteresis when choosing a new parent: don't switch parent unless the ETX is significantly better (1.5 ETX better). 2011-02-13 14:14:16 +01:00