1
0
mirror of https://github.com/RIOT-OS/RIOT.git synced 2024-12-29 04:50:03 +01:00
Commit Graph

12 Commits

Author SHA1 Message Date
Cenk Gündoğan
c4b01b87bc rpl: RPL/Trickle with only *one* thread
This PR proposes an approach to reduce the thread count of RPL.

The current RPL/Trickle stack needs about 5 threads to handle tasks
like updating the trickle timer, routing entries and the transmission of
DAOs.

This PR modifies RPL to use only one thread with a looped `msg_recv()` call.
The message is then multiplexed to the right task.
2015-01-14 19:42:13 +01:00
Ludwig Ortmann
154a6b5d22 Merge pull request #2268 from cgundogan/rpl_cleanup_no_routing_table
rpl: remove routing table dependent code
2015-01-13 14:09:32 +01:00
Oleg Hahm
0421ab96ee Merge pull request #2245 from cgundogan/rpl_remove_routing_decision_in_rpl_send
rpl: remove decision to drop packets in rpl_send
2015-01-13 14:04:53 +01:00
Cenk Gündoğan
a06c667af5 rpl: remove routing table dependent code
This PR removes code depending on a routing table with an entries
size > 0. Currently, all those functions and symbols are compiled into the binary,
even when there is no effective space in the routing table (as it is the
case for normal nodes in non-storing mode)
2015-01-13 13:11:32 +01:00
Cenk Gündoğan
843be5ad6d rpl: minor changes to comments in rpl_storing.c 2015-01-06 13:24:42 +01:00
Cenk Gündoğan
652b4f84a6 rpl: remove decision to drop packets in rpl_send
The dicision to drop a packet if no next hop exists is made by the
`rpl_get_next_hop` function, which is initialized as the routing
provider for rpl applications. Hence, it seems needless to do this in the
`rpl_send` function.
2015-01-06 09:34:15 +01:00
Cenk Gündoğan
aca1ade01c rpl: cleanup, changing structdefs into typedefs 2014-12-26 21:13:33 +01:00
Cenk Gündoğan
8d31f8b8ed rpl: fix offset for transit buf
As a result of PR #1404, entries will not be added to the routing table
when running in storing mode, although it is supposed to do so.
You can verify by running rpl_udp and call *route* on the dodag-root.

This PR fixes the wrong offset calculation.
2014-12-05 13:45:22 +01:00
Ludwig Ortmann
28e5b1bb9a Merge pull request #2134 from cgundogan/rpl_addr_str_debug_fix
rpl: addr_str not renamed to addr_str_mode
2014-12-04 11:34:40 +01:00
Cenk Gündoğan
0f66a9e06e rpl: addr_str not renamed to addr_str_mode
In PR #1404 addr_str was renamed to addr_str_mode,
but at some places it was still referenced as addr_str.
When enabling debug messages, the compiler complains.
2014-12-04 10:46:59 +01:00
Oleg Hahm
c92effaead debug: removed superfluous additional debug flag 2014-12-03 22:59:14 +01:00
Fabian Brandt
12cd62c689 Introduction of RPL non-storing mode.
This implementation is based on RFC 6550 with addition of RFC 6554 (Source Routing Header for RPL). Both can be found under the following links:
- http://tools.ietf.org/html/rfc6550
- http://tools.ietf.org/html/rfc6554

The PR provides basic functionality for handling and forwarding packages in non-storing mode. In addition the structure of the previous implemented RPL storing mode is now revised, so that readability and modularity is increased. The following features are implemented:
- building function for a SRH and integration in common packets
- source-route build algorithm based on the structure of the DODAG
- an RPL-based interpretation of the SRH and removal at destination
- new structure for RPl-module with extracted beaconing-functionality
- leaf nodes are now supported

There are some missed goals and should be included in future updates:
- building a common routing table structure for different types of routing protocols
- routing tables are statically assigned via source code, future update should have an optional variable at build-time, which sets the size of the routing table depending on the desired functionality of a node in the network (root, node, leaf)
2014-11-27 21:42:40 +01:00