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
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