Commit graph

2870 commits

Author SHA1 Message Date
thomas-ha 2a69999214 space instead of tab 2016-04-05 17:12:48 +02:00
thomas-ha 871c725144 spaces instead of tabs 2016-03-31 11:24:57 +02:00
Carlo Vallati 855703e936 Fixed a bug into tsch-schedule - tsch_schedule_add_link that causes deadlock if a new link cannot be created 2016-03-31 10:35:19 +02:00
Oliver Schmidt 111a976f1e Explicitly mark constant as 'unsigned' to avoid unnecessary promotion to 'long'.
Long constants trigger the performance warning "Constant is long" with cc65.
2016-03-28 14:39:16 +02:00
Joakim Eriksson 12a75c3e43 fixed codestyle, improved APIs, and cleaned up comments 2016-03-26 20:12:52 +01:00
Joakim Eriksson 12ac02650b fixed a bug in nbr policy and DAO retransmission handling and added new wismote simulation 2016-03-26 09:45:39 +01:00
Joakim Eriksson ffb10094ab added init value of locked variable 2016-03-26 09:45:39 +01:00
Simon Duquennoy e1f9369a09 RPL DAO-ACK: move initialization of current ougoing DAO from da_output to dao_output_target_seq 2016-03-26 09:45:38 +01:00
Simon Duquennoy 19b04098d5 Improved RPL debug logs 2016-03-26 09:45:38 +01:00
Simon Duquennoy 6fa3479aa8 RPL: improved debug messages for No-Path DAOs
Conflicts:
	core/net/rpl/rpl-icmp6.c
2016-03-26 09:45:38 +01:00
Joakim Eriksson 09c624dcd3 fixed clearing of state flag and avoid starting retransmission timer 2016-03-26 09:45:38 +01:00
Joakim Eriksson 8afe3fb9b7 fixed so that DAO NACK now is either for the path or for RPL root - if from root then do not try to switch parent since that will not help 2016-03-26 09:45:38 +01:00
Joakim Eriksson 13b8c04c6f fixed so that nbr policy for RPL Root do not save room for parents 2016-03-26 09:45:38 +01:00
Joakim Eriksson 1fcef0f90d added function for checking downward route and added configuration for DAO NACK repair - default off 2016-03-26 09:45:38 +01:00
Joakim Eriksson 4246a8fbe6 updated more nbr_add calls 2016-03-26 09:45:37 +01:00
Joakim Eriksson 444015df67 refactored the rpl-nbr-policy to be called from nbr-table module 2016-03-26 09:45:37 +01:00
Joakim Eriksson be81d1d2c6 added uip_clear_buf to avoid the risk of sending received packets 2016-03-26 09:45:37 +01:00
Joakim Eriksson 01930d4a64 changed default configuration of RPL route lifetime 2016-03-26 09:45:37 +01:00
Joakim Eriksson cd98b8b40e added periodic debug printout of number of used neighbors and routes 2016-03-26 09:45:36 +01:00
Joakim Eriksson fa1b70b723 added configuration of DAO route refresh for broadcast DIOs 2016-03-26 09:45:36 +01:00
Joakim Eriksson 3fd8c4db2d added nbr policy for Contiki RPL that avoids thrashing the nbr table with new entries all the time 2016-03-26 09:45:36 +01:00
Joakim Eriksson d181bd9e6f added config for enabling/disabling removal of oldest route and added support function for checking if lladdress is used as nexthop 2016-03-26 09:28:09 +01:00
Joakim Eriksson 513393db54 added return value so that caller know if a nbr was removed or not 2016-03-26 09:28:09 +01:00
Joakim Eriksson 946be77248 Added support for end-to-end DAO ACK for Contiki RPL.
This is a fix for Contiki RPL so that it fully supports DAO ACK in
an end-to-end fashion. When DAO is sent it will be forwarded upwards
as before. DAO ACK will be forwarded downwards until it reach the node
that initiated the DAO ACK and unlike before it is not a single-hop
DAO ACK but it is fully reaching the RPL ROOT before any DAO ACK is
sent back. DAO ACK also now fully support different status messages
(success / fail).
2016-03-26 09:28:08 +01:00
thomas-ha 2d9b53667f not leaving promiscuous mode anymore if TSCH_HW_FRAME_FILTERING disabled 2016-03-16 12:24:49 +01:00
Simon Duquennoy 3057cb3363 TSCH: reset now also flushes all queues and resets backoff exponents 2016-03-15 16:24:04 +01:00
Simon Duquennoy 4b4ea36e9b TSCH: substract RADIO_DELAY_BEFORE_DETECT from ACK timestamp (more accurate timeout for the following busy wait) 2016-03-15 16:23:57 +01:00
Simon Duquennoy 0fd097f821 TSCH: bound max packet size to the system's packetbuf size 2016-03-15 16:23:57 +01:00
Simon Duquennoy 0aa36eaa0a TSCH: explicitly turn radio off after ACK tx 2016-03-15 16:23:57 +01:00
Simon Duquennoy 5e5904d10e Merge pull request #1387 from simonduq/pr/ndfree-rpl-fix
NDP disabled: also disable uip_ds6_neighbor_periodic
2016-03-14 16:42:45 +01:00
Simon Duquennoy bbefd4ab4e Merge pull request #1334 from tadodotcom/1333-resolv-fat-camp
trims resolv.c by removing unrequired static declarations
2016-03-14 16:41:33 +01:00
Simon Duquennoy cd981b23d5 Merge pull request #1297 from simonduq/pr/default-prefix
Change the default IPv6 prefix from aaaa::/64 to fd00::/64
2016-03-13 20:39:16 +01:00
Nicolas Tsiftes c476194004 Merge pull request #1548 from simonduq/pr/traceroute
uip6, icmp6 and ext header handling fixes: traceroute now working!
2016-03-11 14:14:26 +01:00
Simon Duquennoy 3fa25eac8c uip6: fix bug that caused the payload of ICMPv6 messages not to match that of the original packet 2016-03-10 12:22:23 +01:00
Simon Duquennoy 06e984a02e uip6: enable sending of "port unreachable" ICMPv6 message 2016-03-10 12:22:15 +01:00
Simon Duquennoy 5886bdea31 uip_icmp6_error_output: remove and add RPL ext header instead of inverting it, so that the payload of the returned ICMP error matches the original packet 2016-03-10 12:22:05 +01:00
Simon Duquennoy 9930756d7c uip6: restore proto after calling remove_ext_hdr 2016-03-10 12:21:55 +01:00
Simon Duquennoy add5a8be67 Code style 2016-03-10 11:33:40 +01:00
Yasuyuki Tanaka f83e498978 Fix typos in debug messages 2016-03-09 11:32:24 +01:00
thomas-ha 38348b8703 enable/disable HW frame filtering
enable/disable HW frame filtering as defined in TSCH_CONF_HW_FRAME_FILTERING
2016-03-08 15:50:37 +01:00
thomas-ha 6e5e1d05cd TSCH: define to enable/disable HW frame filtering 2016-03-08 15:48:16 +01:00
Simon Duquennoy dea04c67d7 Change the default IPv6 prefix from aaaa::/64 to fd00::/64 2016-03-07 17:47:44 +01:00
Simon Duquennoy 73fcfa42c2 TSCH: fix compiler warning that shows up when disabling TSCH_LOG_LEVEL 2016-03-07 17:42:17 +01:00
Joakim Nohlgård e32b46a866 core/lib/gcr.c: fix warning: function declaration isn't a prototype 2016-03-02 07:12:27 +01:00
Joakim Nohlgård d7d836fda0 core/net/rpl/rpl.h: fix warning: function declaration isn't a prototype 2016-03-02 07:00:57 +01:00
Joakim Nohlgård 52e7ea9cc4 core/net/rpl/rpl-dag.c: fix warning: function declaration isn't a prototype 2016-03-02 07:00:57 +01:00
Joakim Nohlgård 2e47bf9cdc core/net/ipv6/sicslowpan.c: fix warning: function declaration isn't a prototype 2016-03-02 07:00:57 +01:00
Joakim Nohlgård 7c11034ab7 core/lib/trickle-timer.c: fix warning: function declaration isn't a prototype 2016-03-02 07:00:57 +01:00
Joakim Nohlgård de7850ed58 core/lib/settings.h: fix warning: function declaration isn't a prototype 2016-03-02 07:00:57 +01:00
Billy Kozak ff6d336e8b Fix warning about missing strcasecmp definition
On platforms which do not define the macro __SDCC the strcasecmp
function may not have a definition (true at least on CC26xx). The
prototype for this function is now defined if __SDCC is false.
2016-02-26 13:05:21 -07:00
Nicolas Tsiftes 65caef495a Merge pull request #1354 from tsparber/pr-count-icmp-stats
uIP Stats: Count sent ICMP6 packets
2016-02-26 15:16:35 +01:00
Wojciech Bober 803d170b55 Fixed unsused variable warning when SICSLOWPAN_CONF_FRAG is undefined 2016-02-15 09:37:38 +01:00
Wojciech Bober 1cc659d882 Allow for using a fixed frame header length.
When SICSLOWPAN_FRAMER_HDRLEN is defined its value is used
as a frame header length. This allows for using sicslowpan
without calling a framer. This is usefull if framer is not
used on a given platform or when header length is always
the same.

In addition this commit also fixes an inline define.
2016-02-15 09:37:38 +01:00
Amit Geron ba6419cc25 Typo
* route_discovery_expicit_open --> route_discovery_explicit_open
2016-02-07 11:58:31 +02:00
Simon Duquennoy daa83ee3ef Merge pull request #1404 from amitgeron/route_discovery_channels
Add route_discovery_explicit_open()
2016-02-05 23:12:39 +01:00
Simon Duquennoy 5afdae1399 Merge pull request #1498 from alignan/pull/fix-ip64-warnings
Fix ip64 warnings and error
2016-02-05 23:02:39 +01:00
Nicolas Tsiftes 4dce5f6765 Merge pull request #1494 from simonduq/pr/uip6-debug
Minor debug output fixes
2016-02-04 13:09:21 +01:00
Antonio Lignan c924567d86 Fix ip64 warnings 2016-02-04 00:26:54 +01:00
Simon Duquennoy 521cc7600d Minor debug output fixes 2016-02-03 17:10:24 +01:00
Simon Duquennoy f0d1b6c5bb Fix PRINTF statement in sicslowpan 2016-02-02 17:18:45 +01:00
Joakim Eriksson 6ef8f47764 Style fixes, LLSEC.overhead and MAC_MAX_PAYLOAD 2016-01-19 19:54:27 +01:00
Joakim Eriksson 02e07607a7 removed old HC1 code since it is not expected to be used and removed NH_COMPRESSOR 2016-01-19 15:29:14 +01:00
Joakim Eriksson d4dc45e096 updated sicslowpan documentation and platform configurations 2016-01-19 15:27:14 +01:00
Joakim Eriksson d0448df3b8 added support for multiple reassemblies 2016-01-19 15:17:59 +01:00
George Oikonomou fa40d2b1fc Remove documentation references to the Sensinode platform
This is part of a set of commits that will obsolete the Sensinode platform
2016-01-10 15:09:31 +00:00
kkrentz 81765746ad AES-128: Resolved #ifdef issue 2016-01-04 00:28:26 +01:00
kkrentz e5babded4b AES-128: Deleted the function aes_128_padded_encrypt 2016-01-04 00:28:26 +01:00
kkrentz 4013cd0f58 netstack: Fix missing llsec init 2016-01-04 00:28:26 +01:00
Simon Duquennoy 4302e23ddc Merge pull request #1285 from simonduq/pr/tsch
TSCH + Basic 6TiSCH
2015-12-07 14:29:10 +01:00
Simon Duquennoy 6df9f886f8 Make get_bits_in_byte() static 2015-12-07 13:17:25 +01:00
Simon Duquennoy cc58384b40 jn516x: remove temporary adjustements for compilation in a 802.15.4e-free Contiki 2015-12-07 11:51:50 +01:00
Atis Elsts d79ce957a1 Adaptive time synchronization for TSCH 2015-12-07 11:51:41 +01:00
Benoît Thébaudeau 6166693a11 Merge pull request #1133 from bkozak-scanimetrics/cc-gcc
put gcc specific stuff into seperate .h
2015-12-05 00:39:59 +01:00
Simon Duquennoy 7eabf8d391 TSCH: latest update from https://github.com/EIT-ICT-RICH/contiki 2015-12-04 15:21:58 +01:00
Simon Duquennoy 2ca7a1a79f TSCH security: port to new ccm-star and llsec APIs 2015-12-04 15:21:56 +01:00
Simon Duquennoy b0f936263e Added IEEE 802.15.4e TSCH (TimeSlotted Channel Hopping) MAC layer 2015-12-04 15:21:52 +01:00
Simon Duquennoy 1e0adbbf24 New radio interface parameters: Rx poll mode, last packet timestamp, last packet rssi, last packet lqi. Implementation of these parameters for cc2420, with, in addition, runtime configuration of CCA before Tx, auto-ack and frame filtering 2015-12-04 15:21:51 +01:00
Simon Duquennoy ecba49c282 Add support for IEEE 802.15.4e Information Elements (IEs). All IEs used by TSCH are currently included. 2015-12-04 15:21:50 +01:00
Simon Duquennoy 5cf9871d5b Added support for IEEE 802.15.4 frame version 2 2015-12-04 15:21:50 +01:00
Simon Duquennoy f86494c6aa Added missing include (needed for type uip_ipaddr_t) 2015-12-04 15:21:49 +01:00
Simon Duquennoy dfd61b6cc9 uip-ds6-route: make nbr_routes global 2015-12-04 15:21:48 +01:00
Simon Duquennoy 77d8322da8 uip-ds6-route: added callback for next hop addition and removal 2015-12-04 15:21:47 +01:00
Simon Duquennoy 08bcfd6972 RPL: added callback for parent switches 2015-12-04 15:21:46 +01:00
Simon Duquennoy b6d599b712 RPL: added callback for DIO interval update 2015-12-04 15:21:45 +01:00
Simon Duquennoy 2112dff217 Added ringbufindex module 2015-12-04 15:21:44 +01:00
Simon Duquennoy 8780bd2ce0 Rime Chameleon fix for 32-bit platforms: use BITOPT_HDR_SIZE rather than sizeof(struct bitopt_hdr) 2015-12-04 10:18:24 +01:00
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
Oliver Schmidt 1639b712bb Removed CC_FASTCALL.
CC_FASTCALL was introduced many years ago for the cc65 tool chain. It was never used for another tool chain. With a798b1d648 the cc65 tool chain doesn't need CC_FASTCALL anymore.
2015-11-01 18:10:17 +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
Oliver Schmidt a29502ed0d Changed 'data' casting for 'ctk_signal_keypress'.
In these cases data was set as `process_post_synch(window->owner, ctk_signal_keypress, (process_data_t)(size_t)c);` so it seems reasonable to cast "back" to `size_t`. Additionally the comparison can be limited to `char`. See i.e. calcc for reference:
```
if(ev == ctk_signal_keypress) {
  if((char)(size_t)data >= '0' &&
     (char)(size_t)data <= '9') {
```
2015-10-20 10:11:51 +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
Adam Dunkels 2d203cc713 Fix compiler warnings 2015-10-20 10:11:31 +02:00
Adam Dunkels c262eafe97 Fix compiler warnings 2015-10-20 10:11:30 +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 9c15d1c42f Merge pull request #1063 from simonduq/configure-na
Default NDP configuration
2015-10-18 20:26:55 +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
kkrentz 9500be8916 llsec: Declared aead static 2015-10-14 08:22:44 -07: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
Simon Duquennoy 7ce817ab4c Better documentation of the UIP_CONF_ND6_SEND_NA flag. 2015-10-06 16:40:53 +02:00
Florian von Zabiensky feba89a3f7 fixed memory bug 2015-10-06 11:25:12 +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 ee37b4b293 Merge pull request #884 from cmorty/pull/ringbuf-order
Ensure that the data in ringbuff is accessed in the right order
2015-09-28 13:24:44 +02:00
Simon Duquennoy ef176bad33 Merge pull request #716 from hexluthor/isr-safe-pt-sem
Make protothread semaphores interrupt-safe.
2015-09-28 13:20:24 +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
Billy Kozak 8e5f0bc36a Defining gcc specific macros in seperate header 2015-09-22 14:17:10 -06: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
Moritz 'Morty' Strübe d68cbb2980 Ensure that the data in ringbuff is accessed in the right order 2015-09-21 09:38:45 +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
Atis Elsts eac1973073 Introduce ENERGEST_SWITCH macro. It allows to switch between energest modes without running into the risk of losing a tick in the process 2015-09-04 11:49:02 +02: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
Nicolas Tsiftes b8cccb6d3c Merge pull request #1183 from simonduq/galois_mul2
galois_mul2 conditional-free implementation
2015-08-31 14:41:17 +02: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
Valentin Sawadski 2cd74d043d CTIMER API extension to explictly state the process a ctimer belongs to 2015-08-31 10:31:36 +02:00
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
Antonio Lignan 37470bbc1b Merge pull request #1055 from sumanpanchal/msp430x-elfloader
Added MSP430x ELFLOADER support to load image with large memory model.
2015-08-27 21:19:27 +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
Fredrik Österlind c3f61e2c79 Merge pull request #563 from cmorty/etimer_reset_set
Add function etimer_reset_set.
2015-08-27 13:08:37 +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
Moritz 'Morty' Strübe 9b77aac542 Add function etimer_reset_set.
This new function is similar to reset, but allows to also set a new
timeout. Thus long-term accuracy with changing timeouts is now possible.
2015-08-25 17:03:44 +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
Billy Kozak 9cd439d8c0 changed tcpip static temporaries to stack vars
A number of local variables in tcpip.c were declared with static
storage for no good reason (they do not ever preserve state between
function calls).

This patch removes static declaration from these variables.
2015-08-12 09:51:26 -06: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
Simon Duquennoy bfba83ed16 galois_mul2 conditional-free implementation 2015-08-03 15:13:00 +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
tpetry b3046f1537 remove rime routes in LRU mode if trying to add a new route to full route table 2015-06-19 16:32:19 +02:00
Laurent Deru c73cd66a92 Change all printf into PRINTA in uip-debug.c; remove compilation warning and move addr check after local variables definition in uip_debug_ipaddr_print 2015-06-18 15:14:46 +02:00
Nicolas Tsiftes d36e8adbdd Merge pull request #1123 from cetic/pr-fix-uip-debug-lladdr-print
Check pointer in uip_debug_lladdr_print
2015-06-18 14:19:37 +02:00
Laurent Deru 60784b40bd Check pointer in uip_debug_lladdr_print 2015-06-18 10:56:45 +02:00
Laurent Deru 49700c6a79 Merge pull request #1118 from phoenix-frozen/aes128-const-key
made AES-128.set_key's argument const
2015-06-16 10:30:35 +02:00
Justin King-Lacroix db15647c2b made AES-128.set_key's argument const 2015-06-15 20:20:07 +01:00
Sumankumar Panchal db4df30366 Added MSP430X ELFLOADER support to load image with large memory model. 2015-06-15 17:53:18 +05:30
Laurent Deru 1784338b2e Add uip_clear_buf() macro and replace all instances of uip_len = 0; with it 2015-06-15 11:10:51 +02:00
Oliver Schmidt 35becbbcb5 Merge remote-tracking branch 'upstream/master'
Conflicts:
	core/net/ip/uip-nameserver.c
2015-06-14 16:33:23 +02:00
Oliver Schmidt a0d9f028d6 Made first uip_nameserver_update() parameter const.
Both apps/dhcp/dhcp.c:dhcpc_configured() and cpu/6502/ipconfig/ipconfig.c:dhcpc_configured() presume the first parameter of uip_nameserver_update() to be const. As there's no reason for it to be not const just make it const.
2015-06-14 16:27:39 +02:00
Oliver Schmidt adc744ef30 Avoid compiler warning because of unused variable. (reverted from commit a9c6d59da3) 2015-06-14 15:24:38 +02:00
Justin King-Lacroix 3ce8f26eea generalised CCM module into lib
introduced convenience functions for LLSEC modules
2015-06-10 18:07:41 +01:00
Benoît Thébaudeau 66acf74612 cc2538: examples: Fix build warnings
Toolchain used:
arm-none-eabi-gcc (GNU Tools for ARM Embedded Processors) 4.9.3 20150303
(release) [ARM/embedded-4_9-branch revision 221220]

Signed-off-by: Benoît Thébaudeau <benoit.thebaudeau.dev@gmail.com>
2015-06-02 01:38:11 +02:00
rajithr 08503a20be Protection against possible buffer overflow 2015-05-27 19:06:19 +05:30
Nicolas Tsiftes 5a26d25647 Merge pull request #918 from cetic/pr-multi-dodag-support
Multi DODAG support
2015-05-26 16:32:10 +02:00
Nicolas Tsiftes be891c0554 Merge pull request #915 from cetic/pr-rpl-default-route-infinite
Allow rpl default route lifetime to be infinite
2015-05-26 16:26:58 +02:00
Laurent Deru 9782a760b1 rpl_process_dio: Update parent rank 2015-05-22 17:21:53 +02:00
Laurent Deru ccd3c58280 rpl_select_parent: Update dag rank according to new parent 2015-05-22 17:21:53 +02:00
Laurent Deru fc8415e1ad Allow rpl default route lifetime to be infinite 2015-05-22 13:00:06 +02:00
rajithr 0d8de9022c Remove redundant assignment 2015-05-20 15:37:32 +05:30
Adam Dunkels 730bda2001 Merge pull request #883 from cmorty/pull/global-macros
Move MAX, MIN and ABS to contiki-macros
2015-05-18 21:33:00 +02:00
Ulf Knoblich a388a1bcd7 CC2538: added support for SSI1 2015-05-18 10:02:55 +02:00
Moritz 'Morty' Strübe 0dab6926b3 Move MAX, MIN and ABS to sys/cc.h 2015-05-18 08:53:17 +02:00
Simon Duquennoy fc178dab87 rpl_print_neighbor_list(): cast clock_time_t to unsigned for portable printout 2015-05-13 09:03:40 +02:00
George Oikonomou 11a5e0a49a Merge pull request #1051 from simonduq/fix-warning
Fixed a number of compiler warnings
2015-05-13 00:52:40 +01:00
Simon Duquennoy 5294cafd14 petsciiconv.c: move variables from global to local 2015-05-12 09:25:22 +02:00
Simon Duquennoy 259c473372 Disable RA and NA by default when RPL is used 2015-05-10 19:56:37 +02:00
Nicolas Tsiftes 05d2d843da Merge pull request #1053 from simonduq/rpl-probing
RPL probing
2015-05-10 17:22:10 +02:00
Nicolas Tsiftes 71427ed4cc Merge pull request #1016 from cetic/pr-cleanup-dodag-when-root
Remove all the DODAG from the instance when the node is set as Root
2015-05-10 17:15:25 +02:00
Nicolas Tsiftes 44af0fa66b Merge pull request #1003 from adamdunkels/pr/http-socket-dns64-tcp-socket
New HTTP socket, DNS64, IP64 Cooja tests
2015-05-10 17:14:31 +02:00
Nicolas Tsiftes f8e13758e3 Merge pull request #1017 from cetic/pr-dont-delete-instance
Do not delete instance when a new DODAG can not be created
2015-05-10 15:09:59 +02:00
Simon Duquennoy 9ced5b7bac RPL: when no probing target is found, probe least recently updated parent 2015-05-10 13:28:00 +02:00
Simon Duquennoy 832a4d3e01 Make probing expiration time configurable 2015-05-10 13:19:56 +02:00
Adam Dunkels e9f180e756 Made the first argument to uip_connect() const, to ensure it isn't altered 2015-05-10 10:51:13 +02:00
Adam Dunkels daef1ea252 Cast the addresses when copying IPv4 and IPv6 addresses using the IPv4 and IPv6 copy macros. 2015-05-10 10:51:13 +02:00
Adam Dunkels c06e6ae74d Explicitly use the IPv6 address copy macro when copying IPv6 addresses 2015-05-10 10:51:12 +02:00
Adam Dunkels b85fdfd2ae Move the ip64-addr code into the core/net/ip directory, to make it available on all platforms without having to explicitly include the core/net/ip64-addr module 2015-05-10 10:51:12 +02:00
Adam Dunkels 4bd725130c Code for starting a RPL DAG root with a delay, to allow any existing RPL networks to be joined first 2015-05-10 10:51:12 +02:00
Adam Dunkels 06daa08ffc Added a function for getting the default RPL instance 2015-05-10 10:51:11 +02:00
Adam Dunkels 33372945a3 HTTP socket code with support for GET and POST 2015-05-10 10:51:11 +02:00
Adam Dunkels ba409cce57 Treat multicast transmissions as recyclable 2015-05-10 10:36:50 +02:00
Adam Dunkels 269188846c Added support for DNS64 translation of DNS queries for IPv6 addresses to IPv4 addresses, and the translation of responses from IPv4 to IPv6 2015-05-10 10:36:50 +02:00
Adam Dunkels 251813a6dd Maintain stats about how many packets have been translated from IPv4 to IPv6 and vice versa 2015-05-10 10:36:50 +02:00
Adam Dunkels 191a57d06c Minor copyright header fix 2015-05-10 10:36:50 +02:00