Commit graph

890 commits

Author SHA1 Message Date
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
joxe 518f9c1a00 refactoring and cleanup 2010-05-31 20:42:27 +00:00
nifi b54c6e673b Updated API for uiplib and resolv to use uip_ipaddr_t instead of uint16_t for compability with IPv6 2010-05-31 15:22:08 +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
oliverschmidt 126ea40994 Removed UIP_CONF_PLAIN_BUFFER again now that the pointer indirection to uip_buf was removed again. 2010-05-30 09:46:12 +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
nifi f6e0b46f38 * Made Chameleon header processing module configurable (CHAMELEON_CONF_MODULE)
* Removed the unused init function from header processing modules
* Added option CHAMELEON_CONF_WITH_MAC_LINK_ADDRESSES to specify that
  MAC link addresses should be used instead of Chameleon's own encoding
  of sender and receiver. This avoids encoding the link addresses twice
  when the MAC RDC has its own addresses.
2010-05-28 06:18:39 +00:00
nifi b7b2c8fcde Added macro to identify address attributes for use in header processing modules 2010-05-27 20:28:29 +00:00
nifi ac9b862cd0 Added configurable support for 802.15.4 autoack 2010-05-26 14:12:33 +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 6c4bf93141 Handle MAC_TX_ERR notifications. 2010-05-25 15:29:51 +00:00