Commit graph

901 commits

Author SHA1 Message Date
adamdunkels
eb58968459 Added a timer to each phase structure that keeps track of for how long
a particular receiver has not ACKed packets. After some time
(currently 16 seconds), the sender will begin sending full strobe
periods again.
2010-09-13 13:39:05 +00:00
adamdunkels
591766e663 Significant improvements to the Collect protocol:
* Loop detection and untangling. Now uses in-band loop detection that
  works.

* Link quality estimation. Now starts with a conservative /
  pessimistic estimate for new links.

* Retransmissions. MAC layer and network layer retransmissions are now
  decoupled.

* Loss handling. Deals better with losses now.

* Concurrent applications. Each connection now maintains its own
  neighbor table with separated cost to sink estimates for each
  connection.
2010-09-13 13:28:14 +00:00
adamdunkels
4e0744954a Rewrite of important parts of the Collect logic: link estimation
calculation and parent selection.  This fixes a severe bug that caused
loops when packets were erroneously retransmitted due to ACK loss.
2010-09-08 19:21:45 +00:00
nifi
f05952c926 Changed packet id to use 8 bit instead of 4 bit 2010-08-31 13:14:49 +00:00
dak664
12479c32bc Fix compiler warnings 2010-08-01 21:18:07 +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
nifi
30db4eff52 Made QUEUEBUF_STATS configurable 2010-06-24 09:48:21 +00:00
nifi
e965b74cf5 added missing include 2010-06-18 08:28:56 +00:00
nifi
4741b95858 added missing include 2010-06-16 10:10:10 +00:00
nifi
21828ad782 Changed the retransmission time to be based on the configured MAC channel check rate when the RDC has no channel check interval. 2010-06-16 10:08:30 +00:00
adamdunkels
7647cbd8aa Use the list_item_next() API 2010-06-15 19:22:25 +00:00
adamdunkels
560c84a2fe Added a function for getting the first global IPv6 address 2010-06-15 19:16:22 +00:00
nifi
01b1359b1f removed unused (and slightly problematic) code 2010-06-15 14:19:22 +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
adamdunkels
951fd78f6c ctimer moved from net/rime to sys/ 2010-06-14 18:58:45 +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
adc38568ad Minor optimization: replaced init loops with memset to reduce code size 2010-06-14 13:51:13 +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
adamdunkels
8f8393aadc Moved ctimer.[ch] from their old and illogical location in core/net/rime to a more appropriate place in core/sys 2010-06-14 07:34:36 +00:00
adamdunkels
baa62e9314 Addresses are not const 2010-06-14 06:55:26 +00:00
adamdunkels
2647f879c2 Bugfix: select the best parent if current parent is NULL 2010-06-14 06:54:47 +00:00
adamdunkels
8d1680fed5 Filter duplicate packets 2010-06-14 06:52:41 +00:00
adamdunkels
a6bd51f361 If a packet is lost due to NOACK or TXERR, we count the number of transmissions and we add an additional loss penalty (currently one) 2010-06-14 06:51:58 +00:00
joxe
1095997b66 made DIOs and OCP 09 compliant 2010-06-12 10:55:46 +00:00
nvt-se
75b624eb71 Refactored the code, removed void pointer arithmetic, and fixed invalid list removal after freeing of memb object. 2010-06-11 12:32:48 +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
adamdunkels
296c828ac2 Removed instant reaction to packet loss. Previously, a neighbor was dropped if no MAC layer ack was received. 2010-06-08 19:25:40 +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
e75c77937e fixed bug that caused problems when uncompressing unspecified address 2010-06-06 12:44:12 +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
joxe
7887559d56 fixed bug in ttl decompression 2010-06-01 12:37:54 +00:00