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
13d9510715
llsec: Allow for sharing AES-128
2014-08-05 05:07:04 -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
Adam Dunkels
62b8aafb03
Merge pull request #722 from royscheefhals/contiki-fix
...
char * data to void * data parameter in process_start
2014-07-28 22:04:36 +02: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
Enrico Joerns
1654152193
[core] timer: Added note that timer_reset must not be executed before timer expired
...
Should save some users debugging time while adding no computation overhead
that would be needed for range checks
2014-07-10 11:33:00 +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
Roy Scheefhals
1058ea986a
Changed the parameter 'char * data' of process_start to the
...
type process_data_t. This was an artifact when the choice was
made to use the void * type for the data parameter in processes.
Changed parameter 'void * data' of process_post_synch to
process_data_t for consistency.
Checked all the uses of process_start() in contiki and fixed casts
of the data parameter.
2014-06-12 13:40:28 +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
Adam Dunkels
def57199b9
Merge pull request #511 from ADVANSEE/leds
...
leds: Fixes and enhancements
2014-06-11 22:37:34 +02:00
Nicolas Tsiftes
40d33657a3
Merge pull request #710 from nvt/coffee-filename-fix
...
Coffee: Copy the correct number of bytes in filenames
2014-06-11 18:10:12 +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
Nicolas Tsiftes
fb4fc312f1
Merge pull request #612 from nfi/assert
...
Undefine the assert macro to avoid compiler warning.
2014-06-11 15:43:17 +02:00
Nicolas Tsiftes
7004355c0f
Do not copy more bytes than the filename string contains.
2014-06-11 14:10:00 +02:00
Adam Dunkels
64f65b4e45
Merge pull request #617 from nfi/extended-radio-api
...
Extended radio API with support for setting channel, pan id, addressing modes, etc
2014-06-03 21:32:53 +02:00
Nicolas Tsiftes
039dc5fb73
Merge pull request #667 from simonduq/ipv6-ndp-in-default-conf
...
Add UIP_CONF_ND6_SEND_NA to contiki-default-conf.h
2014-06-02 10:51:52 +02:00
Rémy Léone
25c8b0835d
Closing doxygen groups
2014-05-30 11:01:20 +02:00
Lars Schmertmann
50481722a8
Enabled 2nd button on platform econotag
2014-05-23 11:50:12 +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
7367eb1829
Add UIP_CONF_ND6_SEND_NA to contiki-default-conf.h
2014-05-05 19:52:52 +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
Brad Campbell
a96dc90250
[SPI] Make SPI_FLUSH() more versatile
...
Currently the SPI driver in core/ sets `SPI_FLUSH()` to be a single read
of the spi RX buffer. This is fine for many microcontrollers, but newer
platforms like the CC2538 have a multi-byte FIFO for the RX buffer. In
that case, a single read is not guaranteed to flush the RX. This commit
allows `SPI_FLUSH()` to be platform dependent if needed, but doesn't
change for platforms where it works.
2014-04-15 14:04:42 -04: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
Adam Dunkels
1075effa22
Include udp-socket.h and tcp-socket.h by default in all applications that include contiki-net.h
2014-04-09 22:01:18 +02:00
Niclas Finne
8ea9cb7693
Split the radio parameter ADDRESS_HANDLER into RX_MODE and TX_MODE.
2014-04-09 21:25:40 +02:00
Nicolas Tsiftes
2284ef5ef2
Enhanced the documentation.
2014-04-08 16:42:16 +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
Niclas Finne
5f265ced2f
Added stub for extended radio API for nullradio
2014-04-03 13:38:18 +02:00
Niclas Finne
5112082a48
Extended radio API definitions with support for setting channel, pan id, etc.
2014-04-03 13:38:06 +02: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
Niclas Finne
db3a42fc43
Redefine assert if already defined since some platforms already have an assert definition
2014-03-28 11:38:38 +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
Adam Dunkels
ce4bb5360b
Merge pull request #364 from g-oikonomou/multicast-push
...
Add Support for IPv6 Multicast
2014-03-18 10:11:11 +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
George Oikonomou
64c21638cd
Multicast routing table manipulation
...
We store multicast routes in a separate table since we don't need
as much information as we need for normal routes
2014-03-05 20:31:15 +00:00
George Oikonomou
e85d935ccc
Multicast common header files
2014-03-05 20:31:15 +00:00
George Oikonomou
68c5584488
New uip_is_addr macros for multicast addresses
2014-03-05 20:31:14 +00:00
George Oikonomou
be098f39e8
Define a new ICMPv6 message type for Trickle Multicast
...
Pending IANA allocation, we currently use private experimentation
2014-03-05 20:31:14 +00:00
George Oikonomou
067bbc9ee0
Check for DAO fwd loop early, before processing DAO options
2014-03-05 20:18:14 +00:00
Nicolas Tsiftes
aef0e9eae6
Ensure that the file end is updated in the original file extent if it has been overwritten through a micro log operation.
2014-03-03 21:27:26 +01:00
Daniel Willmann
60adaaad34
mmem: Prevent duplicate init of mmem
...
This could seriously corrupt data if mmem_init was called again after
someone called mmem_alloc.
2014-02-07 14:42:11 +01:00
Jens Dede
5e5b6fc3f4
Make the period for the uip-ds6 periodic task configurable
2014-02-07 12:34:49 +01:00
Oliver Schmidt
e16521e5c1
Merge pull request #550 from oliverschmidt/master
...
Avoid compiler warnings.
2014-01-31 16:22:53 -08:00
Oliver Schmidt
a94e7e63e2
Avoid compiler warnings.
2014-02-01 00:46:57 +01:00
Adam Dunkels
47e4113845
Changed the variable names that access the packetbuf code so that they are called packetbuf_* instead of rime_*
2014-01-29 23:02:00 +01:00
Adam Dunkels
45265249fc
Changed the name of the rimeaddr module to linkaddr
2014-01-29 20:12:24 +01:00
Adam Dunkels
765e9acded
Merge pull request #499 from adamdunkels/bold/modularize-everything
...
A bold move: modularize everything
2014-01-29 08:17:10 -08:00
Adam Dunkels
b6c4f50bea
Merge pull request #538 from cskiraly/collect-fixes
...
collect: making some protocol parameters configurable by COLLECT_CONF_
2014-01-26 14:23:08 -08:00
Adam Dunkels
24155ee0ae
Moved the custom strncasecmp code into a separate module, since it cannot be compiled on all platforms
2014-01-26 23:20:46 +01:00
Adam Dunkels
b244f30480
Moved the ctk files from core/lib into core/lib/ and core/lib/libconio
2014-01-26 23:20:46 +01:00
Adam Dunkels
bddd96d5c8
Removed all module makefiles. Instead, all .c files in a module directory are compiled.
2014-01-26 23:20:46 +01:00
Adam Dunkels
fce84c178c
Removed unused rime-udp code
2014-01-26 23:20:45 +01:00
Adam Dunkels
8eace27f9b
Moved net/rime.h to net/rime/rime.h
2014-01-26 23:20:45 +01:00
Adam Dunkels
a40a73db9a
Made a module out of the core/ctk code
2014-01-26 23:20:44 +01:00
Adam Dunkels
112e0d6855
Removed reliance on the core/net/ipv4 module
2014-01-26 23:20:37 +01:00
Adam Dunkels
0fe08205e1
Moved the rimeaddr.[ch] code from the core/net/rime module to the core/net module, as it is used not only by rime code
2014-01-26 23:20:36 +01:00
Adam Dunkels
13f8837422
Made core/lib into a module
2014-01-26 23:20:32 +01:00
Adam Dunkels
25367fb08c
Moved the ds2411 driver into a dev/ds2411 module
2014-01-26 23:20:31 +01:00
Adam Dunkels
c9efe3c3c4
Moved the cc2520 driver into its own dev/cc2520 module
2014-01-26 23:20:31 +01:00
Adam Dunkels
4cfe6c4a5e
Moved the sht11 driver to its own module
2014-01-26 23:20:30 +01:00
Adam Dunkels
0a7733c1ab
IPv6 module should also include the core/net/rpl module
2014-01-26 23:20:30 +01:00
Adam Dunkels
7e29601639
Turn core/net/rpl into a module
2014-01-26 23:20:29 +01:00
Adam Dunkels
cc9c83448c
Makefile for the core/dev module
2014-01-26 23:20:29 +01:00
Adam Dunkels
2be50a044a
Makefile for the core/sys module
2014-01-26 23:20:28 +01:00
Adam Dunkels
0f255606b0
Turned sicslowmac into a module
2014-01-26 23:20:28 +01:00
Adam Dunkels
bc336007c4
Include the core/net module by default in the core/net/ip module
2014-01-26 23:20:27 +01:00
Adam Dunkels
0b805e4763
Moved the cc2420 driver into a separate dev/cc2420 module
2014-01-26 23:20:27 +01:00
Adam Dunkels
b78ab6753c
Added makefiles to make core/net/mac into a separate module
2014-01-26 23:20:26 +01:00
Adam Dunkels
d777ae14e4
Moved cxmac into a separate module
2014-01-26 23:20:26 +01:00
Adam Dunkels
083fe0b594
Moved the contikimac code into a core/net/mac/contikimac module
2014-01-26 23:20:25 +01:00
Adam Dunkels
41050794a4
Include the core/net and core/net/ip modules in the core/net/ipv6 module
2014-01-26 23:20:25 +01:00
Adam Dunkels
c80615913f
Include the core/net and core/net/ip modules in the core/net/ipv4 module
2014-01-26 23:20:25 +01:00
Adam Dunkels
d10a0f8830
Made the rime code into a separate module
2014-01-26 23:20:24 +01:00
Adam Dunkels
cb02e67b29
Replaced the old Makefile.uip with module makefiles
2014-01-26 23:20:24 +01:00
Adam Dunkels
5f3fe7f7c7
Updated include paths for the moved files under net/
2014-01-26 23:20:23 +01:00
Adam Dunkels
afdeed1c64
Moved IPv6 files into the net/ipv6 module
2014-01-26 23:20:22 +01:00
Adam Dunkels
06c83ffb91
Moved IPv4 files into the net/ipv4 module
2014-01-26 23:20:21 +01:00
Adam Dunkels
65eba46be2
Moved all generic IP files into the net/ip module
2014-01-26 23:20:21 +01:00
Adam Dunkels
17d48c6d7a
Merge pull request #504 from adamdunkels/push/ping-reply-api
...
A ping reply API
2014-01-26 14:03:21 -08:00
Martin Heusse
662eb4db14
Fix compilation error when DEBUG enabled in core/net/mac/framer-nullmac.c
2014-01-24 20:23:26 +01:00
Csaba Kiraly
d1822b5880
collect: making some protocol parameters configurable by COLLECT_CONF_ style defines
...
TTL (which has a rather low default of 15), MAC level retransmissions,
overall number of retransmissions, and the header bits dedicated to these
were all fixed in the collect.h and collect.c, without a simple way to
override them.
Extracted these as COLLECT_CONF_ parameters, keeping defaults as they were
before.
Signed-off-by: Csaba Kiraly <kiraly@disi.unitn.it>
2014-01-24 12:53:16 +01:00
Adam Dunkels
c8c7c4ae3a
Add comments to the #else and #endifs to make it clearer to what #ifdef they belong.
2014-01-21 20:58:31 +01:00
Benoît Thébaudeau
9846216358
leds: Add the leds_set() function
...
The leds_set() function is added on top of leds_arch_set() in order to have a
means of displaying a pattern on a set of LEDs, while keeping the ENERGEST
information up to date, which would be missing with a direct call to
leds_arch_set().
Signed-off-by: Benoît Thébaudeau <benoit.thebaudeau@advansee.com>
2014-01-07 13:03:14 +01:00
Benoît Thébaudeau
7f48057b9e
leds: Fix the API
...
The leds API did not work in some cases. E.g. with the following sequence:
leds_off(LEDS_ALL);
leds_toggle(LEDS_GREEN);
leds_off(LEDS_ALL);
the green LED was remaining on after the last call.
This was caused by the toggle feature made synonymous with the invert feature,
although it is unrelated. leds_toggle() is indeed supposed to toggle an LED,
while leds_invert() is supposed to change the active level of an LED. However,
all users of leds_invert() actually meant leds_toggle(), and the invert feature
does not make sense in this module because it is not handy due to successive
calls to leds_invert() changing the intended behavior, and hardware active
levels should be managed in leds_arch_set() (e.g. by XORing the passed value
with a hardware-specific constant before setting the output levels of the pins).
Consequently, this change:
- removes the leds_invert() function,
- makes leds_toggle() behave as expected relatively to leds_off() / leds_on(),
- sanitizes the code in the leds module.
Signed-off-by: Benoît Thébaudeau <benoit.thebaudeau@advansee.com>
2014-01-07 13:02:41 +01:00
Adam Dunkels
9e8733e57a
Correct the operator in the comment so that it matches the actual #if
2013-12-18 08:35:06 +01:00
Adam Dunkels
9275322b51
Merge pull request #502 from adamdunkels/push/fix-the-ipv6-bugfix
...
Fix the IPv6 bugfix
2013-12-16 13:52:14 -08:00
Adam Dunkels
9114cd3215
Added an API for getting a callback when a ping reply is received.
2013-12-13 08:36:51 +01:00
Adam Dunkels
a6a081e67d
Fixed a severe error in the bugfix: the conditional was reversed. The check must be if the TCP MSS is larger than the BUFSIZE and not the other way around.
2013-12-12 22:43:28 +01:00
Adam Dunkels
ef83850e63
Removed redundant #ifdef
2013-12-12 22:20:20 +01:00
Adam Dunkels
c0b3c87ba7
Make 0 the default link-layer header length, as far as uIP is concerned. Most currently used linke layers (specifically, 802.15.4) has adaptation layers that use separate buffers, so there is no need to reserve space in the uIP buffer.
2013-12-12 22:20:09 +01:00
Adam Dunkels
c7e0fa7152
Moved #defines so that UIP_TCPIP_HLEN and UIP_LLH_LEN are defined before they are used
2013-12-12 20:57:35 +01:00
Adam Dunkels
ae5a3f9f67
Bumped the version number from 2.6 to 3.x, which is to be used in the development branch
2013-12-12 17:33:18 +01:00
Nicolas Tsiftes
a8a9b66eff
Merge pull request #457 from adamdunkels/push/uip6-bugfixes
...
IPv6 bugfixes
2013-12-12 05:02:39 -08:00
Nicolas Tsiftes
75cbf4f48a
Merge pull request #479 from adamdunkels/push/cleanup-xmac-and-lpp
...
Remove xmac.c and lpp.c
2013-12-04 04:57:27 -08:00
Nicolas Tsiftes
7b1e3d1c94
Merge pull request #460 from adamdunkels/push/routelist
...
IPv6 routes LRU
2013-11-29 05:23:05 -08:00
Nicolas Tsiftes
65392ce59e
Merge pull request #474 from adamdunkels/push/cleanup-vnc
...
Remove the VNC client and server
2013-11-29 05:07:53 -08:00
Adam Dunkels
0908924f91
Removed the lpp.c code
2013-11-28 15:24:40 +01:00
Adam Dunkels
f86aaf7c14
Removed the xmac.c code
2013-11-28 15:24:22 +01:00
Adam Dunkels
611c659e51
Removed the VNC/CTK server and the VNC viewer app
2013-11-28 14:10:47 +01:00
Adam Dunkels
0fd503af42
Removed the experimental checkpointing code
2013-11-28 14:09:17 +01:00
Nicolas Tsiftes
db4cada4e7
Merge pull request #462 from adamdunkels/push/no-reserved-double-inclusion-defines
...
Remove all leading double underscore inclusion #defines
2013-11-26 14:26:37 -08:00
Benoît Thébaudeau
4deba89f81
rdc: duplicate packets: Keep only the last sequence number for each address
...
According to IEEE 802.15.4e (§6.4.3.9), in order to detect duplicate received
MAC-layer frames, only the most recently received frame's sequence number needs
to be stored for each unique device address. Doing so limits the possible false
duplicate packet detections to a single sequence number. This also allows to
keep the last sequence number of more device addresses for the same value of
MAX_SEQNOS.
Signed-off-by: Benoît Thébaudeau <benoit.thebaudeau@advansee.com>
2013-11-25 13:01:11 +01:00
Benoît Thébaudeau
477a4a7178
rdc: duplicate packets: Factor out detection code
...
The code detecting duplicate packets in the RDC layer had been copied into most
RDC implementations. Factor it out into a new mac-sequence module in order to
have a single instance of this code.
Signed-off-by: Benoît Thébaudeau <benoit.thebaudeau@advansee.com>
2013-11-25 13:01:11 +01:00
Benoît Thébaudeau
14db3382af
csma: Initialize sequence number with random value
...
According to IEEE 802.15.4 (§5.1.6.1, §6.4.2), the MAC sequence numbers should
be initialized to random values. This was already the case in
framer-802154.c:create(), but not in csma.c:send_packet(), sometimes causing
false detections of duplicate MAC-layer packets in other devices when a device
was restarted too quickly. This patch decreases the probability of such an
event.
Signed-off-by: Benoît Thébaudeau <benoit.thebaudeau@advansee.com>
2013-11-25 13:01:11 +01:00
Nicolas Tsiftes
acee82abbb
Merge pull request #456 from adamdunkels/push/6lowpan-changes
...
6lowpan changes
2013-11-24 15:37:12 -08:00
Adam Dunkels
bb2dcaa057
A massive all-tree automated update of all double inclusion guard #defines that changes from using two underscores as a prefix, which are reserved, to not using two underscores as a prefix
2013-11-24 20:20:11 +01:00
Nicolas Tsiftes
7283e48f09
Merge pull request #454 from adamdunkels/push/dao-updates-rebased
...
RPL feather mode
2013-11-24 07:49:49 -08:00
Adam Dunkels
b0460317b8
Moved variable declaration to the start of the function block
2013-11-24 15:17:52 +01:00
Adam Dunkels
faff1c2a7e
Preliminary support for RPL node types. This change allows a node to be in any of three given types:
...
* Mesh: this is the normal case. Nodes route data on behalf of others and the node can be reached via a DAO route.
* Leaf: the node does not route data on behalf of others, but others can route data to the node (it has a RPL DAO route).
* Feather: this is a new type of node. A feather node routes data on behalf of others, but does not install DAO routes in the network. Feather nodes allow having a larger number of nodes than the RPL network can sustain in terms of routing tables.
This commit introduces the RPL node types and the feather mode, but does not add support for the leaf node type.
2013-11-24 15:17:52 +01:00
Adam Dunkels
af24d07848
Forward no-path DAOs up the tree to allow the root to repair the network if needed
2013-11-24 15:17:52 +01:00
Adam Dunkels
9039b0ecd8
Remove references to the now unused dag->parents list
2013-11-24 15:17:52 +01:00
Adam Dunkels
4e6fe7dda6
Add a neighbor table entry if a DAO is received from a node where we don't yet have a neighbor table entry.
2013-11-24 15:17:52 +01:00
Adam Dunkels
490791eaa4
Add a check for the case when the parent neighbor may have gone away to avoid using a NULL pointer
2013-11-24 15:17:52 +01:00
Adam Dunkels
0ed7db0f9b
Slight improvements in debug messages
2013-11-24 15:17:52 +01:00
Adam Dunkels
fc1adec1b8
Made it a bit more clear what function that gets called when a neighbor is removed
2013-11-24 15:17:51 +01:00
Adam Dunkels
61ea7fbb1c
RPL DAO timers and management:
...
* Added a DAO lifetime timer that sends out a new DAO after half the lifetime of the DAO. This allows implementing DAO route soft state that avoids routing tables in the network keeping stale routes for ever.
* Added ways to schedule a new DAO transmission as well as cancelling an active DAO transmit timer, which makes it possible to do nodes that don't send DAOs.
2013-11-24 15:17:51 +01:00
Adam Dunkels
454088c117
Removed old, unused rawpacket code
2013-11-24 11:02:35 +01:00
Adam Dunkels
19b32c54c0
Removed the old unused hc.[ch] code
2013-11-24 11:02:35 +01:00
Adam Dunkels
9819c5b5b8
Rewrote the IPv6 route management so that all routes are maintained on a list that is ordered by the time at which the route was accessed. If a new route is added to the system, the oldest route is dropped.
2013-11-22 18:00:47 +01:00
Adam Dunkels
ea4bc3816f
Produce an error if the UIP_TCP_MSS is too large for UIP_BUFSIZE
2013-11-22 15:46:48 +01:00
Adam Dunkels
61a8fa9977
Allow the default TTL to be configured with UIP_CONF_TTL
2013-11-22 15:44:48 +01:00
Adam Dunkels
d577d03e21
Bugfix: correctly handle the case if uip_sappdata is NULL.
2013-11-22 15:38:20 +01:00
Adam Dunkels
f31d6f271f
Bugfix: if a SYN is received in the SYN_RCVD state we should not send a blank SYN, but a SYNACK in response.
2013-11-22 15:37:21 +01:00
Adam Dunkels
b31e84649a
If the 6lowpan layer is currently reassembling a packet, and a non-fragmented packet comes along, this is a sign that one of the fragments were lost (as they normally would arrive back-to-back, in sequence). So we'll grab the non-fragmented packet instead of dropping it.
2013-11-22 15:12:02 +01:00
Adam Dunkels
3788b08780
Added a way to get the RSSI of the last received packet
2013-11-22 15:10:44 +01:00
Ari Suutari
c1c64dd1cc
Received UDP packet was counted twice in statistics, first in udp_input and then again in udp_found.
...
Fix this to use same logic as in uip.c: valid packet is counted only in udp_found.
2013-11-22 08:16:05 +02:00
Oliver Schmidt
1fdeb4c788
Changed handling of predefined macros in cc65 allows for simplification.
2013-11-20 20:55:56 +01:00
Nicolas Tsiftes
0e24fb0bc0
Merge pull request #432 from adamdunkels/push/154-len
...
Allow the 802.15.4/6lowpan code to operate on packets larger than 256 bytes
2013-11-20 05:23:26 -08:00
Nicolas Tsiftes
263e212427
Merge pull request #431 from adamdunkels/push/ipv6-const
...
Make IP addresses const
2013-11-20 04:26:05 -08:00
Nicolas Tsiftes
d183b87f4b
Merge pull request #434 from adamdunkels/push/cleanup-sys
...
Remove old unused code from the core/sys/ directory
2013-11-19 09:53:57 -08:00
Adam Dunkels
30c0c5eaf6
Removed old unused timetable code
2013-11-19 08:29:23 +01:00
Adam Dunkels
84fd0f9ae1
Removed out-commented timetable code
2013-11-19 08:21:53 +01:00
Adam Dunkels
5e9a76d38e
Removed old unused tcpdump.c code
2013-11-19 00:24:18 +01:00
Adam Dunkels
563c9d1577
Removed old unused sys/ files
2013-11-19 00:23:13 +01:00
Adam Dunkels
f9cb6ec2fa
Added the const keyword to IP address arguments that are not (and should not be) changed by the callee
2013-11-18 00:55:57 +01:00
Adam Dunkels
f26e35cffa
Allow the 6lowpan code to handle packets larger than 256 bytes
2013-11-16 14:44:14 +01:00
Adam Dunkels
bec721d313
Allow payload len to be larger than 256 bytes
2013-11-16 14:22:48 +01:00
Laurent Deru
fd97136fee
As RPL Root, drop an incoming DIO from the same instance but different DAG
2013-11-15 08:48:29 +01:00
Adam Dunkels
a6227e1e3e
Merge pull request #350 from AriZuu/udp-stats-fix
...
Fix UDP statistics.
2013-11-14 23:39:16 -08:00
Ari Suutari
8ffd29616a
Fix UDP statistics also in ipv6 code.
2013-11-15 08:00:41 +02:00
Nicolas Tsiftes
5688650f6d
Merge pull request #391 from cetic/fix-duplicate
...
Removed duplicate code in rpl-icmp6
2013-11-14 12:35:24 -08:00
Simon Duquennoy
03dcca15cb
Implement a truncated exponential backoff for csma
2013-11-14 15:02:36 +01:00
Moritz 'Morty' Strübe
c67c048cac
Clean up setting channel and CCA-threshold for CC2420 based motes.
...
The CCA-threshold now defaults to -46 which give better simulation
results and typically also better experimental results.
This adjustment is also needed due to commit 0a13f99 in mspsim. As
promised in https://github.com/mspsim/mspsim/pull/18 it broke the
regression tests.
2013-11-07 17:28:33 +01:00
Sébastien Dawans
a60d3bf6cf
Removed duplicate code in rpl-icmp6
2013-10-23 15:43:16 +02:00
Enrico Joerns
4ba22102fd
[core/net/mac] Removed invalid struct member u8 in PRINTADDR
2013-10-15 01:43:26 +02:00
Simon Duquennoy
677b5ede16
Fixed printout that used deprectated rpl_parent_t structure
2013-10-08 14:46:55 +02:00
Adam Dunkels
4e1beb3ed3
Merge pull request #361 from nvt/rpl-mrhof-fix
...
MRHOF fixes
2013-10-07 11:45:31 -07:00
Nicolas Tsiftes
1698c439c5
Merge pull request #359 from g-oikonomou/trickle-timer-stop
...
Add a method to stop running trickle timers
2013-09-30 05:47:23 -07:00
George Oikonomou
060b00c4b5
Use TRICKLE_TIMER_IS_STOPPED in trickle_timer_stop()
2013-09-30 12:37:03 +01:00
Adam Dunkels
bf7edf6c4c
Merge pull request #354 from lab11/core-net-fixes
...
Small fixes to networking files
2013-09-26 23:43:07 -07:00
Nicolas Tsiftes
43b5425493
Cleaned up various fragments and fixed a compilation error that occured when switching metric container.
...
Fixed a wrapping problem in the ETX EWMA calculation.
Corrected the multiplier of the link metric, and simplified the configuration
so that the user does not need to specify the multiplier.
2013-09-23 15:58:42 +02:00
George Oikonomou
995a9c92d9
Only schedule a trickle interval doubling for running timers
2013-09-16 11:53:39 +01:00
George Oikonomou
fa7219d0b8
Add a way to determine whether a trickle timer is running
2013-09-16 11:53:39 +01:00
Adam Dunkels
50395666fc
Merge pull request #341 from ismb-pert/fix-lladdr
...
Fixed fail to build from source due to a bad &nbr->lladdr
2013-09-14 03:24:12 -07:00
Zhen-Huan Hwang
e75dacb5fa
1. Added a missing '&' in lib/trickle-timer.h
...
2. Removed executable permissions of lib/trickle-timer.c & .h
2013-09-11 18:31:06 +03:00
Zhen-Huan Hwang
b5815e8509
Fixed a typo in net/uipopt.h
2013-09-11 18:30:31 +03:00
Brad Campbell
bc762b6dd6
Small fixes to networking files
...
1. Added #include header
2. Fixed #defines that weren't updated
3. Small change to comment that now points to correct RFC section
2013-09-09 20:48:11 -04:00
Oliver Schmidt
c4bba3e89a
Removed unnecessary code from resolver.
2013-09-09 21:35:51 +02:00
Gianfranco Costamagna
2afea590f7
Fixed fail to build from source due to a bad "&nbr->lladdr" reference
2013-09-06 22:11:19 +02:00
Ari Suutari
35c7314093
Fix UDP statistics.
2013-09-05 20:37:01 +03:00
Oliver Schmidt
e0ddea2a17
Removed unnecessary code from resolver.
2013-09-01 20:23:11 +02:00
Sébastien Dawans
78e807403c
Inserts missing IPv6 Hop-By-Hop RPL Option at first hop
2013-08-19 21:40:24 +02:00
Adam Dunkels
86e247025a
Removed debugging printout that came before a local variable declaration, which seems to have broken sdcc
2013-08-19 17:48:33 +02:00
Adam Dunkels
bfd7e5f25b
Fixed a few bugs in the route handling code. While bughunting, rewrote parts of the code to make its intention clearer. Also added a bunch of comments to make the logic of the code more evident.
2013-08-19 17:48:32 +02:00
Adam Dunkels
8dc4e46968
Check if the nexthop neighbor for a given route has disappeared. If so, we drop the route too. If we happen to be the RPL root, we also initiate a global repair as the neighbor may moved.
2013-08-19 17:48:32 +02:00
Adam Dunkels
d0a939afb0
Bugfix: must multiply with ETX divisor to turn into fixed-point format.
2013-08-19 17:48:32 +02:00
Adam Dunkels
4d0ecaae02
Make sure our parent's IP address isn't NULL.
2013-08-19 17:48:32 +02:00
Adam Dunkels
e5a6565137
Loop detection via DAO: if we get a DAO from a parent, that parent thinks we are its parent. We poison it and recalulate our parents.
2013-08-19 17:48:32 +02:00
Adam Dunkels
34119b7ef2
Poor man's loop reparation: reset the DIO timer and hope the neighbor learns a better route.
2013-08-19 17:48:32 +02:00
Adam Dunkels
d830e9df3f
Implement forwarding error handling: if a packet changes direction, we set the FWD_ERR flag. If we see the FWD_ERR flag, we drop the route that we sent it to. If we are the root node, we also initiate a global repair.
2013-08-19 17:48:31 +02:00
Adam Dunkels
abb3ef9b3b
Bugfix: don't set the parent if the dag is NULL
2013-08-19 17:48:31 +02:00
Adam Dunkels
08761dfd8a
Added a function uip_ds6_nbr_num() for getting the number of neighbors
2013-08-19 17:48:31 +02:00
Adam Dunkels
a027832f94
Fixed a bunch of compiler warnings
2013-08-19 17:48:31 +02:00
Adam Dunkels
9a74ada90c
Added a function rpl_get_parent_link_metric() for obtaining the link metric of a given parent
2013-08-19 17:48:31 +02:00
Adam Dunkels
c52fc2fd19
Defensive programming: check for the argument being NULL.
2013-08-19 17:48:31 +02:00
Adam Dunkels
b42ccaed1b
Added function prototypes to a number of functions with void arguments
2013-08-19 17:48:31 +02:00
Adam Dunkels
82e8eb420d
Added and updated debugging printouts and reformatted code to make it a little easier to read.
2013-08-19 17:48:31 +02:00
Simon Duquennoy
248301a041
Fix naming issues and includes in uip-ds6-nbr.h
2013-08-19 17:48:30 +02:00
Simon Duquennoy
ff093a2b50
Removed now unused per-module neighbor table size configs. Use NEIGHBOR_CONF_MAX_NEIGHBORS instead.
2013-08-19 17:48:30 +02:00
Simon Duquennoy
c3f62b24c8
Moved ETX management from neighbor-info to rpl-of-etx. Avoids conversions between different fixed point representations, and simplifies neighbor management. Makes more clear how default-ETX and noack-ETX actually affect the rank. Removed neighbor-info and neighbor-attr.
2013-08-19 17:48:30 +02:00
Simon Duquennoy
c50d10aa53
Make RPL use neighbor tables. RPL locks the neighbor used as preferred parent.
2013-08-19 17:48:30 +02:00
Simon Duquennoy
09d26f8060
Make uip-ds6-route use neighbor table. Instead of storing a global list of routing entries that contain both the next hop and the destination, we have a separate list of reachable destination for each neighbor in the global table.
2013-08-19 17:48:30 +02:00
Simon Duquennoy
ec609b49eb
Make DS6 neighbors use neighbor-table, and move all DS6 neighbor management from uip-ds6 to a new uip-ds6-neighbor module.
2013-08-19 17:48:30 +02:00
Simon Duquennoy
5a1d8d8006
Make phase module use neighbor-table.
2013-08-19 17:48:29 +02:00
Simon Duquennoy
cfb3bbdad9
Added new neighbor-table module, a centralized place where to store all data about neighbors, indexed by link-layer address. Meant for use in other Contiki modules such as rpl, ds6, ds6-route, phase, neighbor-info.
2013-08-19 17:48:29 +02:00
Fredrik Osterlind
8041f66d8c
link-layer acks support for cooja motes
2013-08-15 14:32:35 +02:00