Simon Duquennoy
494c397aba
struct queuebuf_data: swap len with data to make sure data is 32-bit aligned
2014-11-10 14:27:17 +01:00
Simon Duquennoy
c5ec342b8b
Fix deallocation in queuebuf.c, case where QUEUEBUF_STATS is set
2014-11-10 13:24:03 +01:00
Simon Duquennoy
928bb49855
Added missing memb_free in queuebuf.c
2014-11-10 12:00:41 +01:00
Nicolas Tsiftes
6ca95ebc0c
Merge pull request #811 from kkrentz/llsec-renaming
...
llsec renaming
2014-11-07 22:20:15 +01:00
Nicolas Tsiftes
b37489b0de
Merge pull request #766 from cetic/pr-6lowpan-frag-timeout
...
Fix too short 6LoWPAN reassembly timeout
2014-11-07 22:16:00 +01:00
Oskar Nordquist
5e640411f5
core/net/rime/ipolite: stop ctimer and reset queuebuf pointer when canceling old send
...
Ipolite is used by netflood and route-discovery modules among others. If a route request is yet to be re-broadcasted and a local route discovery is started (interval == 0), the previous queuebuf used is freed but ctimer and queuebuf pointer is left unchanged. This causes corrupt route requests to be sent, invalid routing tables to be formed, memcmp() on NULL pointer on receive, and other undefined behavior.
Signed-off-by: Oskar Nordquist <oskar.nordquist@crlsweden.com>
2014-10-21 15:25:52 +02:00
Nicolas Tsiftes
6fb7dd238e
Merge pull request #648 from cetic/pr-csma-fixes
...
High throughput fixes for csma and sixlowpan
2014-10-21 12:17:03 +02:00
kkrentz
0579e304e4
llsec: Renamed ccm to ccm_star & Renamed llsec regression test
2014-10-16 09:21:56 -07:00
Nicolas Tsiftes
fd47acba09
Merge pull request #808 from adamdunkels/pr/ip64
...
Conversion functions for IPv4/IPv6 addresses (missing from the NAT64 pr)
2014-10-10 00:42:37 +02:00
Adam Dunkels
5a24a781d5
The ip64-addr module converts between IPv4 and IPv6 addresses.
2014-10-09 08:07:34 +02:00
Nicolas Tsiftes
0a88764185
Merge pull request #804 from adamdunkels/pr/ip64
...
NAT64 for Contiki (RFC6164, RFC6147)
2014-10-08 19:41:09 +02:00
Adam Dunkels
d891d11324
Merge pull request #557 from kkrentz/llsec-integration
...
Integration of Link Layer Security
2014-10-08 15:45:46 +02:00
Joakim Gebart
24d15ad9a5
core/net/ip: Prevent (tiny) buffer overflow in resolv_found()
...
An off-by-one error in resolv_found() could make an strncat() call
overflow by the terminating null byte.
When building with Clang the following warning was shown:
../../../core/net/ip/resolv.c:1458:17: warning: the value of the
size argument in 'strncat' is too large, might lead to a
buffer overflow [-Wstrncat-size]
sizeof(resolv_hostname) - strlen(resolv_hostname));
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../../../core/net/ip/resolv.c:1458:17: note: change the argument to
be the free space in the destination buffer minus the
terminating null byte
sizeof(resolv_hostname) - strlen(resolv_hostname));
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
sizeof(resolv_hostname) - strlen(resolv_hostname) - 1
Signed-off-by: Joakim Gebart <joakim.gebart@eistec.se>
2014-10-02 12:52:39 +02:00
Adam Dunkels
49cb87025e
README file for the IP64 module
2014-09-14 21:26:33 +02:00
Adam Dunkels
c77bc6d3f1
NAT64 / DNS64 code for Contiki that makes connecting an IPv6 Contiki network to IPv4 networks really easy
2014-09-14 21:26:23 +02:00
Laurent Deru
7cbd59df03
Add per neighbor packet throttle
2014-08-13 10:11:02 +02:00
Laurent Deru
91d84a3086
Improve csma debug traces
2014-08-13 10:11:02 +02:00
Laurent Deru
68b9412776
Drop packet if there are not enough free buffers to perform fragmentation
2014-08-13 10:11:02 +02:00
Laurent Deru
704e32015b
Fix too short 6LoWPAN reassembly timeout
2014-08-06 16:56:37 +02:00
kkrentz
677c078302
sicslowpan: Fixed too aggresive fragmentation
2014-08-05 05:07:06 -07:00
kkrentz
2cf7d98cad
ContikiMAC: Create and parse ContikiMAC header in special framer; Expanded framer interface
...
to allow for creating and securing frames in advance; Create and secure frames in advance when sending bursts; Do neither recreate nor resecure frames that come from phase
2014-08-05 05:07:06 -07:00
kkrentz
515287ef17
llsec: Removed superseded NETSTACK_ENCRYPT, NETSTACK_DECRYPT, and
...
NETSTACK_ENCRYPTION_INIT macros
2014-08-05 05:07:05 -07:00
kkrentz
c032b67969
llsec: Noncompromise-resilient 802.15.4 security
2014-08-05 05:07:05 -07:00
kkrentz
d8851df858
llsec: Replay protection
2014-08-05 05:07:05 -07:00
kkrentz
41c5dbf961
llsec: Disable duplicate detection when the LLSEC driver provides replay protection anyway.
2014-08-05 05:07:05 -07:00
kkrentz
d161ffcb64
llsec: Allow for sharing CCM*
2014-08-05 05:07:05 -07:00
kkrentz
07ef46a6e2
llsec: Allow for sharing endianness functions
2014-08-05 05:04:15 -07:00
kkrentz
eaae9f1100
llsec: Calling NETSTACK_LLSEC.on_frame_created()
2014-08-05 05:04:15 -07:00
kkrentz
8659c97fb0
framer-802154: Support for explicit keys
2014-08-05 05:04:15 -07:00
kkrentz
124dde25f3
framer-802154: Conditional compilation of security-related code
2014-08-05 05:04:14 -07:00
kkrentz
fb6d2270ab
framer-802154: Simplification of frame802154_create
2014-08-05 05:04:14 -07:00
kkrentz
11495a011c
framer-802154: Renamed variable for the sake of consistency
2014-08-05 05:04:14 -07:00
kkrentz
1d324e50d2
framer-802154: Sequence number fix
2014-08-05 05:04:14 -07:00
kkrentz
9dc9e4bd9f
framer-802154: Support for setting and accessing the frame type
...
attribute
2014-08-05 05:04:14 -07:00
kkrentz
19c9ef0a95
framer-802154: Support for creating and parsing frames with security headers
2014-08-05 05:04:14 -07:00
kkrentz
be22883724
framer-802154: Introduced mnemonic variable
2014-08-05 05:04:14 -07:00
kkrentz
c9ad9c04bd
framer-802154: Style fixes
2014-08-04 01:09:57 -07:00
kkrentz
a5a9b42457
packetbuf: Made packetbuf_hdrlen applicable to inbound packets, too
2014-08-04 01:09:57 -07:00
kkrentz
bb74fc320f
llsec: Configuration option for defining a constant LoWPAN-wide security level
2014-08-04 01:09:57 -07:00
kkrentz
c396a85364
llsec: Added a layer in between NETSTACK_MAC and NETSTACK_NETWORK for implementing link layer security
2014-08-04 01:09:57 -07:00
Nicolas Tsiftes
582bfcb8c6
Merge pull request #696 from sieben/doc
...
Correct several doxygen tags (\file,...)
2014-07-28 11:42:41 +02:00
Rémy Léone
8c3fa17ec0
Correct several doxygen tags (\file)
2014-07-28 11:11:45 +02:00
Nicolas Tsiftes
ccc75404f4
Merge pull request #711 from gebart/upstream-fix-implicit-definitions
...
uip.h missing #include <string.h>
2014-07-02 16:36:03 +02:00
Rémy Léone
f111058472
Removing trailing whitespaces
2014-06-30 20:01:05 +02:00
Laurent Deru
02972e6514
Improve RPL hop-by-hop option detection
2014-06-27 09:45:57 +02:00
Laurent Deru
d45782fbcd
Insert properly Hop-by-Hop option at first hop
2014-06-27 09:45:51 +02:00
Laurent Deru
2dfe2c377f
Setting uip_ext_len again breaks hop-by-hop option
2014-06-27 09:43:53 +02:00
Laurent Deru
b6742e5eb5
Sender rank in Hop-by-Hop option has inverted bytes
2014-06-27 09:43:53 +02:00
George Oikonomou
32a7572f25
Fix SDCC Compile Error
2014-06-17 22:20:49 +01:00
Nicolas Tsiftes
24e260910c
Merge pull request #718 from g-oikonomou/rpl-dodagid-compliance
...
Make DODAG ID selection RFC 6550-compliant
2014-06-13 15:33:56 +02:00
Nicolas Tsiftes
4ce3e4dee8
Merge pull request #701 from tim-ist/routing_fix
...
Re-create a routing table entry if the next hop is changed.
2014-06-13 14:56:56 +02:00
Timofei Istomin
65ef375bdb
Re-create a routing table entry if the next hop is changed.
...
The next-hop address did not get updated in the routing table
in case an entry for the destination already existed.
This patch resolves the issue by removing the entry and
having it re-created from scratch.
The issue causes a routing error triggering reconstruction of
the DODAG through version increase.
In case of somewhat frequent downward traffic in not (yet) stabilized DODAG
a vicious circle is formed: unstable topology means churn, downward
routing under churn causes reconstruction of DODAG. In this situation
the network does not have chance to stabilize.
We encountered a constant churn caused by this bug
in a network of 50 nodes and a periodic traffic (a packet every 5
seconds) generated at the root.
More info and a PCAP demonstrating the issue can be found here:
https://github.com/contiki-os/contiki/issues/496
2014-06-13 13:31:15 +02:00
George Oikonomou
32bc98b0da
Fix code style in rpl_set_root prototype
2014-06-11 23:59:17 +01:00
Adam Dunkels
cff30a394b
Merge pull request #635 from nfi/linkaddr-size
...
Use LINKADDR_SIZE instead of sizeof(linkaddr_t) to avoid struct padding problems.
2014-06-11 23:18:27 +02:00
Adam Dunkels
eceaf0c59b
Merge pull request #631 from nfi/framer-len
...
Added function to framer that returns the estimated header length
2014-06-11 23:17:47 +02:00
Adam Dunkels
0516927677
Merge pull request #666 from simonduq/rpl-etx-init
...
Set initial link ETX to 2
2014-06-11 22:42:48 +02:00
Joakim Gebart
997aef49d8
core/net/uip.h: Add missing #include <string.h>
...
Fixes implicit definition of memcmp() warnings/errors.
Signed-off-by: Joakim Gebart <joakim.gebart@eistec.se>
2014-06-11 18:04:34 +02:00
Rémy Léone
25c8b0835d
Closing doxygen groups
2014-05-30 11:01:20 +02:00
Nicolas Tsiftes
443bbd3948
Merge pull request #664 from simonduq/rpl-link-metric-init-fix
...
RPL MRHOF: bypass EWMA when setting a parent's link metric for the first time
2014-05-14 16:42:29 +02:00
Jens Dede
8820597cca
Merge branch 'master' of git://github.com/contiki-os/contiki into ds6_period_configurable
2014-05-08 09:27:43 +02:00
Simon Duquennoy
5aab392a22
Set default link ETX to 2
2014-05-07 16:27:24 +02:00
Nicolas Tsiftes
f34165bda4
Merge pull request #647 from cetic/pr-select-dag-fix
...
rpl_select_parent: Only check parents belonging to the given dag
2014-05-07 16:13:47 +02:00
Nicolas Tsiftes
812a0299a8
Merge pull request #649 from cetic/pr-dio-preference-fix
...
Add user configuration of DIO preference field
2014-05-07 16:12:56 +02:00
Simon Duquennoy
33cfd92475
RPL MRHOF with ETX: bypass weighted moving average when setting a parent's link metric for the first time
2014-04-29 16:25:16 +02:00
Laurent Deru
3b503da680
Add user configuration of DIO preference field
2014-04-18 16:26:23 +02:00
Laurent Deru
3fb0d69be6
Remove duplicated configuration parameters definition
2014-04-18 15:37:31 +02:00
Jens Dede
446208dc1c
Merge branch 'master' of git://github.com/contiki-os/contiki into ds6_period_configurable
2014-04-18 13:33:01 +02:00
Jens Dede
96a70f9ab0
Rename as suggested by g-oikonomou
2014-04-18 13:32:40 +02:00
Laurent Deru
79537a6dd7
rpl_select_parent: Only check parents belonging to the given dag
2014-04-18 11:39:33 +02:00
Nicolas Tsiftes
ce2ed95b93
Merge pull request #585 from g-oikonomou/generic-icmp6-in-hooks
...
Generic ICMPv6 input hooks
2014-04-14 16:12:10 +02:00
Niclas Finne
b1335b08a8
Changed to use LINKADDR_SIZE instead of sizeof() to select between
...
short address and long address as some platforms might use padding in
the struct. This fixes #555 .
2014-04-11 17:24:16 +02:00
Niclas Finne
68730566a3
Added method to framer that returns the header length if the framer
...
would create a header with the current packet information.
This allows sicslowpan to calculate the max payload size without
consuming a sequence number or clearing/restoring the packet buffer.
2014-04-11 17:03:23 +02:00
Nicolas Tsiftes
3829860c3c
Merge pull request #620 from adamdunkels/push/socket-api
...
New TCP and UDP socket APIs
2014-04-09 22:12:59 +02:00
Nicolas Tsiftes
a7dbf46b8e
Merge pull request #608 from nvt/rpl-fixes
...
Minor RPL improvements
2014-04-07 11:13:38 +02:00
George Oikonomou
529ab761ac
Register generic ICMPv6 handlers for ROLL TM
2014-04-04 00:09:29 +01:00
George Oikonomou
017697f91d
Register generic ICMPv6 handlers for RPL
2014-04-04 00:09:27 +01:00
George Oikonomou
1d3da44991
Register generic ICMPv6 handlers for IPv6 ND
2014-04-04 00:09:26 +01:00
George Oikonomou
af43d2125b
Register generic handlers for ICMPv6 Echo Request / Reply
2014-04-04 00:02:53 +01:00
George Oikonomou
1d84962e80
Replace old switch-based ICMPv6 type/code management
2014-04-04 00:02:53 +01:00
George Oikonomou
b6978b30e8
Declare and Implement generic ICMPv6 handler management
2014-04-04 00:02:52 +01:00
Nicolas Tsiftes
429024f0a1
Merge pull request #609 from adamdunkels/push/csma-fix
...
CSMA bugfix: count transmissions correctly
2014-03-28 17:27:30 +01:00
Nicolas Tsiftes
0a202d3952
Cleaned up some of the comments and output strings.
2014-03-28 13:38:52 +01:00
Nicolas Tsiftes
afbb82030e
Ensure that the objective function's reset function is called at least once. This will enable the objective function to initialize itself during run-time.
2014-03-28 13:38:52 +01:00
Nicolas Tsiftes
7f4d3e3d7b
Avoid calling rpl_lock_parent for uninitialized memory. Renamed p to parent to make reading easier.
2014-03-27 15:55:38 +01:00
Nicolas Tsiftes
1c560fb9db
The check should be whether RPL_DIS_SEND is non-zero, not whether it is defined.
2014-03-27 15:44:18 +01:00
Nicolas Tsiftes
5aca90e73d
Use the same scale for ETX calculation as for rank calculations to avoid conversion errors between the two.
2014-03-27 15:44:15 +01:00
Adam Dunkels
d53ba5aa3c
The TCP socket API code
2014-03-24 08:42:28 +01:00
Adam Dunkels
d1d82eb179
The UDP socket API code
2014-03-24 08:42:13 +01:00
Adam Dunkels
5b1a9f5bc2
Bugfix: when a packet is sent by the RDC layer, we should count the number of transmissions made because a single callback can pertain to multiple transmissions at the RDC layer.
2014-03-24 08:36:18 +01:00
George Oikonomou
e044fa5cab
Factor out multicast stats
2014-03-05 21:04:50 +00:00
George Oikonomou
54b55e96c4
Check Tactive irrespective of suppression
2014-03-05 20:31:19 +00:00
George Oikonomou
9f4cdab1fb
Don't advertise datagrams older than Tactive
2014-03-05 20:31:19 +00:00
George Oikonomou
775928fa3f
Improve sliding window inclusion in ICMPv6 messages
...
Don't include a sliding window in the ICMPv6 datagram
unless the window has at least one active datagram
associated with it
2014-03-05 20:31:19 +00:00
George Oikonomou
7fb99ed7c2
Point to the correct trickle param
2014-03-05 20:31:18 +00:00
George Oikonomou
230881df44
Multicast README
2014-03-05 20:31:17 +00:00
George Oikonomou
226701b098
Implement multicast engine hooks in the uIPv6 core
...
- init()
- process incoming multicast datagram
- Pass ICMPv6 trickle messages to the engine
2014-03-05 20:31:16 +00:00
George Oikonomou
151533b9bc
Implementation of the Trickle multicast engine
2014-03-05 20:31:16 +00:00
George Oikonomou
6f3a1eb032
Implementation of the SMRF multicast engine
2014-03-05 20:31:16 +00:00
George Oikonomou
da4ce5b54d
RPL Multicast group management with MOP 3
2014-03-05 20:31:15 +00:00
George Oikonomou
0ad09aa842
We now know how to select our source address for outgoing routable multicast datagrams
2014-03-05 20:31:15 +00:00