Commit Graph

8905 Commits

Author SHA1 Message Date
Sébastien Dawans
700994ec1c Cooja Pcap export: Reverts PR #284 to fix #420 2013-11-25 16:36:49 +01:00
Adam Dunkels
b133e387bd Merge pull request #414 from ADVANSEE/duplicate-packets
mac: Fix false duplicate packets detections
2013-11-25 07:16:58 -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
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
d05a9e2e39 Disabling the fragmentation test for the sky, as it is a little too small to reliably run this firmware 2013-11-24 16:24:13 +01:00
Adam Dunkels
9f2e233770 The RPL_PARENT_COUNT() macro doesn't exist anymore - use the uip_ds6_nbr_num() function instead 2013-11-24 15:17:53 +01: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
Nicolas Tsiftes
42cae1c6c9 Merge pull request #461 from adamdunkels/push/cleanup-net
Cleanup: Removal of old unused core/net/ modules
2013-11-24 05:57:40 -08: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
e09ff3ff1e Merge pull request #438 from adamdunkels/push/cleanup-platforms
Massive platform cleanup
2013-11-24 01:59:53 -08:00
Fredrik Österlind
2133c1d777 Merge pull request #449 from darki2002/cooja_default.config
Start DGRMConfigurator and DGRMVisualizerSkin in cooja_default.config
2013-11-24 01:09:26 -08:00
George Oikonomou
f3f1b8c90d Merge pull request #458 from adamdunkels/push/cc2538-rf
CC2538 RF core additions
2013-11-23 07:13:06 -08:00
Adam Dunkels
1ab28e4668 Added missing argument declaration 2013-11-23 15:05:16 +01:00
Adam Dunkels
e95236b642 Added header declarations for cc2538_rf_read_rssi() and cc2538_rf_set_promiscous_mode() 2013-11-23 15:05:16 +01:00
Adam Dunkels
76f2a10c9a Added a function for setting promiscous mode on the CC2538 RF core 2013-11-23 15:05:15 +01:00
Adam Dunkels
473d519926 Added a way to obtain the RSSI from the CC2538 RF core 2013-11-23 15:05:15 +01:00
Sebastian Schinabeck
1ef80859ea start DGRMVisualizerSkin in cooja_default.config now
instead of starting in DirectedGraphMedium
2013-11-22 17:01:44 +01:00
Sebastian Schinabeck
123a7081f2 start DGRM plugin with cooja_default.config
start the DGRMconfigurator within the cooja_default.config instead of starting in DirectedGraphMedium.java
2013-11-22 17:01:44 +01:00
Adam Dunkels
27433244a9 The pc-6001 platform was the last z80 platform in the tree, so we'll remove the cpu/z80 directory too 2013-11-22 16:33:46 +01:00
Adam Dunkels
52a0b4594f Removed the old esb regression tests 2013-11-22 16:33:46 +01:00
Adam Dunkels
cb8fc35e25 Removed the redbee platforms 2013-11-22 16:33:06 +01:00
Adam Dunkels
eb99534c43 Removed the stk500/stk501 platforms 2013-11-22 16:33:06 +01:00
Adam Dunkels
d68ce09fd5 Removed the stepper-robot platform 2013-11-22 16:33:06 +01:00
Adam Dunkels
13117203e0 Removed pc-6001 platform 2013-11-22 16:33:05 +01:00
Adam Dunkels
44370be06f Removed old, unused msp430-based platforms 2013-11-22 16:33:05 +01:00
Adam Dunkels
5f7b75d660 Merge pull request #452 from AriZuu/uip6-udp-stats-twice-fix
Received UDP packet was counted twice in statistics, first in udp_input ...
2013-11-22 07:18:47 -08: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
Adam Dunkels
6265219775 Merge pull request #453 from adamdunkels/push/travis-fix
Fix broken travis
2013-11-22 02:36:09 -08:00
Fredrik Österlind
c98b55b5e0 Merge pull request #338 from cmorty/Cooja-Make-updateGUIComponentState-public
Cooja: Make updateGUIComponentState public.
2013-11-22 02:30:11 -08:00
Adam Dunkels
df7c4131b5 After travis updated to jdk 1.7.0_45 we have to run java -Xshare:dump before running the Cooja tests 2013-11-22 11:07:26 +01:00
Fredrik Österlind
fb84f65ba2 Merge pull request #447 from darki2002/unneeded_if
Cooja: deleted unneeded if in Visualizer.java
2013-11-22 01:53:21 -08: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
dbe074bdaf Merge pull request #451 from oliverschmidt/master
Replaced web configurator with target-based ethconfig.
2013-11-21 13:08:58 -08:00
Oliver Schmidt
737d5fd6dc Replaced web configurator with target-based ethconfig. 2013-11-21 21:57:42 +01:00
Sebastian Schinabeck
4deb687209 deleted unneeded if
getStringArrayValue never returns null
2013-11-21 15:25:52 +01:00
Adam Dunkels
b5f4588e56 Loaded the simulation files in Cooja and saved them again to avoid them having any non-backward-compatible constructs in them. 2013-11-20 23:03:50 +01:00
Oliver Schmidt
79f97981fb Merge pull request #446 from oliverschmidt/master
Show current IP config on startup.
2013-11-20 13:34:53 -08:00