Commit graph

1644 commits

Author SHA1 Message Date
joxe
3a643fa0c6 added address macros for rpl-all-nodes 2011-01-25 09:54:03 +00:00
adamdunkels
4b4b8fad56 More recent packet entries. Allow 4 queue entries to be dedicated to generated packets. 2011-01-18 16:05:53 +00:00
adamdunkels
808c21fbfa Bugfix: default should be 3 MAC-level retransmissions if collissions or loss occurs 2011-01-18 16:03:57 +00:00
adamdunkels
affba785b5 Enabled phase-lock only for channel check rates of 32 Hz or lower 2011-01-18 16:03:19 +00:00
nvt-se
28421f1fe2 Removed watchdog calls from Coffee 2011-01-18 14:06:33 +00:00
adamdunkels
26e3b6fdc0 Bugfix by Simon Duquennoy: don't transmit packet until previous packet has been sent by the RDC layer. 2011-01-13 19:06:22 +00:00
adamdunkels
81d23a3a36 Minor bugfixes pertaining to queue handling: if a packet was explicitly dropped, the packet would later be acknowledged despite it never being received; added a limit on how many queue entries that can be used for packets that are being forwarded, to allow for originated packets even if the forwarding queue is filled. 2011-01-10 15:10:43 +00:00
adamdunkels
70f9f075a0 Safeguard against NULL arguments 2011-01-10 15:08:52 +00:00
adamdunkels
148bd60fe1 Bugfix: the defensive retransmission timer setting must be made before the packet is transmitted, otherwise the retransmission timer will always be for the defensive retransmit 2011-01-09 23:49:27 +00:00
adamdunkels
50a3e6ea23 Increased the max ETX to allow for longer paths even with the initial conservative ETX estimate; made collect use announcements by default 2011-01-09 23:48:33 +00:00
adamdunkels
acf45ec648 Bugfix: memory wasn't freed when a neighbor was dropped from the list. Also increase the max age to 180 minutes to allow for regular beacons to refresh the neighbor before it is dropped. 2011-01-09 21:20:05 +00:00
adamdunkels
90dc0ceebf Replaced default link estimator with an exponential weighted moving average, which reduces memory consumption per neighbor. 2011-01-09 21:14:22 +00:00
adamdunkels
4e91d9303e Added safeguard timer if the MAC layer would fail to call back after transmission. 2011-01-09 21:13:20 +00:00
adamdunkels
cea299d79a Call upper layers even if packet reception failed - this allows the RDC layer to shut off the radio even if a malformed packet was received. 2011-01-09 21:09:28 +00:00
adamdunkels
a0960154ba Cleaned up parts of the code; added comments 2011-01-09 21:07:01 +00:00
nifi
f3d22e6287 dos2unix conversion 2011-01-07 11:55:36 +00:00
nvt-se
30f5e29db7 dos2unix conversion 2011-01-05 17:01:03 +00:00
joxe
65048c519c removed some void * casts in uip code 2011-01-04 22:11:37 +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
joxe
b2296e462b removed void * + changed ux_t to uintx_t 2011-01-04 20:22:21 +00:00
dak664
3c3cd868cd Allow shorter UIP_CONF_WAIT_TIMEOUT for more aggressive power saving modes. 2010-12-24 00:39:04 +00:00
dak664
8b5577eca2 Patch from Roger Larsson to answer mac address request, for testing autoconfigure. 2010-12-23 22:38:47 +00:00
dak664
322d835fee Fix avr-gcc compiler warnings 2010-12-18 22:12:53 +00:00
nvt-se
8f76c82433 Improved DAO management. 2010-12-17 15:24:25 +00:00
adamdunkels
4914739e5d Revived the timesynch module, which has been switched off since the introduction of the new radio API after Contiki 2.4. The new code uses explicit timestamp messages instead of piggybacking timestamps on every transmission. It is also significantly better in terms of exactness. 2010-12-16 22:47:38 +00:00
adamdunkels
10fb99a89d Reduced the value of the max depth, so that a count-to-infinity loop will not count too long before hitting the maximum value. This is important when a network loses its sink, so that packets are not forwarded around the network for ever. 2010-12-16 22:46:34 +00:00
adamdunkels
19e930e6f2 Changed the behaviour of retransmissions to work better with the in-order CSMA code. The retransmission timer is now set when the packet is known to be sent by the MAC layer. 2010-12-16 22:45:15 +00:00
adamdunkels
4a89cc9db3 Rework of the new CSMA in-order code that fixes a number of smalllish bugs in the in-order code. 2010-12-16 22:44:02 +00:00
adamdunkels
79f2c25dae Rework of the phase-lock optimization mechanism. There were several bugs in the existing code, such as the phase-lock would lose synchronization when a packet was lost. 2010-12-16 22:43:07 +00:00
adamdunkels
01c28ab502 Added explicit timestamp packet type, for the revived timesynch support 2010-12-16 22:41:43 +00:00
adamdunkels
d267b5ca94 Re-added timestamp support for outbound packets that was removed when switching to the new radio API 2010-12-16 22:40:52 +00:00
adamdunkels
417c7f8c70 Added parenthesis around addresses to allow expressions as arguments 2010-12-16 22:39:50 +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
404230a047 Added a macro for portable watchdog calls. 2010-12-15 14:01: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
a026c94467 Fix compiler warnings 2010-12-14 22:45:22 +00:00
dak664
0a4a0ffb32 Add SICSLOWPAN_CONF_ACK_ALL for hardware autoack testing 2010-12-14 22:18:20 +00:00
dak664
240d478c1f Allow platform to specify COLLECT_CONF_BROADCAST_ANNOUNCEMENT_MAX_TIME 2010-12-14 22:14:33 +00:00
adamdunkels
952dfc9384 Rework of the CSMA layer: instead of using one timer per packet, the module now uses one central timer and a queue of outgoing packets. This helps to keep packets in order, which is extremely useful for TCP transfers, and reduces the amount of congestion since consecutive packets now are spaced in time if there is a collision. Based on the observations and ideas of Simon Duquennoy. 2010-12-14 07:57:14 +00:00
dak664
0e60c99e80 Add defines to set stateful address prefixes. 2010-12-13 23:27:40 +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
joxe
2c30b3c6ba added annotation for showing routes and default route during simulation 2010-12-10 22:46:58 +00:00
adamdunkels
af21afa750 Make sure that the cycle timing is exact 2010-12-10 13:36:06 +00:00
adamdunkels
e4cf633215 Put parenthesis around user-supplied options. Patch by Roger Larsson 2010-12-07 23:33:17 +00:00
adamdunkels
c19a967973 Bugfix: with the recent bugfixes, it was no longer possible to turn duty cycling back on after it had been turned off 2010-12-07 23:12:54 +00:00
joxe
e1fbb9bba0 changed neighbor state callbacks to occur only at add and remove 2010-12-07 10:36:03 +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
adamdunkels
4c9793f428 Let ContikiMAC remember the state that the radio should have when duty cycling is turned off. This fixes a bug in which the radio was turned on after sending, even when NETSTACK_RDC.off(0) was enabled. 2010-12-06 09:08:22 +00:00
adamdunkels
433d42e170 Bugfix: if the cc2420_cca() function wasn't able to turn on the radio properly, it should turn it off again if it was off before. 2010-12-05 00:14:24 +00:00
dak664
f34e5ec798 Convert implicit printf to PRINTF 2010-12-04 21:06:04 +00:00
dak664
e54d7d6f9c Fix compiler warnings 2010-12-02 15:55:17 +00:00
adamdunkels
6d556d5c13 Fixed bug with link-layer ACKs. Refactored the ACK reception code. 2010-11-25 08:44:34 +00:00
adamdunkels
2f66db3ded Added a debug mode that keeps track of where individual queuebufs are allocated, which is useful when debugging queuebuf leakage problems. 2010-11-25 08:43:59 +00:00
nifi
3bd78893e5 Renamed nullrdc to nullrdc-noframer and nullrdc-framer to nullrdc.
nullrdc (previously nullrdc-framer) is now a RDC implementation that
does not do any radio duty cycling but supports link layer addresses
and frame format via framer (for example 802.15.4). nullrdc can now be
used in the same way as contikimac, xmac, etc.

nullrdc-noframer (previously nullrdc) is a null RDC implementation
that does not do any radio duty cycling, does not add any header of its
own to the packets, and does not support link layer addresses.
2010-11-23 18:11:00 +00:00
dak664
62d7832fff Fix compiler warning and possible bug 2010-11-13 16:37:42 +00:00
nifi
05d78522d3 Added MAC-layer duplicate message suppression when using 802.15.4 auto ack 2010-11-12 12:53:16 +00:00
nvt-se
1168703506 Minor clarifications in the code and comments. Integrated atches from Frederic Sureau: 1. copy_buf is now an ordinary char pointer. 2. Read directly from a file that is not modified. This reduces the code size when COFFEE_MICRO_LOGS is set to 0. 3. Update the file end value each time it is changed in case a log merge operation occurs later. 4. Avoid possible alignment problem in reading from the dummy_space area when calling cfs_readdir. 2010-11-11 13:08:23 +00:00
adamdunkels
8f745a6ea6 Added a function for obtaining the current parent 2010-11-06 14:32:10 +00:00
adamdunkels
9750eb93bf Turn off debug messages 2010-11-03 15:41:23 +00:00
adamdunkels
a891a2ffe8 Bugfix: allow ICMPv6 to send packets larger than those whose length fits in one byte. Bugfix by mathieupouillot 2010-11-03 11:56:11 +00:00
adamdunkels
b7df18a96a Turned off streaming by default to save code space; made guard time a little more conservative 2010-11-02 11:00:08 +00:00
adamdunkels
1b5001b226 Bugfix: out-of-order fragments were not handled correctly. minor style fixes 2010-11-02 10:56:57 +00:00
adamdunkels
2a885a476d Bumped version number 2010-11-02 10:55:32 +00:00
adamdunkels
5230e64112 Use the new shared ND-packet queue buffers 2010-10-29 05:36:07 +00:00
joxe
9a1f902881 made rank use full resolution when using OF-ETX 2010-10-28 20:39:06 +00:00
adamdunkels
f5031861ac When IPv6 ND kicks in, the packet that caused the ND can either be dropped or saved in a buffer to be send when the NS reply returns. This commit reimplements the buffer management to avoid having one buffer per neighbor, but instead use a buffer pool from which buffers can be allocated for different neighbors. 2010-10-28 15:42:56 +00:00
adamdunkels
677575fc8c Rewrote proactive link estimator to be invoked randomly instead of triggered by an empty queue; this makes network bootups because nodes are not synchronized 2010-10-28 15:36:02 +00:00
joxe
932fed8cc7 improved ETX calculation 2010-10-28 08:54:54 +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
c2c0505402 Increased alpha to 85 in order to get slower changes in the ETX. Put back the start guess to 3. 2010-10-27 00:45:24 +00:00
joxe
43023ab425 made number of transmissions configurable 2010-10-26 13:25:32 +00:00
nvt-se
1fbc651bf3 Lowered the first guess for the ETX of a link. 2010-10-25 20:06:17 +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
adamdunkels
9ecc0437f4 Left-over debug printf removed 2010-10-25 12:25:39 +00:00
adamdunkels
42f37ca1d3 Bugfix: removed old leftover code statement 2010-10-25 11:59:09 +00:00
adamdunkels
3bbd6a00a9 Replace old neighbors according to an LRU policy when a new neighbor needs to be added 2010-10-25 11:58:07 +00:00
adamdunkels
e680276954 ARP fix for multicast transmissions. (Patch by Robert Quattlebaum.) 2010-10-24 22:29:39 +00:00
adamdunkels
a8848517dd UDP checksum is mandatory with IPv6. (Patch by Robert Quattlebaum.) 2010-10-24 22:28:43 +00:00
adamdunkels
77ecfb0366 Rewrote parts of the retransmission logic so that collect is robust against the situation where the MAC layer will fail to callback after a packet has been transmitted. 2010-10-24 21:08:19 +00:00
adamdunkels
8fa7bf6c31 Always restore the queuebuf to the packetbuf before calling the upper layers. Reduce the waiting time between successive MAC layer retransmissions. 2010-10-24 21:07:00 +00:00
adamdunkels
73f5535754 Made the guard time slightly more conservative - found an occasion where this was needed 2010-10-24 21:06:17 +00:00
adamdunkels
8f8741c7f0 Small style fixes 2010-10-24 21:05:42 +00:00
adamdunkels
fd4c0e64aa Removed old unused files rand.[ch]. By default, Contiki uses the libc implementations of the rand() and srand() functions. 2010-10-24 21:02:23 +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
e414c8c5a4 added function for retrieving link etx to neighbor 2010-10-22 11:34:24 +00:00
nvt-se
6e28b1d3fb Reduced ETX_LIMIT in order to avoid overflows. Removed ETX_LOSS_PENALTY and set packet_etx to ETX_LIMIT instead upon packet loss. 2010-10-21 19:46:21 +00:00
adamdunkels
9cb830ed37 Timing bugfix in the waiting period between channel samples to check if the coast is clear before sending a packet. 2010-10-20 22:25:24 +00:00
adamdunkels
06123fefe2 Defensive programming: make sure that a process is actually running before we try to kill it. 2010-10-20 22:24:46 +00:00