Commit Graph

9520 Commits

Author SHA1 Message Date
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
Nicolas Tsiftes
4c5fa6ff5d Merge pull request #713 from adamdunkels/pr/drop-iris
Remove the unmaintained iris platform
2014-06-13 12:57:52 +02:00
Oliver Schmidt
e2d56395ea Merge pull request #725 from oliverschmidt/master
Enhanced Ethernet drivers.
2014-06-12 23:40:25 +02:00
Oliver Schmidt
d955b179eb Merge remote-tracking branch 'upstream/master' 2014-06-12 22:57:46 +02:00
Oliver Schmidt
a5d7a06027 Enhanced Ethernet drivers.
Made Ethernet drivers easier to consume by assembly programs.
* Replaced function pointers with JMP instructions.
* Provide return values additionally via Carry flag.

Reset Ethernet chips on initialization.
Both for the CS8900A and the W5100 the data sheets just say that
the RESET bit is automatically cleared after the RESET. This may
be interpreted in two ways:
1) There's no need to be afraid of reading the RESET bit as 1 and
unintentionally trigger a RESET by writing it back after ORing in
some other bit.
2) The RESET process isn't complete before the RESET bit hasn't
become 0 again.
It's impossible for me to empirically falsify the latter option
as the drivers are supposed to work on faster machines than the
ones I have access to. And if the RESET process includes things
like oscillators then the time to complete the RESET could differ
even between multiple exemplars of the same chip. Therefore I
opted to presume the latter option.
However that means a non-exsistent chip may cause an infinite
loop while waiting for the RESET bit to be cleared so I finally
added code to detect the presence of the Ethernet chips. There's
a risk of a chip being locked up in a way that makes the detection
fail - and therefore the RESET not being performed. This catch-22
needs to be solved by the user doing a hard RESET.
2014-06-12 22:56:35 +02:00
Adam Dunkels
5bcdbb22cc Merge pull request #724 from adamdunkels/pr/toggle
Quick travis fail fix: leds_toggle()
2014-06-12 21:41:54 +02:00
Adam Dunkels
14aedabffd Updated to match the new leds_toggle() API 2014-06-12 20:02:33 +02:00
Adam Dunkels
60e8b29d53 Merge pull request #721 from g-oikonomou/relocate-gnurl78
Download the RL 78 toolchain from a different URL
2014-06-12 20:02:14 +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
9df2572c5d Download the RL 78 toolchain from a different URL
Fixes #720
2014-06-12 09:10:26 +01:00
George Oikonomou
a9e7bea675 Make DODAG ID selection RFC 6550-compliant
Some calls to `rpl_set_root` select a hardcoded DODAG ID
(0x1111, 0x1100, 0, 0, 0, 0, 0, 0x0011)

This is against what RFC 6550 says. We change these calls
to select a DODAG ID corresponding to a routable v6 address
corresponding to the root
2014-06-12 00:09:53 +01: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
9ceb059c21 Merge pull request #611 from nfi/cc2x20-sfd-config
Corrected CC2x20 sfd config and startup message.
2014-06-11 23:17:05 +02:00
Adam Dunkels
f13184383c Merge pull request #613 from nfi/distclean
Fixed distclean to work when CONTIKI_PROJECT is set to multiple files.
2014-06-11 23:16:36 +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
Adam Dunkels
d7e4443ab2 Remove the unmaintained iris platform 2014-06-11 19:52:19 +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
George Oikonomou
3552376324 Merge pull request #702 from g-oikonomou/ieee-addr-fixes
Fix incorrect IEEE address byte re-ordering
2014-06-11 09:54:52 +01:00
George Oikonomou
48196bace3 Merge pull request #694 from g-oikonomou/fix-surplus-travis
Improve travis RL78 tests
2014-06-11 09:39:40 +01:00
Oliver Schmidt
fd3078d6bb Merge pull request #706 from oliverschmidt/master
Build static Ethernet drivers directly from source.
2014-06-10 00:08:21 +02:00
Oliver Schmidt
a0961fc3c4 Build static Ethernet drivers directly from source. 2014-06-09 23:35:19 +02:00
Oliver Schmidt
f124425ee1 Build static Ethernet drivers directly from source. 2014-06-09 23:14:11 +02:00
Nicolas Tsiftes
da8e9a3e8d Merge pull request #655 from atiselsts/stm32_patches
Fix inconsistent usage of short/long integer type in mbxxx platform's configuration file.
2014-06-07 23:21:59 +02:00
Nicolas Tsiftes
350c83c947 Merge pull request #656 from atiselsts/native_platform_patches
Minor improvements for the native platform
2014-06-07 23:06:36 +02:00
George Oikonomou
9d7c3b9866 Improve documentation for the CC2538 IEEE address re-ordering 2014-06-06 18:33:28 +01:00
George Oikonomou
5acc20fc47 Improve code style 2014-06-06 18:32:58 +01:00
George Oikonomou
623d6084e7 Make the CC2538 secondary IEEE address location configurable 2014-06-06 18:15:07 +01:00
George Oikonomou
e6128a1123 Merge pull request #703 from sieben/gitignore
Adding tunslip to gitignore
2014-06-06 18:08:22 +01:00
LudovicW
66edb5b263 Fix incorrect IEEE address byte re-ordering 2014-06-06 17:22:33 +01:00
Rémy Léone
e6c003b312 Adding tunslip to gitignore 2014-06-06 15:05:11 +02:00
George Oikonomou
2e166a83c7 Merge pull request #691 from hexluthor/rts-cts
CC2538: Add hardware flow control (RTS/CTS) support on UART1.
2014-06-04 09:22:58 +01:00
George Oikonomou
ba9c2d40eb Merge pull request #682 from g-oikonomou/watchdog-cc2538
Confine CC2538 WDT on/off conf inside the driver
2014-06-03 22:05:08 +01:00
George Oikonomou
25cd0788a6 Merge pull request #683 from g-oikonomou/sensinode-modules
Fix MODULES for the Sensinode platform
2014-06-03 22:03:42 +01: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
Ian Martin
274b3dcd0b CC2538: Add hardware flow control (RTS/CTS) support on UART1. 2014-06-03 12:38:24 -04:00
Nicolas Tsiftes
3650950460 Merge pull request #678 from simonduq/sky-disable-ndp
Disable IPv6 Neighbor Discovery Protocol by default on the sky platform
2014-06-02 10:52:07 +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
George Oikonomou
7c6b95b5ab Improve travis RL78 tests
* No longer apt-get install a bunch of packages which are not really needed
* Only install gnurl78 if its download succeeded
2014-06-01 20:50:47 +01:00
George Oikonomou
17a935ddf5 Merge pull request #689 from sieben/doc
Closing doxygen groups
2014-06-01 17:36:15 +01:00
Rémy Léone
25c8b0835d Closing doxygen groups 2014-05-30 11:01:20 +02:00
George Oikonomou
4197cccbd6 Merge pull request #679 from alignan/tos-bsl-license
Added missing license file referenced in z1-bsl-* scripts
2014-05-22 08:20:16 +01:00
Nicolas Tsiftes
386ec61311 Merge pull request #507 from mkovatsc/coap-18
Erbium CoAP cleanup for Proposed Standard version
2014-05-22 08:31:29 +02:00
George Oikonomou
6e08841e5c Fix MODULES for the Sensinode platform 2014-05-18 15:30:54 +02:00