Commit graph

263 commits

Author SHA1 Message Date
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
Joakim Eriksson
48fb9dda9e fixed of0 to respect min hop rank increase 2011-02-13 11:25:53 +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
Adam Dunkels
ba6bf7dd6b Rewrote the parent selection to favour parents with a low ETX and a good rank. The old parent selection would always favour parents with a lower rank, regardless of their ETX, which in some cases lead to suboptimal parent selections. Also, the old code was buggy in that it would always pick the worst parent (the one with the highest ETX). 2011-02-11 14:17:26 +01:00
Joakim Eriksson
d24c63c0f1 fixed so that minhoprankinc is configurable 2011-02-10 19:44:12 +01:00
Joakim Eriksson
d518c84471 made rank calculation depend on selected parent when joining DAG 2011-02-08 19:59:50 +01:00
Nicolas Tsiftes
aeca16d01f Just update the node rank and let rpl_process_parent_event take care of the rest 2011-02-07 17:29:23 +01:00
Nicolas Tsiftes
e3638d2791 Updated to the minrank-hysteresis OF 2011-02-04 15:46:01 +01:00
joxe
389a4f9220 added rpl-all-nodes multicast address to nodes mcast addresses 2011-01-25 22:41:30 +00:00
joxe
e79c0ab1ee fixed rpl so that it sends and receives on the rpl-all-nodes multicast address 2011-01-25 09:55:12 +00:00
joxe
3a643fa0c6 added address macros for rpl-all-nodes 2011-01-25 09:54:03 +00: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
nvt-se
dae3dc22f3 Corrected a comment that was accidentally overwritten in a previous commit 2010-12-15 19:57:40 +00:00
nvt-se
cd08939b38 Corrected the reported ETX in the initial callback, and fixed the coding style 2010-12-15 14:35:07 +00:00
nvt-se
79ae813f88 Improved macro definitions and removed obsolete declarations. 2010-12-15 13:37:34 +00:00
nvt-se
542bbd4b31 Increased the width of dio_next_delay to avoid possible wrappings 2010-12-15 12:24:00 +00:00
nvt-se
486f202d09 Fixed problem with too large values for the DIO timer. 2010-12-15 12:12:27 +00:00
dak664
9c66df6de1 Fix ancient RAND_MAX compiler warning 2010-12-13 16:52:02 +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
b66da85392 fixed comments and initialize flags in dio_output to zero 2010-12-13 09:59:46 +00:00
joxe
aa1795d5c2 removed route annotation from rpl - moved to ds6 2010-12-10 22:48:31 +00:00
nvt-se
b2a28e6fc3 Fixed error reported by Pieter Agten. The reachable time is specified in milliseconds, and must thus be divided by 1000. 2010-12-06 09:48:48 +00:00
dak664
f34e5ec798 Convert implicit printf to PRINTF 2010-12-04 21:06:04 +00:00
adamdunkels
9750eb93bf Turn off debug messages 2010-11-03 15:41:23 +00:00
joxe
9a1f902881 made rank use full resolution when using OF-ETX 2010-10-28 20:39:06 +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
19d7543267 Added detection of loops in DAO forwarding. 2010-10-25 19:49:12 +00:00
nvt-se
00a000cca0 Print the rank correctly in the debug output. 2010-10-22 15:40:10 +00:00
nvt-se
86823a84fb Export fix-point representation of the ETX. Make RPL temporarily use the same representation as before. 2010-10-22 13:50:13 +00:00
joxe
804d23e9f4 made DIS Interval configurable 2010-10-22 13:13:40 +00:00
joxe
63ab1ffce0 clear default route when neighbour is removed 2010-09-20 15:30:12 +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
adamdunkels
3fa8ffda1a Moved the modules packetbuf, queuebuf, and packetqueue from net/rime to net/, since they are not Rime-specific 2010-06-14 19:19:16 +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
joxe
1095997b66 made DIOs and OCP 09 compliant 2010-06-12 10:55:46 +00:00
nvt-se
8a43743a42 Updated declaration for rpl_alloc_dag. 2010-06-08 21:41:02 +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
f0afbb69ab Fixed typo 2010-06-06 21:48:15 +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
f4508cc1e2 minor fixes + improved debug-printout 2010-06-06 12:45:55 +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
joxe
ba2bf31c20 changed DAOs to be formatted according to the rpl-08 specification 2010-06-03 14:49:15 +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
nvt-se
352fb4e74d Restrict the rank to INFINITE_RANK 2010-06-03 12:12:20 +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
joxe
56a3a71108 added include of string.h since memcpy are used 2010-05-19 16:16:57 +00:00
nvt-se
4411807b29 Fixed bug in DAO input. Made printfs more portable. 2010-05-18 16:43: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
joxe
6f66d36d67 avoid sending DAO when address is tentative 2010-05-09 19:12:47 +00:00
joxe
adb00ed932 factored out function for getting link local address in ds6 and made use of it in rpl for checking state of lladdress as DIOs should not be sent when tentative 2010-05-09 17:52:37 +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
nvt-se
9a4a9b9437 Removed return value in function that should not return a value. 2010-04-30 23:13:58 +00:00
nvt-se
ecada2d1ac *** empty log message *** 2010-04-30 23:10:45 +00:00
nvt-se
b822dbb25e Addressed compilation warnings. 2010-04-30 15:04:47 +00:00
nvt-se
4106f4d798 Increased minimum DIO interval from 1024 ms to 4096 ms in order to more calm in duty-cycled networks. 2010-04-30 15:03:55 +00:00
joxe
168a65d989 added ContikiRPL - an implementation of IETF ROLL RPL 2010-04-30 13:43:53 +00:00