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
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
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
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
7a310935d8
An implementation of the mc1322x watchdog
2013-11-22 15:54:06 +01:00
Adam Dunkels
88f9d79053
Enable the silent compilation mode from the latest Contiki
2013-11-22 15:53:30 +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
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