Nicolas Tsiftes
43b5425493
Cleaned up various fragments and fixed a compilation error that occured when switching metric container.
...
Fixed a wrapping problem in the ETX EWMA calculation.
Corrected the multiplier of the link metric, and simplified the configuration
so that the user does not need to specify the multiplier.
2013-09-23 15:58:42 +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
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
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
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
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