Simon Duquennoy
dbb82f2439
Merge pull request #1158 from bkozak-scanimetrics/contikimac_fix_first_cycle_start
...
Fixed wrong first cycle_start
2016-07-25 14:57:38 +02:00
Simon Duquennoy
cda89aaaf2
Merge pull request #1217 from tiagoshibata/c64_compilation_fixes
...
Fixes compilation targeting c64
2016-07-25 14:57:24 +02:00
Simon Duquennoy
21387b954f
Merge pull request #1493 from simonduq/pr/add-missing-ext-hdr
...
Insert RPL ext header before sending ICMP, UDP and TCP messages
2016-07-25 14:56:25 +02:00
Simon Duquennoy
ff5a4751c8
Merge pull request #1610 from simonduq/pr/tsch-rime
...
TSCH with Rime
2016-07-25 14:55:37 +02:00
George Oikonomou
9d3e4bc591
Merge pull request #1789 from tidyjiang8/tidy.0718
...
Update comments: RFC3513 is obsoleted by RFC4921
2016-07-24 15:18:56 +01:00
Sumankumar Panchal
6dfd358821
TSCH port for CC2538 based platforms.
2016-07-22 09:38:25 +05:30
Kitty(chun hua) Jiang
b5bc140680
Update comments: RFC3513 is obsoleted by RFC4921
2016-07-18 17:29:16 +08:00
Atis Elsts
081ec100a4
TSCH: add RADIO_DELAY_BEFORE_DETECT to rx guard time when waiting for a packet to be received
2016-07-16 18:08:41 +01:00
Nicolas Tsiftes
8a5886dfa1
Merge pull request #1767 from simonduq/pr/missing-return
...
RPL: added missing return, to not join instances with unsupported MOP
2016-07-15 21:10:57 +02:00
Simon Duquennoy
80b9bfea93
Merge pull request #1723 from gebart/pr/ieee802154-addr-mode-bugfix
...
core/net/mac/frame802154: Fix typo in PAN ID compression condition
2016-07-05 18:10:21 +02:00
Simon Duquennoy
4ceaaba4bd
RPL: added missing return, to not join instances with unsupported MOP
2016-07-05 12:13:46 +02:00
Joakim Nohlgård
6f8306a465
core/net/mac/frame802154: Fix typo in PAN ID compression condition
2016-07-04 18:18:55 +02:00
Mohamed Seliem
5d99008afb
remove duplicate include
...
Update uip-ds6-nbr.h
2016-07-01 11:12:52 +02:00
Simon Duquennoy
00f2344b4a
RPL insert_srh_header: return success when no SRH is needed because the destination is a direct child
2016-06-29 17:26:01 +02:00
Simon Duquennoy
d73b229624
Fix and cleanup RPL ext header handling
2016-06-29 17:26:01 +02:00
Simon Duquennoy
e584a54608
Insert RPL ext header in tcpip_ipv6_output for consistency
2016-06-29 17:25:10 +02:00
Simon Duquennoy
5eb022fdd8
Merge pull request #1750 from yatch/pr/improve-rpl-ext-hdr
...
Improve RPL extension headers handling
2016-06-29 10:38:17 +02:00
George Oikonomou
a509aa7136
Merge pull request #1689 from kqorany/kqorany-esmrf
...
A new multicast engine called ESMRF for RPL
2016-06-28 23:23:30 +01:00
George Oikonomou
5e66770aaf
Merge pull request #1734 from yatch/pr/pr-fix-mcast6-macro
...
Fix the source address selection for multicast packets
2016-06-28 23:22:08 +01:00
Yasuyuki Tanaka
ffdc53718d
RPL: code cleanup (rpl-ext-header.c)
2016-06-27 20:57:48 +02:00
Yasuyuki Tanaka
13f18fd842
RPL: update uip_ext_len whenever moving to next header (rpl-ext-header.c)
2016-06-27 20:57:48 +02:00
Yasuyuki Tanaka
5a79bad4b1
RPL: prevent unintended memory access (rpl_remove_header)
...
When it goes to the default label in the switch statement of
rpl_remove_header(), UIP_EXT_BUF does not always point to an IPv6 extension
header. "Move to next header" process should be done only in case of
UIP_PROTO_DESTO. Otherwise, it returns with doing nothing.
2016-06-27 20:57:48 +02:00
Yasuyuki Tanaka
e361c49f14
RPL non-storing: fix a bug causing an infinite loop
...
It falls into an infinite loop if it goes to the default label in the switch
statement of rpl_srh_get_next_hop() or rpl_process_srh_header().
2016-06-27 20:57:48 +02:00
Simon Duquennoy
54957e4e03
mac-seqno: add a lifetime to sequence numbers in history
2016-06-24 11:23:19 +02:00
Simon Duquennoy
27b20b09a3
TSCH: enable adaptive time synchronization by default
2016-06-23 22:39:54 +02:00
Simon Duquennoy
15dc86aeb1
TSCH: reduce keep-alive traffic as we get more accurate drift estimates
2016-06-23 22:39:44 +02:00
Simon Duquennoy
beb532e7e8
TSCH: use sequence number only for unicast data frames
2016-06-23 22:36:00 +02:00
Benoît Thébaudeau
8fd7719c07
noncoresec: Fix build errors with DEBUG set to 1
...
Fix these build errors, which are generated if DEBUG is set to 1:
../../core/net/llsec/noncoresec/noncoresec.c: In function 'parse':
../../core/net/llsec/noncoresec/noncoresec.c:198:54: error: expected ')' before 'PRIu32'
PRINTF("noncoresec: received unauthentic frame %"PRIu32"\n",
^
../../core/net/llsec/noncoresec/noncoresec.c:88:28: note: in definition of macro 'PRINTF'
#define PRINTF(...) printf(__VA_ARGS__)
^
../../core/net/llsec/noncoresec/noncoresec.c:198:12: warning: spurious trailing '%' in format [-Wformat=]
PRINTF("noncoresec: received unauthentic frame %"PRIu32"\n",
^
../../core/net/llsec/noncoresec/noncoresec.c:88:28: note: in definition of macro 'PRINTF'
#define PRINTF(...) printf(__VA_ARGS__)
^
../../core/net/llsec/noncoresec/noncoresec.c:198:12: warning: spurious trailing '%' in format [-Wformat=]
PRINTF("noncoresec: received unauthentic frame %"PRIu32"\n",
^
../../core/net/llsec/noncoresec/noncoresec.c:88:28: note: in definition of macro 'PRINTF'
#define PRINTF(...) printf(__VA_ARGS__)
^
../../core/net/llsec/noncoresec/noncoresec.c:231:54: error: expected ')' before 'PRIu32'
PRINTF("noncoresec: received replayed frame %"PRIu32"\n",
^
../../core/net/llsec/noncoresec/noncoresec.c:88:28: note: in definition of macro 'PRINTF'
#define PRINTF(...) printf(__VA_ARGS__)
^
../../core/net/llsec/noncoresec/noncoresec.c:231:15: warning: spurious trailing '%' in format [-Wformat=]
PRINTF("noncoresec: received replayed frame %"PRIu32"\n",
^
../../core/net/llsec/noncoresec/noncoresec.c:88:28: note: in definition of macro 'PRINTF'
#define PRINTF(...) printf(__VA_ARGS__)
^
../../core/net/llsec/noncoresec/noncoresec.c:231:15: warning: spurious trailing '%' in format [-Wformat=]
PRINTF("noncoresec: received replayed frame %"PRIu32"\n",
^
../../core/net/llsec/noncoresec/noncoresec.c:88:28: note: in definition of macro 'PRINTF'
#define PRINTF(...) printf(__VA_ARGS__)
^
PRIu32 is not defined, so replace it with a standard format directive.
Signed-off-by: Benoît Thébaudeau <benoit.thebaudeau.dev@gmail.com>
2016-06-23 22:10:43 +02:00
Simon Duquennoy
ab706a6f33
TSCH: map RPL trickle interval to TSCH EB period
2016-06-23 18:48:01 +02:00
Simon Duquennoy
ee60355c9c
TSCH: implement off()
2016-06-23 18:38:12 +02:00
Simon Duquennoy
b1dc8205f0
TSCH: minor logging enhancement
2016-06-23 18:37:42 +02:00
Simon Duquennoy
5a1a8e84d8
TSCH: start scheduling keep-alives only after tsch_is_associated is set
2016-06-23 18:36:04 +02:00
Simon Duquennoy
1acb69e280
TSCH: keep track of Rx channel as packetbuf attribute
2016-06-23 18:35:16 +02:00
Simon Duquennoy
f1922c13b6
TSCH: use standard-compliant mac-squence module rather than custom duplicate detection
2016-06-23 18:21:05 +02:00
Yasuyuki Tanaka
e5ac3df7e1
Include uip-mcast6.h to refer to UIP_IPV6_MULTICAST
2016-06-20 16:35:09 +02:00
Yasuyuki Tanaka
ca3a4726d1
Rename two macros related to multicast, which are not user configuration
...
- UIP_CONF_IPV6_MULTICAST -> UIP_IPV6_MULTICAST
- RPL_CONF_MULTICAST -> RPL_WITH_MULTICAST
2016-06-20 16:35:09 +02:00
Yasuyuki Tanaka
704847db04
Fix a typo, UIP_IPV6_CONF_MULTICAST, in a comment with UIP_CONF_IPV6_MULTICAST
2016-06-20 16:35:09 +02:00
Yasuyuki Tanaka
b074e5c3e0
Replece UIP_IPV6_MULTICAST_RPL in a comment with RPL_CONF_MULTICAST
2016-06-20 16:35:09 +02:00
Antonio Lignan
fba37e0131
Merge pull request #1624 from cedric-d/prevent-uip-buffer-overread
...
Prevent uIP buffer over-read with big UDP packets
2016-06-15 13:08:45 +02:00
George Oikonomou
5fe95fc425
Merge pull request #1709 from atiselsts/cc26xx_tsch_port
...
TSCH port for CC26xx
2016-06-15 10:28:58 +01:00
cedric-d
67e0575bd3
Prevent uIP buffer over-read with big UDP packets
...
When an UDP packet too big to fit in the uIP packet buffer is to be sent, the part fitting in the uIP buffer is copied to it (so no buffer overflow occurs) but uIP actually sends a packet of the original size therefore a buffer over-read occurs.
This modification makes uIP discard the UDP packets that do not fit in the uIP packet buffer.
2016-06-15 10:51:20 +02:00
Simon Duquennoy
872146def0
Merge pull request #1720 from joakimeriksson/rpl_ns_periodic
...
Fix for compilation with clang - issue reported by Olaf Bergmann
2016-06-15 10:27:58 +02:00
Antonio Lignan
fa88122140
Merge pull request #1589 from ibriano/master
...
Allow creating connections on unspecified local port
2016-06-14 21:30:34 +02:00
Atis Elsts
6800f9502e
Update the list of supported platforms in TSCH README file
2016-06-14 19:47:59 +03:00
Simon Duquennoy
30e820ffa5
Merge pull request #1708 from atiselsts/tsch_enhancements
...
TSCH enhancements
2016-06-13 20:58:02 +02:00
Joakim Eriksson
7853a7434b
fix for compilation with clang - issue reported by Olaf Bergmann
2016-06-13 16:18:16 +02:00
Simon Duquennoy
4fd8f67053
Merge pull request #1715 from sumanpanchal/zoul-tsch
...
TSCH port for Zolertia ReMote/Zoul.
2016-06-13 09:03:16 +02:00
Tiago Koji Castro Shibata
c2a0f739f7
Compilation targeting c64
...
Adds some casts required by cc65 compiler and small fixes
2016-06-12 21:16:01 -03:00
Pablo Corbalán
910f828975
Remove unneeded state refresh and set reachable timer upon adding a nbr
2016-06-12 18:40:13 +01:00
Pablo Corbalán
373e5653e6
uIPv6: Make sure dest address is not multicast before refreshing the state of a neighbor
2016-06-12 18:40:12 +01:00
Pablo Corbalán
0fb47d0a2d
Refresh nbr reachable state after received IPv6 unicast message
2016-06-12 18:40:04 +01:00
Sumankumar Panchal
373fda46f7
TSCH port for Zolertia ReMote/Zoul.
2016-06-12 16:37:01 +05:30
jcook
d52cf767e5
Remove useless `else' block as def_route will be removed before if existed.
2016-06-12 06:45:04 +02:00
Simon Duquennoy
63565b109d
Fix TSCH_AUTOSELECT_TIME_SOURCE to work with 2-byte addresses and with the new nbr_table_add_lladdr interface
2016-06-10 20:59:42 +02:00
Simon Duquennoy
ac16fb9e2b
TSCH fixes for the short-address case
2016-06-10 20:58:40 +02:00
Atis Elsts
f0fcff2d1a
TSCH: declare radio_rx_mode
only when HW timestamps are enabled to avoid warnings
2016-06-10 15:04:07 +03:00
Atis Elsts
5b728691ad
TSCH: add missing include
2016-06-10 15:04:07 +03:00
Atis Elsts
fbb66f9cd5
TSCH: allow to configure channel scanning duration during the join phase
2016-06-10 15:04:07 +03:00
Atis Elsts
b57009e564
TSCH: fix signedness in adaptive timesync
2016-06-10 15:04:07 +03:00
Atis Elsts
03d511c2be
tsch-slot-operation.c: use ABS() instead of abs() for consistency with the rest of Contiki
2016-06-10 15:04:06 +03:00
Atis Elsts
f6967c1f58
read RADIO_PARAM_LAST_RSSI and RADIO_PARAM_LAST_PACKET_TIMESTAMP only after the last packet has been read in TSCH: reading the packet might update these values
2016-06-10 15:04:06 +03:00
Atis Elsts
45510f57fa
TSCH: add option to not to turn off radio during active TSCH timeslots
2016-06-10 15:04:06 +03:00
Atis Elsts
723c7e1117
print TSCH clock drift ppm whenever updated
2016-06-10 15:04:06 +03:00
Atis Elsts
b3afd65b1d
fix a few comments in TSCH
2016-06-10 15:04:06 +03:00
Atis Elsts
0cb222e6e1
add 2-channel TSCH hopping sequence
2016-06-10 15:04:06 +03:00
Tommy Sparber
27cceda1e8
rpl-ext-header: Use 8-octet unit for HBHO length
...
According to RFC 2460 the length field of the Hop-by-Hop options header
should use a 8-octet unit (multiple of 8 byte).
In a normal configuration the RPL_HOP_BY_HOP_LEN define is 8, so the
current implementation works, but if RPL_HOP_BY_HOP_LEN is a multiple
of 8 the length is not calculated correctly.
2016-06-08 17:37:59 +02:00
Simon Duquennoy
535ff25da2
RPL non-storing defensive link update: make sure the topology is loop-free at all times
2016-06-08 14:14:03 +02:00
Simon Duquennoy
d5e74b9579
Code style
2016-06-08 14:05:37 +02:00
Simon Duquennoy
0f5e3413fa
Simplify dao_input
2016-06-08 14:04:47 +02:00
Simon Duquennoy
6c4d5312ae
uip-icmp6.c: call rpl_insert_header only when UIP_CONF_IPV6_RPL is set
2016-06-08 14:03:28 +02:00
Simon Duquennoy
4208973017
Fix DAO-ACK support for non-storing
2016-06-08 14:03:27 +02:00
Simon Duquennoy
6cdec70798
rpl_verify_header: do not select DAG in storing mode after updating neighbor rank, as this may result in a No-Path DAO being sent, which will drop the current packet.
2016-06-08 14:03:26 +02:00
Simon Duquennoy
343c274359
RPL: re-enable RPL_DIO_REFRESH_DAO_ROUTES by default as it is needed with DAO-ACK disabled. Now increments the DTSN only at the root
2016-06-08 14:03:25 +02:00
Simon Duquennoy
ded71a7400
RPL: add neighbor to cache on incoming DIO also at the root
2016-06-08 14:03:23 +02:00
Simon Duquennoy
1a7133bbf2
Simplified configuration of RPL non-storing mode
2016-06-08 14:03:21 +02:00
Simon Duquennoy
f26ea34c61
Run RPL regression tests in non-storing mode
2016-06-08 14:03:19 +02:00
Yasuyuki Tanaka
eef233ceab
Clear the uIP buffer before calling dao_ack_output()
2016-06-08 14:02:52 +02:00
Yasuyuki Tanaka
bb69e35c76
Fix typos causing compilation errors in rpl_srh_get_next_hop()
2016-06-08 14:02:51 +02:00
Yasuyuki Tanaka
f53bae6225
Remove a debug message showing "SRH Next Hop" in insert_srh_header()
2016-06-08 14:02:50 +02:00
Yasuyuki Tanaka
2abf27a6f7
Remove an unnecessary NULL-check in insert_srh_header()
2016-06-08 14:02:49 +02:00
Yasuyuki Tanaka
97a362acdc
Use a stricter check in rpl_srh_get_next_hop()
2016-06-08 14:02:48 +02:00
Yasuyuki Tanaka
0be30628ce
Enable the root to send back a DAO-ACK
2016-06-08 14:02:47 +02:00
Simon Duquennoy
b3e31e1456
Implement RPL non-storing mode
2016-06-08 14:02:45 +02:00
Simon Duquennoy
d14b76d869
RPL: logging fixes
2016-06-08 14:02:44 +02:00
Khaled Qorany
37360aae51
Implementation of the ESMRF engine
2016-06-07 23:08:40 +02:00
Billy Kozak
72b4d38ab3
Put some uip6 temporaries on the stack
...
Some "temporary" variables were declared with static storage duration
for no good reason.
Replaced them with local stack variables wherever they were used.
There are still some variables that are unecesarily given static
duration which I have left alone.
2016-06-07 09:59:46 -06:00
Billy Kozak
ac6a1c5255
Fixed wrong first cycle_start
...
The first time that powercycle() runs, cycle_start is incremented
by CHECK_TIME twice which causes the second cycle to be late.
This commit fixes this.
2016-06-07 08:13:18 -06:00
Simon Duquennoy
8cdff8c21b
Merge pull request #1696 from momote-io/fixes
...
fix ipv6 http socket host handling as in RFC2732
2016-06-05 12:46:59 +02:00
Marco Casaroli
47df9c4e6e
code style
2016-06-04 16:47:52 -03:00
Simon Duquennoy
223a69cef5
Merge pull request #1535 from bkozak-scanimetrics/fix_strcasecmp_warning
...
Fix warning about missing strcasecmp definition
2016-06-04 15:05:06 +02:00
Antonio Lignan
9dc1e57c85
Merge pull request #1683 from msolters/patch-1
...
Fix IPv6 HTTP URL parsing
2016-06-04 07:59:50 +02:00
Simon Duquennoy
797bead5e5
RPL: if a neighbor is unreachable, remove routes via this neighbor
2016-06-03 18:43:36 +02:00
Simon Duquennoy
b73b6082fc
link_stats_input_callback: do not use EWMA when initializing RSSI
2016-06-03 18:43:35 +02:00
Simon Duquennoy
8ae00caea8
RPL: more robust configuration of mrhof in the squared ETX case
2016-06-03 18:43:35 +02:00
Simon Duquennoy
e6cd029090
rpl_remove_routes_by_nexthop: expire routes rather than remove then directly. The routes will be removed later and No-path DAOs sent accordingly in rpl_purge_routes
2016-06-03 18:43:28 +02:00
Marco Casaroli
19e08de0e2
use memchr instead of strchr for checking if host is ipv6
2016-06-03 12:12:24 -03:00
Marco Casaroli
e657ca40e9
return error if host does not fit in host string
2016-06-03 12:11:51 -03:00
Marco Casaroli
cade3c7699
Merge branch 'master' of https://github.com/contiki-os/contiki into fixes
2016-06-03 11:49:04 -03:00
Simon Duquennoy
d008bf8a76
Fix rpl_select_parent in the non-probing case
2016-06-03 16:44:14 +02:00
Simon Duquennoy
43b01b3236
RPL: if the best parent is not fresh, use the best fresh instead and utilize urgent probing to update link estimates
2016-06-03 16:44:14 +02:00