Commit graph

1251 commits

Author SHA1 Message Date
Joakim Eriksson cf61e522a8 added powertrace to IPv6 including an example 2011-10-13 15:09:40 +02:00
nvt d711887a1b Merge branch 'master' of ssh://contiki.git.sourceforge.net/gitroot/contiki/contiki 2011-10-10 22:11:52 +02:00
nvt 6611291dd0 Ensure that packet metric is always set. 2011-10-10 22:10:21 +02:00
simonduq a2073db715 Removed ContikiMAC burst dependency to phase optimization 2011-10-04 10:29:40 +02:00
Joakim Eriksson e0ae036a69 added static on the list send functions to get less compiler errors with IAR compiler 2011-10-03 15:17:30 +02:00
simonduq 222f9bd3af Include string.h 2011-09-29 15:07:00 +02:00
simonduq dd8576830e Added bursts support in CSMA/ContikiMAC, and CFS-swapping in
queuebuf. Exemplified in examples/udp-stream.
2011-09-27 16:47:03 +02:00
Joakim Eriksson ab049ec704 some fixes to cut some extension headers before TCP processing 2011-09-22 17:22:59 +02:00
nvt ab0c04b041 Move 16-bit integer conversion operations into functions, as is done already with 32-bit ops. 2011-09-06 17:28:39 +02:00
nvt 942ba1f7bd Removed const qualifier to conform with the rest of the Rime interface. 2011-09-05 22:05:41 +02:00
Niko Pollner 84105f4e47 Improved multihop/mesh route discovery.
Packetbuffer is now saved before route discovery and resent when a
route is found.

This solves the following problems:
- First packet sent to a certain node is corrupted.
- Packet to be forwarded that triggers route discovery is lost.
2011-09-05 21:27:38 +02:00
Adam Dunkels 3fa14d3cd5 Merge branch 'master' of ssh://contiki.git.sourceforge.net/gitroot/contiki/contiki 2011-09-05 20:45:24 +02:00
Adam Dunkels 13853b2cfd Set default RDC wakeup rate to 8 hz 2011-09-05 20:42:38 +02:00
nvt 644f1c627d Initialize the DIO object in case options are missing. Updated the terminology regarding options. 2011-09-05 20:28:50 +02:00
Adam Dunkels f7a3a8476f Added a safeguard to fragmentation reassembly: if there are additional bytes in the final fragment, we shave them off in the spirit of being 'liberal in what we accept' 2011-09-05 14:26:48 +02:00
Joakim Eriksson 7b50b87e12 Merge branch 'master' of ssh://contiki.git.sourceforge.net/gitroot/contiki/contiki 2011-09-05 11:40:22 +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
Adam Dunkels bd951031ef Cleanup of the ContikiMAC code; removed the old an unused announcement code 2011-09-02 14:06:29 +02:00
Adam Dunkels 61ef9b6fc3 Cleanup of the ContikiMAC code; removed the old an unused announcement code 2011-09-02 14:06:27 +02:00
Adam Dunkels 9b53b3aa8e Small spelling bugfix 2011-09-02 13:51:28 +02:00
Adam Dunkels 2da65385a0 Added a SICSLOWPAN_CONF_COMPRESSION_THRESHOLD that can be used to set a threshold under which header compression should not be used. Below this threshold, headers are not compressed but sent as full IPv6 packets. This is useful for RDC layers, such as ContikiMAC, which set a lower bound for packet size. 2011-09-02 13:51:09 +02:00
Adam Dunkels 3cb42ceb10 Made the ContikiMAC header configurable from contiki-conf.h 2011-09-02 13:37:46 +02:00
Adam Dunkels 9e30f0f7c6 Minor code style fixes 2011-09-02 08:16:50 +02:00
Adam Dunkels 6220e231a2 Fixed previously erroneously fixed include 2011-09-01 09:11:46 +02:00
Adam Dunkels 4cf82b2764 Fixed includes 2011-09-01 08:45:18 +02:00
Adam Dunkels d6508cf3c0 Made the number of phase neighbors configurable 2011-08-31 20:54:21 +02:00
Adam Dunkels 81e098d2da Added some defensive programming 2011-08-31 20:53:48 +02:00
Adam Dunkels 7ce313eef6 A significantly simpler API for sending UDP packets 2011-08-29 21:30:21 +02:00
David Kopf 11efc33d2c Make comparison endian-safe, thanks Ivan. 2011-08-18 14:01:20 -04:00
David Kopf df70b21c70 gcc 4.4.1 - 4.6.0 compiler bug workaround. 2011-07-31 15:36:01 -04: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 d8d9494168 uip : When creating a route with a "state" field, clear it (It's possible that the process responsible for this creation doesn't handle the state field) 2011-07-13 10:31:22 +02:00
Vincent Brillault 4f76130a77 Changed Instance structure in order to decrease memory waste. 2011-07-13 10:28:56 +02:00
Vincent Brillault 286cf002bc Clean nd6 debug output (use uip-debug instead of local code) 2011-07-11 16:53:36 +02:00
Vincent Brillault f4b804ed9f Add support of RPL Option (http://tools.ietf.org/html/draft-ietf-6man-rpl-option-03):
- Auto-insersion when forwarding messages
- Delete messages with 2 rank errors
Not supported yet :
- Routing depending on InstanceID
- DAO inconsistency loop recovery
- Full UDP or TCP support (Bugs in µIPv6)
- Real Option Type (TBD by IANA)
2011-07-11 16:53:02 +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
Vincent Brillault 2ac91d53b5 Add (dangerous) feature : use layer 2 acks instead of NUD in the IPv6 layer.
(Decrease packet numbers but dangerous if neighbors change their ips (not a problem in standard RPL with EUI-64 based addresses))
2011-07-11 14:19:14 +02:00
Vincent Brillault 6ddd0bb190 Allow to completely desactivate DAD (useless in route-over LLN as implemented, see http://tools.ietf.org/html/draft-ietf-6lowpan-nd-15#section-8.2) 2011-07-11 13:51:38 +02:00
Vincent Brillault b0907f0344 Cleaning old .h :
- Delete unimplemented function and unused structures
- Remove misleading configuration options
- Transfer some comments from 6lowmac to framer-802154
(doc/uip6-doc.txt should be cleaned as well)
2011-07-11 13:20:30 +02:00
Nicolas Tsiftes 77a44c560a The flags field got widened to 9 bits. 2011-06-28 17:49:32 +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
David Kopf c48b7ab78d Add RPL nodes and border router to minimal-net platform (cygwin only) 2011-06-28 08:19:48 -04:00
Nicolas Tsiftes 6749281a87 Rediscover lost routes when forwarding packets. Also refresh route entries when sending packets through them. Patch from Jaroslav Meduna. 2011-06-23 14:45:11 +02:00
Niclas Finne 28b0479c06 Added optional address filtering 2011-06-15 17:51:57 +02:00
Niclas Finne e8a96dc202 Bug fix: update packet attributes in queued packets in CSMA instead of doing a full packetbuf copy after transmissions. The lower layers often add their own headers to packetbuf. 2011-06-15 16:10:07 +02:00
Niclas Finne 154f971b2b collect_send() should return 0 if the packet could not be enqueued to be sent 2011-06-07 19:45:41 +02:00
dak664 580efaa412 Fix compiler warning for unused variable 2011-05-18 11:22:25 -04:00
Joakim Eriksson 2432a8ee7d set expected reception sequence no to zero - to get initial connection to avoid having ack-number other than zero 2011-03-11 14:27:23 -05:00
Salvatore Pitrulli 4fb433ac1f 'if' statement replaced by a preprocessor directive. 2011-05-12 21:50:47 +02:00
Joakim Eriksson 695c7d74b8 fixed bug in 6lowpan compression when compressing 2011-05-09 09:57:37 +02:00
nvt e00508472c Merge branch 'master' of ssh://contiki.git.sourceforge.net/gitroot/contiki/contiki 2011-05-03 18:18:50 +02:00
nvt 15ee0a6414 Send No-Path DAOs correctly. 2011-05-03 17:50:24 +02:00
Adam Dunkels dfaf4afc8e Rime sniffers must be called for all transmissions, even if they failed, to get energy attribution right. This means that rime output sniffers now also must take the MAC transmission status as an argument. 2011-05-02 15:06:34 +02:00
Zhitao He cae8ef206a fixed excessive retransmissions of junk packets after runicast timeout
fixed stuck packet ID for next packet after runicast timeout
2011-04-27 19:12:46 +02:00
nvt 4b5d380c74 Announce MAX_PATH_COST if we don't have a preferred parent. 2011-04-25 22:37:25 +02:00
Adam Dunkels 74f1754d88 Bugfix: energy consumption for retransmissions was miscounted 2011-04-13 14:10:39 +02:00
Adam Dunkels af4ce9ba9e Bugfix: idle power consumption was sometimes misestimated for transmissions, when a duty cycle rtimer fired in the middle of a transmission 2011-04-13 14:10:02 +02:00
Oliver Schmidt 07f3df45be Converted scope-local variables into function-local variables.
The 6502-specific LC implementation doesn't allow for scope-local vaiables between PT_BEGIN/PROCESS_BEGIN/PSOCK_BEGIN and PT_BEGIN/PROCESS_END/PSOCK_END.
2011-04-12 14:12:09 +02:00
Joakim Eriksson 5a054c82d2 Merge branch 'master' of ssh://contiki.git.sourceforge.net/gitroot/contiki/contiki 2011-04-07 17:46:01 +02:00
Joakim Eriksson 02fcf5835a fixed RPL to handle inifinite rank better 2011-04-07 17:44:07 +02:00
Niclas Finne 5a4a39afb3 changed etx to metric 2011-04-07 09:46:37 +02:00
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
Joakim Eriksson c9af578eab added psock function for reading specified number of bytes 2011-03-09 02:40:53 -05:00
Joakim Eriksson 2baa6cf1b5 fixed so that ] is accepted as end of IPv6 address 2011-03-08 23:11:06 -05:00
Joakim Eriksson 590b0a1696 Merge branch 'master' of ssh://contiki.git.sourceforge.net/gitroot/contiki/contiki 2011-03-22 10:46:46 +01:00
Joakim Eriksson 90ae09c7e5 fixed parsing of address to handle [<addr>] 2011-03-22 10:42:38 +01:00
nvt 55c4df8ee7 Slight generalization to make it easier to switch metric. 2011-03-17 20:29:38 +01: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 c461266524 Made the code more conforming to the Contiki style. 2011-03-16 13:35:44 +01:00
Nicolas Tsiftes 65366d10c1 Update the metric container correctly. Use only one ETX initializer. 2011-03-16 13:29:01 +01:00
Nicolas Tsiftes eee9a68b12 Simplified. Removed the need for an initial guess. 2011-03-16 13:26:52 +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
dak664 a883c9bcbc Add PRINTA so direct calls to debug routines will always print 2011-03-13 11:57:39 -04:00
Joakim Eriksson 340c86e401 reverted to byte-based iid check 2011-03-07 22:02:43 +01:00
Joakim Eriksson 4599284110 minor cleanup of 16-bit compressable macro and comment 2011-03-07 14:50:29 +01:00
Joakim Eriksson 972c1992d2 16-bit addr compression fix 2011-03-06 22:34:16 +01:00
nvt a7addf990f Avoid hysteresis check if neither p1 nor p2 is the preferred parent. 2011-03-04 16:40:40 +01:00
Fredrik Osterlind 499c13a357 removed execute flag of source files (avoids diff problems with egit) 2011-03-01 18:16:42 +01:00
Joakim Eriksson fa0fbf5dab fixed format of transit subopt 2011-03-01 12:33:34 +01:00
dak664 7f3c198a78 Merge branch 'master' of ssh://contiki.git.sourceforge.net/gitroot/contiki/contiki 2011-02-28 16:32:48 -05:00
dak664 105f581d86 Use AVR program flash for uip-debug.h printfs. 2011-02-28 16:23:05 -05:00
Mariano Alvira e826ccd3b9 add NULLRDC_CONF_802154_AUTOACK_HW for radios that only pass-up NOACK
status but not the actual ack packet.
2011-02-23 15:19:44 -08:00
Mariano Alvira a8f9119ace pass up a RADIO_NOACK to the MAC layer. 2011-02-23 15:19:43 -08: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
Adam Dunkels 733aaa546f Made the number of MAC sequence numbers to remember configurable; fixed bug with power attribution to the idle state. 2011-02-21 14:11:32 +01:00
Adam Dunkels 24af4888bc Made the number of MAC sequence numbers to remember configurable 2011-02-21 14:11:17 +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 0df450f0dc Add the NEIGHBOR_ATTR prefix to a macro name 2011-02-13 21:34:59 +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 ed3995960d Changed the name of macros defined in neighbor-info.h to have the NEIGHBOR_INFO prefix. 2011-02-13 21:21:13 +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
Adam Dunkels bb8377dfee Set the end-of-stream flag on the TCP FIN packet 2011-02-10 22:47:45 +01:00
Joakim Eriksson d24c63c0f1 fixed so that minhoprankinc is configurable 2011-02-10 19:44:12 +01:00
Adam Dunkels 8d55a68ebe Added a PACKETBUF_ATTR_STREAM_END packet flag 2011-02-08 22:20:07 +01:00
Adam Dunkels 46348d9013 Added the low-power streaming mode where frequent channel checks are performed when streaming is on. Enabling this will (by setting WITH_STREAMING to 1), however, significantly slow down Cooja/MSPsim simulations. 2011-02-08 21:57:46 +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
adamdunkels 09c223f549 Updated Contiki X-MAC to use hardware acks, which allows for tighter timing and results in a lower duty cycle. Hardware acks also make X-MAC more robust against packet losses, as there is a direct way for the CSMA layer to detect loss of data packets. Before, Contiki X-MAC only detected loss of strobes. 2011-01-25 14:31:09 +00:00
adamdunkels d51e99a3dd Updated streaming mode to use only about 20% radio. Made guard time more conservative due to problem report by Ricklef Wohlers. 2011-01-25 14:29:46 +00:00
adamdunkels fa524fabd7 Bugfix: q->buf was not tested for NULL, as it should be. Fix by Simon Duquennoy. 2011-01-25 14:24:38 +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
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
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 a0960154ba Cleaned up parts of the code; added comments 2011-01-09 21:07:01 +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 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