Simon Duquennoy
b3e31e1456
Implement RPL non-storing mode
2016-06-08 14:02:45 +02:00
Simon Duquennoy
797bead5e5
RPL: if a neighbor is unreachable, remove routes via this neighbor
2016-06-03 18:43:36 +02:00
Simon Duquennoy
c5cf8608e9
RPL probing: now using link-stats to first prioritize probing of non-fresh parents, and to support urgent probing (fast probing of a potential new preferred parent
2016-06-03 15:46:07 +02:00
Simon Duquennoy
426e10c3ed
Rehauling of RPL OFs, both MRHOF and OF0. Fixed compliance with RFC6551, 6552, 6719. Now using the link-stats module.
2016-06-03 15:46:06 +02:00
Simon Duquennoy
4e9b027141
rpl.h: updated constants and comments to match the standard
2016-06-03 15:46:03 +02:00
Joakim Eriksson
12a75c3e43
fixed codestyle, improved APIs, and cleaned up comments
2016-03-26 20:12:52 +01:00
Joakim Eriksson
1fcef0f90d
added function for checking downward route and added configuration for DAO NACK repair - default off
2016-03-26 09:45:38 +01:00
Joakim Eriksson
946be77248
Added support for end-to-end DAO ACK for Contiki RPL.
...
This is a fix for Contiki RPL so that it fully supports DAO ACK in
an end-to-end fashion. When DAO is sent it will be forwarded upwards
as before. DAO ACK will be forwarded downwards until it reach the node
that initiated the DAO ACK and unlike before it is not a single-hop
DAO ACK but it is fully reaching the RPL ROOT before any DAO ACK is
sent back. DAO ACK also now fully support different status messages
(success / fail).
2016-03-26 09:28:08 +01:00
Joakim Nohlgård
d7d836fda0
core/net/rpl/rpl.h: fix warning: function declaration isn't a prototype
2016-03-02 07:00:57 +01:00
Simon Duquennoy
94c26b90d0
Merge pull request #1091 from simonduq/rpl-loop-repair
...
Enhanced RPL loop repair
2015-12-01 15:36:53 +01:00
Laurent Deru
34126173b4
Add DAG lifetime
2015-09-30 15:48:36 +02:00
Simon Duquennoy
a7ce312ee3
Enhanced RPL loop repair: send unicast DIO to source when detecting a loop from ext header, update rank along the path (when rank error is signaled)
2015-09-17 22:53:12 +02:00
Joakim Eriksson
9e16d93278
removed pointer to next parent since it is not used anymore
2015-08-28 19:15:23 +02:00
Simon Duquennoy
47ba4c0c4b
Implement RPL probing
2015-05-08 14:32:00 +02:00
Simon Duquennoy
529376be77
Added rpl_print_neighbor_list function for RPL state monitoring
2015-05-08 14:29:26 +02:00
Joakim Eriksson
5be43c6f8d
moved ETX storage variable from RPL to ds6-nbr
2014-12-10 09:11:53 +01:00
Laurent Deru
29f894c07e
Drop forwarding error packet and send back DAO to originating parent
2014-11-14 09:40:05 +01:00
George Oikonomou
32bc98b0da
Fix code style in rpl_set_root prototype
2014-06-11 23:59:17 +01: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
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
Adam Dunkels
5f3fe7f7c7
Updated include paths for the moved files under net/
2014-01-26 23:20:23 +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
9039b0ecd8
Remove references to the now unused dag->parents list
2013-11-24 15:17:52 +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
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
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
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
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
defcc639ce
Use no metric container when having MRHOF with ETX, as specified in RFC6719. Renamed rpl-of-etx to rpl-mrhof.
2013-07-23 19:36:38 +02:00
Adam Dunkels
2396f9b8ea
Made DIO interval processing a little easier to follow. Explicitly state that the delay is handled as clock timer ticks.
2012-11-27 23:04:31 +01:00
Niclas Finne
d3b4efa06f
removed obsolete function declaration
2012-04-24 14:08:40 +02:00
nvt
e94718f95c
Separated configuration into a new file called rpl-conf.h. Improved the documentation.
2012-04-22 00:17:10 +02:00
nvt
3d0d2c284f
Changed function names.
2012-04-17 23:34:47 +02:00
Nicolas Tsiftes
d0e2d9b47e
Cleaned up code style, comments, and print outs. Set default DAG parameters when the DIO configuration option is missing.
2012-02-29 21:59:50 +01:00
Joakim Eriksson
2752337e69
fixed lollipop counter
2012-02-21 13:20:20 +01:00
Mariano Alvira
1086299f25
fix typo
2011-12-09 08:23:43 -05:00
Nicolas Tsiftes
ac869185c0
Refactored header management.
2011-12-02 15:55:07 +01:00
Nicolas Tsiftes
2b1549bfe8
Continued merge with sf master
2011-11-21 15:25:13 +01:00
Joakim Eriksson
ab049ec704
some fixes to cut some extension headers before TCP processing
2011-09-22 17:22:59 +02:00
Vincent Brillault
4f76130a77
Changed Instance structure in order to decrease memory waste.
2011-07-13 10:28:56 +02:00
Vincent Brillault
dc9cbe647d
Changes in RPL implementation :
...
- Structural modification of RPL data storage.
- Support multiple gateways (multiple DODAG-ID with a unique InstanceID)
- Use Lollipop counters
- Add leaf-only configuration option for RPL
Bugfix :
- Correctly send "Grounded" flag in DIO
2011-07-11 16:52:45 +02:00
Nicolas Tsiftes
77a44c560a
The flags field got widened to 9 bits.
2011-06-28 17:49:32 +02:00
Nicolas Tsiftes
b1fea35e47
Fixed issues with propagation of the route lifetime configuration. Removed deprecated configuration parameters.
2011-06-28 17:08:44 +02:00
Nicolas Tsiftes
65366d10c1
Update the metric container correctly. Use only one ETX initializer.
2011-03-16 13:29:01 +01:00
nvt
4739143126
Generalized MRHOF and added partial support for energy objects in DAG metric containers.
2011-03-15 01:16:20 +01:00
Nicolas Tsiftes
93a7280a1a
Replaced old description
2011-02-15 18:10:15 +01:00
nvt
a093c262ee
Improved objective function API so DAG metric containers can be generated cleanly. The packet generation now asks the OF to provide a fresh logical presentation of the metric container, which is then translated to raw packet format.
2011-02-15 01:13:30 +01:00
nvt
20171985c6
Split the RPL header into a private and a public header.
2011-02-11 16:21:17 +01:00
Adam Dunkels
706045120f
Changed the variable name local_confidence to etx to better reflect what it was used for
2011-02-11 14:18:57 +01:00