Commit graph

1916 commits

Author SHA1 Message Date
Atis Elsts b5d17bb620 ContikiMAC: use RTIMER_GUARD_TIME #define to avoid accidentally scheduling a rtimer in the past on platforms with fast rtimer ticks 2015-12-03 17:37:26 +01:00
Nicolas Tsiftes 35fb0614de Merge pull request #1406 from simonduq/pr/fix-rpl-multi-dag
RPL multiple DAG bugfix
2015-12-02 11:19:37 +01:00
Simon Duquennoy 94c26b90d0 Merge pull request #1091 from simonduq/rpl-loop-repair
Enhanced RPL loop repair
2015-12-01 15:36:53 +01:00
Simon Duquennoy 27fd590b51 Merge pull request #1228 from bkozak-scanimetrics/contikimac_replace_function_pointer_cast
Replaced function pointer cast in contikimac
2015-12-01 15:35:28 +01:00
Nicolas Tsiftes 064a431bb8 Merge pull request #1381 from simonduq/pr/rpl-dao-debug
Improved RPL debugging
2015-12-01 09:41:33 +01:00
Simon Duquennoy ebc8d9fb1c Merge pull request #1344 from tsparber/fix-doxygen
doxygen: Fixed all warnings
2015-11-30 22:07:15 +01:00
Simon Duquennoy ecc16645ad RPL: do not return from rpl_process_dio after adding a DAG 2015-11-30 19:21:18 +01:00
Amit Geron 1b8c889e41 Add route_discovery_explicit_open()
For route discovery connections, 2 logical channels are used:
One channel for netflood messages, and one for unicast.
When opening a route discovery connection using
route_discovery_open(), only the netflood channel number is
specified, and the unicast channel number is hard-coded to be the
next channel (+1).
This commit adds an alternative function for opening
route-discovery connections, allowing the user to specify both
channels independently, to gain improved control and readability.
2015-11-30 11:13:32 +02:00
Simon Duquennoy c679046d7a RPL: improved debug messages for No-Path DAOs 2015-11-26 11:36:05 +01:00
Simon Duquennoy 298ff6db76 uip-ds6-route: fix debug annotation of removed routes 2015-11-26 11:36:03 +01:00
Pablo Corbalán 588e170eb1 Improved log output in IPv6 modules 2015-11-25 15:39:27 +00:00
Antonio Lignan d31ba8dfdc Replaced tabs leftover in previous commit 2015-11-24 10:21:23 +01:00
Antonio Lignan e2cf8f9868 Made ContikiMAC more configurable (on uknoblic behalf) 2015-11-23 14:03:51 +01:00
George Oikonomou 41ea0308a3 Merge pull request #1390 from tsparber/fix-doxygen-whitespace
Cleanup some trailing spaces and convert tabs to spaces
2015-11-22 11:53:01 +00:00
Simon Duquennoy 8369ee3ce5 Merge pull request #1194 from atiselsts/rime_chameleon_bit_endian
Fix Rime attribute serialization in chameleon-bitopts for big endian systems
2015-11-21 00:19:04 +01:00
Simon Duquennoy 92840e7adc Simplify uip-ds6-nbr module further when NDP is disabled. Avoids known issue https://github.com/contiki-os/contiki/issues/1380 of neighbors in non-REACHABLE state. 2015-11-20 22:40:19 +01:00
Simon Duquennoy 33f8db0dd3 RPL: clearer naming and documentation of DAO delay constants 2015-11-18 14:06:18 +01:00
Tommy Sparber 938a425949 Cleanup trailing spaces and convert tabs to spaces
This commit removes trailing spaces and converts
tabs to spaces in all files affected by fix-doxygen PR.
2015-11-18 11:09:43 +11:00
Tommy Sparber 938d17576b doxygen: Fix many warnings
This commit fixes nearly all of the reported doxygen warnings.

I tried to not clutter the log with removed trailing spaces.
Removed whitespace and converted tab/spaces for all files affected by this commit
are in a separate branch.
2015-11-18 11:07:58 +11:00
Nicolas Tsiftes e642dfc671 Merge pull request #1311 from arurke/dis-config
Add configuration of DIS start delay and interval in RPL conf.
2015-11-17 17:48:18 +01:00
Simon Duquennoy 79c436ac03 rpl_verify_header: sanity-check 'sender' before updating rank 2015-11-16 11:15:36 +01:00
Simon Duquennoy 586f4a4ae3 sicslowpan.c: warning-free compilation even with fragmentation disabled 2015-11-11 11:46:18 +01:00
Simon Duquennoy fbd78a7e3b Merge pull request #1293 from simonduq/pr/fix-warnings
Fix a number of compiler warnings and enable -Werror in Travis
2015-11-10 08:49:11 +01:00
Tommy Sparber 0e0bf33d31 uIP Stats: Count sent ICMP6 packets
The sent ICMP6 packets (for example from RPL) are currently
not counted towards the sum of sent ip and icmp packets.

Is there any reason behind this or is it just a bug?
Looking at the code I found no side effects of adding these two lines.

Debug output:
```
uip_stat.ip .recv 10 .sent 23 .forwared 0 .drop 0
uip_stat.icmp .recv 10 .sent 11 .drop 0
uip_stat.udp .recv 0 .sent 12 .drop 0
```
(Sum of ip.sent matches icmp.sent and udp.sent)
2015-11-03 15:10:22 +11:00
Andreas Urke 857d69a338 Remove stray stars in comments 2015-11-02 13:23:40 +01:00
Andreas Urke 8159297bfd Add configuration of DIS interval and DIS start delay to rpl-conf.h
Make a define for configuration of DIS start delay and move it + existing DIS interval conf into RPL-conf.h
2015-11-02 13:23:33 +01:00
Valentin Sawadski fbc5b5300d trims resolv.c by removing unrequired static declarations
Closes https://github.com/contiki-os/contiki/issues/1333
2015-10-28 14:58:52 +01:00
Simon Duquennoy b979beb075 Merge pull request #1167 from bkozak-scanimetrics/contikimac_fix_qsend_list_packetbuf_pending
Fix Mishandling of PENDING/Queued Packets at ContikiMAC and CSMA
2015-10-23 10:52:17 +02:00
Simon Duquennoy 1e1241f075 Merge pull request #1156 from amitgeron/stunicast-timer-fix
Stunicast timer fix
2015-10-23 10:51:40 +02:00
Adam Dunkels 5e08b15b0a Merge pull request #1313 from tadodotcom/tmp-remove-uip-is-addr-link-local
Removes duplicate of uip_is_addr_linklocal
2015-10-21 08:16:27 +02:00
Simon Duquennoy 2daa3d7377 Merge pull request #1269 from tadodotcom/tmp-uip-fallback-iface
More flexibility for the fallback interface
2015-10-20 11:33:14 +02:00
Valentin Sawadski b0c7dabf4c Removes duplicate of uip_is_addr_linklocal
A simple search and replace of `uip_is_addr_link_local` to ensure the more
commonly used `uip_is_addr_linklocal` is used consistently.
2015-10-20 11:18:46 +02:00
Simon Duquennoy 48ae0d2ba0 anti-replay.c: fix undefined behavior on big-endian platforms 2015-10-20 10:11:44 +02:00
Adam Dunkels 01996eb62a Fix compiler warnings 2015-10-20 10:11:32 +02:00
Simon Duquennoy 5dd6261fef Nullrdc: added missing include for cooja nodes 2015-10-20 10:11:15 +02:00
Simon Duquennoy d6f63e1746 uip6.c: declare uip_add32 symbol if UIP_ARCH_ADD32 is set 2015-10-20 09:37:11 +02:00
Simon Duquennoy c1797e0ffe Merge pull request #912 from cetic/pr-dag-lifetime
Add DODAG lifetime, update of parent rank when switching dag and multi dodag non-regression test
2015-10-18 20:26:37 +02:00
Konrad Krentz 1a12ef3334 llsec: Unsecuring within parse 2015-10-14 08:22:44 -07:00
Konrad Krentz 0a6b1cb646 llsec: Added AEAD mode to CCM* 2015-10-14 08:22:44 -07:00
Konrad Krentz c656a4d1c5 llsec: Fixed style issues in CCM* 2015-10-14 08:22:44 -07:00
Konrad Krentz b522c042ec llsec: Replaced bootstrap function with a simple init function 2015-10-14 08:21:40 -07:00
Konrad Krentz 2059b6559e llsec: Let llsec_drivers define their own framer 2015-10-14 08:21:40 -07:00
Oliver Schmidt 6b29e4b30d Merge pull request #1303 from oliverschmidt/master
Initialize acknowledgment no. on establishment of outgoing TCP connection.
2015-10-10 19:55:28 +02:00
Oliver Schmidt 7d38c48a8b Initialize acknowledgment number on establishment of outgoing TCP connection.
Ported change 2432a8ee7d (set expected reception sequence no to zero - to get initial connection to avoid having ack-number other than zero) from uIPv6 to uIPv4.
2015-10-10 17:41:56 +02:00
Valentin Sawadski 44b3cd4e09 Fixes a possible unsafe memcpy in uip_udp_packet_send
If the buffers overlap, memcpy must not be used as it might have arbitrary
results. memmove() on the other hand is safe to use.
2015-10-09 08:30:49 +02:00
Laurent Deru 15bc0c6daa Update rank of parent when it has changed DODAG 2015-09-30 15:48:36 +02:00
Laurent Deru 34126173b4 Add DAG lifetime 2015-09-30 15:48:36 +02:00
Laurent Deru c5b563f8e1 Estimated fragments should take into account 802.15.4 header size 2015-09-30 09:02:42 +02:00
Nicolas Tsiftes 0a648df3c3 Merge pull request #1207 from simonduq/fix-nd6-alignement
ND6 alignment bugfix
2015-09-29 22:01:37 +02:00
Nicolas Tsiftes 881cd25484 Merge pull request #1288 from joakimeriksson/rpl-early-ocp-check
RPL: check if objective function is supported before creating dag.
2015-09-29 21:56:55 +02:00
Joakim Eriksson 24a38a3aa8 check if objective function is supported before adding as parent and creating a dag 2015-09-29 21:10:03 +02:00
Simon Duquennoy d65b3e1ab6 Merge pull request #1090 from rajithr/patch-1
Protection against possible buffer overflow
2015-09-28 13:29:45 +02:00
Simon Duquennoy 1a6681a09d Merge pull request #987 from ioannisg/send-ns-in-tcpip_ipv6_output
Send the first NS attempt inside tcpip_ipv6_output()
2015-09-28 13:29:04 +02:00
Simon Duquennoy 3d7d5d3a45 uip-nd6.c: added function extract_lladdr_aligned for clarity 2015-09-25 19:03:39 +02:00
Nicolas Tsiftes 222a75426a Merge pull request #1256 from tadodotcom/tmp-refactor-tcpip-packet-input
Refactor tcpip.c packet input
2015-09-25 16:18:42 +02:00
Nicolas Tsiftes a536801e24 Merge pull request #657 from atiselsts/networking_patches
Phase RDC memory allocation bugfix
2015-09-24 16:50:00 +02:00
Nicolas Tsiftes 3fcff231ec Merge pull request #1132 from tpetry/master
LRU deletion strategy for rime routes
2015-09-24 14:27:14 +02:00
Simon Duquennoy db60906e99 Merge pull request #1121 from uknoblic/ip64
ip64: Streamlined configuration parameters
2015-09-24 11:24:18 +02:00
Ulf Knoblich c6db6b171a ip64: Streamlined configuration parameters 2015-09-24 09:27:11 +02:00
Valentin Sawadski 5b818d5a39 Fixed formatting of documentation 2015-09-23 09:25:31 +02:00
Valentin Sawadski 056f58ae1e Updates IP64 Fallback Interfaces to return ints 2015-09-23 09:20:31 +02:00
lebrush b3f6019924 More flexibility for the fallback interface.
When there's a failure to send a packet in the fallback interface the
destination is unreachable and therefore the source should be notified.
2015-09-22 12:53:04 +02:00
Billy Kozak 467f28286c The CSMA driver no longer throttles queued packets
Fix for #1166

Updated the CSMA driver so it no longer applies a time delay for
sending queued packets which were sent without error.
2015-09-18 09:35:29 -06:00
Billy Kozak 32e668ae2a Fix for #1165
It is possible that packetbuf is modified by the call to
mac_call_sent_callback. If this occurs ContikiMAC will not be able to
recognize that a packet is pending.

This fixes this problem by storing pending status in a local variable before
calling mac_call_sent_callback.
2015-09-18 09:33:10 -06:00
Valentin Sawadski cad1c37fb3 Better prints of ::FFFF: prefixed IPv4-mapped addresses
IPv4-mapped Address [1] are now printed accoriding to the text representation
mixed IPv4 and IPv6 networks as specified in [2]

[1] https://tools.ietf.org/html/rfc6890#page-14
[2] https://tools.ietf.org/html/rfc3513#page-5
2015-09-18 14:57:01 +02:00
Simon Duquennoy 66ec94fd74 Minor improvements to RPL probing 2015-09-17 22:54:38 +02:00
Simon Duquennoy a7ce312ee3 Enhanced RPL loop repair: send unicast DIO to source when detecting a loop from ext header, update rank along the path (when rank error is signaled) 2015-09-17 22:53:12 +02:00
Valentin Sawadski 43770a934d Refactor tcpip.c packet input
The UIP_CONF_FORWARD is now handled in a better way that the general structure
of packet_input can be clearer seen.
2015-09-15 09:31:43 +02:00
Nicolas Tsiftes 70b3585f76 Merge pull request #1249 from simonduq/fix-rpl-icmp-warnings
Fix compiler warnings in rpl-icmp6.c
2015-09-10 14:44:04 +02:00
Simon Duquennoy 5329c42034 Remove unused variables 2015-09-08 23:38:43 +02:00
Simon Duquennoy 63ddba93a9 Merge pull request #1169 from feshie/pr-warnings-fix
Fix multiple warnings (TCPIP, coap-observe, msp430, z1/tmp102, ContikiMAC)
2015-09-08 09:05:44 +02:00
Arthur Fabre e8cbf2e5fb Fix warning in TCPIP
When disabling TCP support, the following warning is triggered:
../..//core/net/ip/tcpip.c:159:1: warning: ‘start_periodic_tcp_timer’
defined but not used [-Wunused-function]
An added ifdef guard now only defines this function when TCP support is
enabled.
2015-09-07 17:52:22 +01:00
Adam Dunkels 92c1a68b94 Merge pull request #1215 from joakimeriksson/rpl-child-locking
Move locking of neighbors / children from RPL to uip-ds6-route module
2015-09-02 19:42:45 +02:00
Billy Kozak 7b27ad64ca Replaced function pointer cast in contikimac
Replaced a cast of the funciton pointer to powercycle with a
wrapper calling powercycle which has the correct signature.

The previous implementation was an instance of undefined behaviour
according to the C standard.
2015-09-01 10:16:43 -06:00
rajithr 2a2acf62ed Fix for out of bounds access
Fix for out of bounds access by limiting the printing to the size limit of the buffer
2015-08-31 16:10:00 +05:30
Simon Duquennoy ddf970d3db Merge pull request #695 from sdefauw/contiki
IPv6 prefix bug
2015-08-29 20:27:50 +02:00
Joakim Eriksson 9e16d93278 removed pointer to next parent since it is not used anymore 2015-08-28 19:15:23 +02:00
Joakim Eriksson 4d5c749cf7 removed locking of rpl-parent since it was never unlocked - moved to routing module 2015-08-27 18:45:06 +02:00
Joakim Eriksson 5dee80a253 added locking of nexthop for routes to avoid the risk of nexthop removal 2015-08-27 18:45:06 +02:00
Joakim Eriksson 7c2bff0462 added debug print for nbr-table-module 2015-08-27 18:45:06 +02:00
Adam Dunkels 2b549f3789 Bugfix: need to explictly drop RPL packets by setting uip_len = 0, otherwise those packets are forwarded, with the wrong link layer address as a sender, causing the mesh to create false routes 2015-08-27 10:28:54 +02:00
Adam Dunkels 9cd84563cb Send a no-path DAO when becoming feather mode, so that the network can drop routes to us, which are no longer needed 2015-08-27 10:27:56 +02:00
Adam Dunkels bfb29d2f11 Merge pull request #1116 from cetic/pr-uip-clear-buffer
Add uip_clear_buf() macro and replace all instances of uip_len = 0
2015-08-27 10:27:08 +02:00
Oliver Schmidt 12fd559244 Fixed DHCP client.
RFC2131 states on page 36 regarding DHCPREQUEST: " 'xid' from server DHCPOFFER message "

As the DHCPOFFER message uses the 'xid' from the DHCPDISCOVER message this means that the DHCP client is supposed to re-use the 'xid' from its DHCPDISCOVER for the DHCPREQUEST.
2015-08-25 16:24:37 +02:00
Simon Duquennoy 04106a0d53 ND6: make sure the second parameter of uip_ds6_nbr_add is word-aligned, which is required as the parameter is directly accessed as uip_lladdr_t* (not as a byte array) 2015-08-20 17:06:03 +02:00
Atis Elsts b75f673801 RDC phase optimization: correct the behavior in case of memory allocation failure
phase_wait did not check whether queuebuf_new_from_packetbuf() returns NULL. This potentially causes send_packet to behave incorrectly; the proper packet would not be sent out (because queuebuf_to_packetbuf(NULL) is a no-op). Instead, whatever has been left in the packet buffer by its previous user will be sent out.
2015-08-14 16:37:00 +02:00
Atis Elsts 765ce0c22f Fix Rime attribute serialization in chameleon-bitopts.c for big endian systems 2015-08-14 16:16:46 +02:00
Nicolas Tsiftes a410f0cd23 Merge pull request #1179 from pablocorbalan/rpl-nbr-state
Changed RPL IPv6 NBR Callback Print Statement
2015-08-06 09:54:20 +02:00
Pablo Corbalán aa04f8afbf Changed RPL IPv6 NBR Callback print statement 2015-08-04 19:54:32 +01:00
Simon Duquennoy dc4de9d001 Merge pull request #1161 from g-oikonomou/contrib/contikimac-sw-ack
Implement TX of S/W ACKs with ContikiMAC
2015-08-04 13:15:03 +02:00
George Oikonomou cf4e191593 Merge pull request #1172 from tim-ist/tm_fix
[multicast] Do not forward every incoming TM ICMP
2015-08-03 10:26:39 +01:00
Timofei Istomin b9aa88b504 [multicast] Do not forward every incoming TM ICMP
The Trickle Multicast ICMP packet handler was not resetting uip_len to zero,
so all incoming TM ICMP packets were forwarded overloading the network.
2015-07-17 20:04:15 +02:00
Arthur Fabre 8739113308 Fix warnings in ContikiMAC
../..//core/net/mac/contikimac/contikimac.c:503:11: warning: variable
‘seqno’ set but not used [-Wunused-but-set-variable]
../..//core/net/mac/contikimac/contikimac.c:496:7: warning: variable
‘len’ set but not used [-Wunused-but-set-variable]

Both of these variables are only used if RDC_CONF_HARDWARE_ACK is not
true.
Their definitions and use have been moved into #ifdef guards so they do
not appear if RDC_CONF_HARDWARE_ACK is set.
2015-07-16 13:49:31 +01:00
George Oikonomou 315f6fe535 Implement TX of S/W ACKs with ContikiMAC 2015-07-12 00:07:33 +01:00
George Oikonomou 503a992887 Make ContikiMAC more configurable
Allow the project / platform to provide values for CCA_SLEEP_TIME and LISTEN_TIME_AFTER_PACKET_DETECTED.

This is useful for sub-ghz operation.

This has been shamelessly stolen from the [Mountain Sensing project](https://github.com/feshie/contiki)

@heliosfa @kmartinez
2015-07-11 23:55:44 +01:00
Amit Geron bf3a5de75e Fix stunicast timer restart
Instead of hard coded setting the resend timer to CLOCK_SECOND,
restart it, so that the time between ANY following transmissions will
be as passed to stunicast_send_stubborn.
2015-07-09 12:03:55 +03:00
Amit Geron b1ef3fdf41 Fix indentation 2015-07-09 12:03:55 +03:00
Simon Duquennoy 3315d3069d Merge pull request #1108 from phoenix-frozen/generify-ccm-star
generalised CCM module into lib
2015-07-01 10:44:41 +02:00
Justin King-Lacroix 30704e5afc CCM* module now accepts fixed-size 13-byte nonces
also adjusted variable naming conventions in CCM* module
to use 'nonce' and 'iv' in line with RFC 3610 terminology
2015-06-29 22:51:00 +02:00
Antonio Lignan 8cc0a12a9f Merge pull request #1097 from bthebaudeau/cc2538-examples-fix-warnings
cc2538: examples: Fix build warnings
2015-06-24 11:39:24 +02:00