Commit graph

2943 commits

Author SHA1 Message Date
Simon Duquennoy
cd76b4b1c2 RPL: support for run-time selection of the OF. RPL_OF_OCP defines the OF to be advertised at the root, while RPL_SUPPORTED_OFS defines the set of supported OFs 2016-06-03 15:46:08 +02:00
Simon Duquennoy
c5cf8608e9 RPL probing: now using link-stats to first prioritize probing of non-fresh parents, and to support urgent probing (fast probing of a potential new preferred parent 2016-06-03 15:46:07 +02:00
Simon Duquennoy
426e10c3ed Rehauling of RPL OFs, both MRHOF and OF0. Fixed compliance with RFC6551, 6552, 6719. Now using the link-stats module. 2016-06-03 15:46:06 +02:00
Simon Duquennoy
2fa239ee8d Added link-stats module to keep strack of link statistics and their freshness 2016-06-03 15:46:04 +02:00
Simon Duquennoy
4e9b027141 rpl.h: updated constants and comments to match the standard 2016-06-03 15:46:03 +02:00
Simon Duquennoy
b3ea124958 Merge pull request #1394 from joakimeriksson/nbrtable-nd6-fix
Removed memcpy that cause inconsistency in nbr-table when adding nd6 neighbors.
2016-06-03 14:44:54 +02:00
Simon Duquennoy
43c7b43adf Merge pull request #1679 from tidyjiang8/bug_chameleon_raw_hdrsize
fix the bug about chameleon raw hdrsize
2016-06-03 14:40:12 +02:00
Simon Duquennoy
84b51461e9 Merge pull request #1597 from rgrr/remove_static_from_process_c
Removed some unnecessary statics in do_event() and process_post().
2016-06-03 14:16:14 +02:00
Simon Duquennoy
26bf33c762 Merge pull request #1550 from thomas-ha/tsch-cc2538-port
Port of TSCH for CC2538
2016-06-02 21:33:55 +02:00
Antonio Lignan
34af72c047 Merge pull request #1609 from simonduq/pr/net-debug
Added net-debug.[ch] to provide debug functions even in the non-IP case
2016-06-01 23:52:34 +02:00
Antonio Lignan
9e1c378919 Merge pull request #1469 from wbober/nrf52dk-pr
Add support for nRF52 DK platform
2016-06-01 23:11:39 +02:00
Antonio Lignan
f065971efc Merge pull request #1619 from simonduq/pr/tsch-rtimer16-fix
Fix bug in TSCH for platforms with 16-bit rtimer
2016-06-01 23:03:50 +02:00
thomas-ha
8a7b1f07d1 add cc2538dk 2016-06-01 17:58:57 +02:00
thomas-ha
e537a2ea92 Add CC2538DK 2016-06-01 16:01:58 +02:00
Marco Casaroli
03ca795bd6 fix ipv6 http socket host handling as in RFC2732 2016-06-01 09:26:12 -03:00
Benoît Thébaudeau
d70c75914a cfs-coffee: Fix build warning
Fix this build warning, which is generated if micro logs are enabled:

In file included from ../../core/cfs/cfs-coffee.c:59:0:
../../core/cfs/cfs-coffee.c: In function 'read_log_page':
../../cpu/cc2538/./cfs-coffee-arch.h:145:24: warning: passing argument 1 of 'cfs_coffee_arch_read' discards 'const' qualifier from pointer target type [-Wdiscarded-qualifiers]
   cfs_coffee_arch_read((buf), (size), (offset))
                        ^
../../core/cfs/cfs-coffee.c:757:3: note: in expansion of macro 'COFFEE_READ'
   COFFEE_READ(lp->buf, lp->size, base);
   ^
../../cpu/cc2538/./cfs-coffee-arch.h:176:6: note: expected 'void *' but argument is of type 'const char *'
 void cfs_coffee_arch_read(void *buf, unsigned int size, cfs_offset_t offset);
      ^

COFFEE_READ() needs to write to lp->buf, so the target type of this
pointer cannot be qualified as "const".

Signed-off-by: Benoît Thébaudeau <benoit.thebaudeau.dev@gmail.com>
2016-05-30 23:05:11 +02:00
Mark Solters
65632cb086 Fix IPv6 HTTP URL parsing
Currently, http-socket uses a `parse_url` method which only works correctly with IPv4 hosts (e.g. `http://192.168.1.1:3000`).  When using an IPv6 host (e.g. `http://[abcd::1]:3000`), the port number is not parsed due to a pointer increment error, which leads to the algorithm assuming a default port of 80 even when the user code has specified otherwise.  This fix provides full URL parsing for IPv6 hosts, and does not break IPv4 functionality.
2016-05-26 22:42:53 -04:00
Antonio Lignan
8d6a290382 Merge pull request #1682 from simonduq/pr/fix-tsch-log
Fix tsch-log bug
2016-05-25 18:02:36 +02:00
Simon Duquennoy
2299a763d0 Fix tsch-log bug 2016-05-25 17:38:10 +02:00
Kitty(chun hua) Jiang
f5919a2a45 fix the bug about chalemeon raw hdrsize 2016-05-25 10:28:47 +08:00
Joakim Nohlgård
19550f9f7f core/cfs: Disallow seeking past the end of a file if it is not writable 2016-05-03 07:10:35 +02:00
Nicolas Tsiftes
0e9234dce6 Merge pull request #1636 from frank-freihube-rmcan-com/fixTrailingZeros
Trailing zeros in file leading to unexpected file length get set in destination buffer
2016-05-02 13:52:13 +02:00
Frank Freihube
59727ede70 fixup! make changes configurable through io_semantics() 2016-04-29 08:12:55 +02:00
Frank Freihube
5bd7fc86c3 make changes configurable through io_semantics() 2016-04-29 08:07:27 +02:00
Simon Duquennoy
1cd06a291e Merge pull request #1639 from yatch/pr-tsch-log-link-null
Handle the case when log->link is NULL in tsch_log_process_pending
2016-04-28 18:12:34 +02:00
Nicolas Tsiftes
70abb211e3 Merge pull request #1635 from simonduq/pr/dao-no-k-flag-in-nopath
RPL: do not add K flag to no-path DAO as we discard the ACK anyway
2016-04-28 14:45:01 +02:00
Nicolas Tsiftes
4d67a48d3d Merge pull request #1625 from kkrentz/llsec-fix
Fix for "LLSEC802154_CONF_ENABLED undefined"
2016-04-28 12:01:15 +02:00
Antonio Lignan
4251539237 Merge pull request #1579 from bkozak-scanimetrics/fix_csma_backoff
Use collisions for csma backoff and retry
2016-04-28 10:24:55 +02:00
Antonio Lignan
a4dfb0b660 Merge pull request #1618 from simonduq/pr/tcpip-code-style
Fixes indent in tcpip.c and uip6.c
2016-04-28 00:12:23 +02:00
Antonio Lignan
6afd56e0ee Merge pull request #1634 from simonduq/pr/daoack-fix
DAO ACK fix
2016-04-27 23:47:07 +02:00
Yasuyuki Tanaka
763c63f428 Handle the case when log->link is NULL in tsch_log_process_pending 2016-04-27 20:35:05 +02:00
Simon Duquennoy
24449e9cba Merge pull request #1637 from simonduq/pr/rpl-default-lifetime
RPL default lifetime
2016-04-27 18:18:47 +02:00
Simon Duquennoy
ace607a32d Fix RPL default lifetime 2016-04-27 17:04:29 +02:00
Simon Duquennoy
4392507019 RPL: do not add K flag to no-path DAO as we discard the ACK anyway 2016-04-27 14:20:39 +02:00
Simon Duquennoy
bb5e5d5c6b TSCH: use RTIMER_CLOCK_DIFF to compute estimated drift, fixing a bug that would occur on 16-bit rtimer platforms 2016-04-27 14:13:33 +02:00
Simon Duquennoy
0379398d7c RPL DAO ACK: increment DAO seqno before storing it to my_dao_seqno 2016-04-27 14:05:16 +02:00
Simon Duquennoy
f47c0f579d RPL DAO ACK: improve logging 2016-04-27 14:05:08 +02:00
Frank Freihube
7ba5b0d150 Trailing zeros in file leading to unexpected file length get set in destination buffer 2016-04-27 10:39:05 +02:00
Simon Duquennoy
abf08a7167 Added net-debug.[ch] to provide debug functions even in the non-IP case 2016-04-26 16:08:10 +02:00
Simon Duquennoy
90b886aa71 Csma: comply with IEEE 802.15.4 2016-04-25 08:52:48 -06:00
Billy Kozak
ca0f32f45b Use collisions for csma backoff and retry
The collision count is now used in the calculation fot the CSMA
backoff and transmission will fail after a certain number of
collisisons.
2016-04-25 08:00:56 -06:00
kkrentz
39921f1231 rdc.h: Read LLSEC802154_ENABLED instead of LLSEC802154_CONF_ENABLED 2016-04-25 03:10:42 -07:00
Simon Duquennoy
e1ea4955c7 TSCH: remove 'not for us' log 2016-04-25 11:51:43 +02:00
Simon Duquennoy
f0f13fa58b Indent uip6.c 2016-04-25 11:50:14 +02:00
Simon Duquennoy
0296e6aba0 Indent tcpip.c 2016-04-25 11:50:14 +02:00
Simon Duquennoy
f8c4d1155f Disable RPL DAO ACK by default 2016-04-23 07:54:32 +02:00
Joakim Eriksson
186138f6af added error check for extraction of aligned llao 2016-04-22 15:03:03 +02:00
Nicolas Tsiftes
86733e8702 Clarified and cleaned up Coffee's documentation and the debug statements. Formatted some source code for easier reading. 2016-04-20 14:34:17 +02:00
Nicolas Tsiftes
7f700c9564 Remove the protected memory code associated with sensornet checkpointing because this functionality has been removed from Contiki. 2016-04-20 12:47:37 +02:00
Simon Duquennoy
d828557563 Merge pull request #1425 from kkrentz/llsec-fixes
random LLSEC fixes
2016-04-19 17:29:00 +02:00
Joakim Eriksson
e9e31e9fd1 replaced add/remove ds6-nbr with an nbr-module controlled update of lladdress to avoid loss of other state information 2016-04-19 13:41:13 +02:00
Joakim Eriksson
2e852f758b added a null check on the lladdr before the memcmp. 2016-04-19 13:36:43 +02:00
Joakim Eriksson
223f002676 fixed the case when the lladdr did not change but the LLAO is there and it is not an override. 2016-04-19 13:36:43 +02:00
Joakim Eriksson
6f271bf853 fixed so that the comparison of old lladdr and llao lladdr is compared instead of two llaos - and improved code style on surrounding code 2016-04-19 13:36:43 +02:00
Joakim Eriksson
b2f72fc996 replaces with aligned lladdress and also fixed the second memcpy to avoid risk of inconsistency when nodes change MAC address 2016-04-19 13:36:43 +02:00
Joakim Eriksson
510fc9e51e removed memcpy that cause inconsistency in nbr-table when adding nd6 neighbor with NS/NA. 2016-04-19 13:36:43 +02:00
kkrentz
6fb6fd5bb9 packetbuf: No more splitting of header and data 2016-04-15 03:12:40 -07:00
kkrentz
0af4a18c09 packetbuf: Use MIN macro 2016-04-13 09:20:29 -07:00
kkrentz
3d79292e44 packetbuf: Simplified packetbuf_attr_clear 2016-04-13 09:20:29 -07:00
kkrentz
1014018c2d packetbuf: Removed debugging stuff 2016-04-13 09:20:29 -07:00
kkrentz
11c03eef79 packetbuf: Removed function prototypes 2016-04-13 09:20:29 -07:00
kkrentz
a1b91d8b59 packetbuf: Removed commented code 2016-04-13 09:20:29 -07:00
Konrad Krentz
d478c0f7f1 packetbuf: Deleted functions that are never called 2016-04-13 09:20:29 -07:00
kkrentz
7353829c72 llsec: Fix for Issue #1537 2016-04-13 09:16:09 -07:00
kkrentz
4a88e9e537 llsec: Removed TSCH_SECURITY_CONF_LEVEL and TSCH_SECURITY_LEVEL 2016-04-13 09:16:08 -07:00
kkrentz
431530bf6b llsec: Added READMEs 2016-04-13 09:16:07 -07:00
Hardy
b3f2bba3ec Removed some unnecessary statics in do_event() and process_post().
This allows the optimizer to put the corresponding variables into registers.
See also discussion about other static variables:
https://sourceforge.net/p/contiki/mailman/message/35010460/
2016-04-13 18:12:47 +02:00
kkrentz
403d332555 llsec: Make decorated framer configurable 2016-04-13 07:54:46 -07:00
kkrentz
10d8b05bc6 llsec: Permit dynamic security levels 2016-04-13 07:54:46 -07:00
kkrentz
0379af3624 llsec: Do not define surrogates in packetbuf.h, as otherwise configuration errors go unnoticed 2016-04-13 07:54:46 -07:00
Antonio Lignan
c9baf0cb57 Merge pull request #1192 from bkozak-scanimetrics/tcpip_put_temporaries_on_stack
changed tcpip static temporaries to stack vars
2016-04-13 09:30:33 +02:00
Antonio Lignan
8f064511d3 Merge pull request #1213 from joakimeriksson/dao_ack_handling
End-to-End DAO and DAO ACK handling for Contiki RPL.
2016-04-11 18:53:43 +02:00
Iván Briano
8211db64ae Allow creating connections on unspecified local port
If the given local port is 0, we get no replies.
2016-04-07 10:39:48 -03:00
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