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

210 Commits

Author SHA1 Message Date
BytesGalore
2ffe2e6f1f Merge pull request #2633 from cgundogan/rpl_remove_rpl_get_my_dodag_from_parent_delete
rpl: remove rpl_get_my_dodag() dependency in rpl_delete_all_parents()
2015-04-28 16:24:21 +02:00
Oleg Hahm
126eba73a9 Merge pull request #2606 from cgundogan/rpl_remove_multiple_instance_check
rpl: remove unnecessary check for multiple instances
2015-04-22 23:14:27 +02:00
Oleg Hahm
9edf0b76db doc: aodv specific stuff shouldn't show up in core 2015-04-21 18:53:36 +02:00
Oleg Hahm
8926fa2269 rpl: added debug output for DAO default case 2015-04-19 20:56:05 +02:00
Oleg Hahm
22689437fb Merge pull request #2764 from Lotterleben/aodvv2_improve_offers_improvement
AODVv2: fix check if a route offers an improvement
2015-04-16 09:50:40 +02:00
Lotte Steenbrink
aca795ddb2 Merge pull request #2810 from Lotterleben/aodvv2_na_mcast_init
AODVv2: rm unnecessary initialization of na_mcast
2015-04-15 16:06:06 +02:00
Lotte Steenbrink
82caf87128 Merge pull request #2796 from BytesGalore/aodv_return_on_socket_fail
routing/aodv: added return on failed socket creation for receiver thread
2015-04-14 11:43:36 +02:00
Cenk Gündoğan
19c2ab8bc2 rpl: remove rpl_get_my_dodag() dependency in rpl_delete_all_parents() 2015-04-14 10:09:47 +02:00
Cenk Gündoğan
d27cd45a81 rpl: update routing table information for all dodags 2015-04-13 18:59:22 +02:00
BytesGalore
feff423f07 routing/aodv: added return on failed socket cration for receiver thread 2015-04-13 11:59:12 +02:00
BytesGalore
c47563a745 Merge pull request #2789 from Lotterleben/aodvv2_mutex_fix
AODVv2: fix mutex for route message creation
2015-04-13 11:08:44 +02:00
Lotte Steenbrink
5de25a7bd7 AODVv2: fix check if route offers improvement 2015-04-11 06:51:08 -07:00
Lotte Steenbrink
ae88d122e4 rm unnecessary initialization of na_mcast 2015-04-11 02:37:43 -07:00
Lotte Steenbrink
436a105ff7 AODVv2: fix mutex for route message creation 2015-04-10 07:13:35 -07:00
Oleg Hahm
fce1d4538e Merge pull request #2703 from cgundogan/rpl_rm_initializers
rpl: remove needless initializers
2015-04-10 11:48:52 +02:00
Oleg Hahm
bd828f109e Merge pull request #2350 from gebart/pr/sixlowpan-buffer-name
sixlowpan: rename global buffer->sixlowpan_buffer
2015-04-10 11:38:54 +02:00
Oleg Hahm
63c121528a Merge pull request #2624 from cgundogan/rpl_recv_DIS_multiple_dodags
rpl: check all dodags when receiving DIS messages
2015-04-10 00:20:13 +02:00
Oleg Hahm
540ee49e61 Merge pull request #2653 from cgundogan/rpl_remove_get_my_dodag_dependencies
rpl: remove get_my_dodag dependency by passing the dodag as parameter
2015-04-10 00:18:02 +02:00
Oleg Hahm
087b51e10b Merge pull request #2500 from fnack/nhdp_optimize_rx
sys/nhdp: Remove temp address lists to optimize hello processing
2015-04-09 18:43:18 +02:00
Lotte Steenbrink
ccc33ec619 AODVv2: Broken & Expired routes to Invalid routes 2015-04-02 10:45:26 -07:00
Joakim Gebart
f6bade32e6 rpl: Rename buffer->sixlowpan_buffer 2015-03-25 08:00:47 +01:00
Cenk Gündoğan
7e19ef0536 rpl: remove needless initializers 2015-03-24 14:07:58 +01:00
Cenk Gündoğan
9bdcfcbe33 rpl: edit the debug message for instance == NULL 2015-03-22 19:07:31 +01:00
Ludwig Ortmann
cf637942cc *: add missing blank lines
Some functions had no blank lines to separate them from their
neighborhood.
2015-03-21 16:34:59 +01:00
Joakim Gebart
8865d9f25f rpl: Fix DEBUG print which broke in 5585413ce0
rpl: pass rpl_instance_t directly instead of its id #2604
https://github.com/RIOT-OS/RIOT/pull/2604
2015-03-21 14:55:17 +01:00
Martine Lenders
4c6ec9b013 Merge pull request #2596 from kushalsingh007/unused
CppCheck: Removing unusedVariable warnings
2015-03-20 22:20:38 +01:00
Cenk Gündoğan
743f529efd Merge pull request #2610 from cgundogan/rpl_remove_get_my_dodag_for_dio_dao
rpl: remove some usages of rpl_get_my_dodag
2015-03-20 20:19:43 +01:00
Cenk Gündoğan
f2b9b51adb Merge pull request #2644 from cgundogan/rpl_pass_dodag_to_find_parent
rpl: pass dodag to the rpl_find_parent function
2015-03-20 19:52:33 +01:00
kushalsingh007
e3d0471183 CppCheck: Removing unusedVariable warnings
-Suppressed warning which occured due to VDEBUG not being used.
-Added comment explaining reason to suppress the warning.
2015-03-20 04:26:30 +05:30
Cenk Gündoğan
1ab4f7c975 rpl: remove get_my_dodag dependency by passing the dodag as parameter 2015-03-19 19:54:30 +01:00
Cenk Gündoğan
5fb526fde8 rpl: pass dodag to the rpl_find_parent function 2015-03-19 19:47:08 +01:00
Cenk Gündoğan
1cd351e6b0 rpl: check all dodags when receiving DIS messages 2015-03-19 19:44:58 +01:00
Cenk Gündoğan
27f0c2fd3f rpl: remove some usages of rpl_get_my_dodag 2015-03-19 19:08:01 +01:00
Cenk Gündoğan
d7722c1766 rpl: expose global rpl_dodags variable 2015-03-19 11:03:43 +01:00
Oleg Hahm
dd0a6496f7 Merge pull request #2608 from cgundogan/rpl_make_send_DAO_aware_of_multiple_dodags
rpl: make send_DAO aware of multiple dodags
2015-03-18 17:17:25 +01:00
Oleg Hahm
f228586d9f Merge pull request #2609 from cgundogan/rpl_make_send_DIO_aware_of_multiple_dodags
rpl: make send_DIO aware of multiple dodags
2015-03-18 17:16:33 +01:00
Oleg Hahm
c396a9009e Merge pull request #2604 from cgundogan/rpl_use_instance_t_as_parameter
rpl: pass rpl_instance_t directly instead of its id
2015-03-18 14:45:48 +01:00
Joakim Gebart
569d291838 Merge pull request #2543 from cgundogan/rpl_use_global_address
rpl: use global ip addresses instead of link-local ones
2015-03-18 09:21:14 +01:00
Cenk Gündoğan
f8408308d7 rpl: remove call to rpl_get_my_preferred_parent() in rpl_send_DAO, because of dependency to rpl_get_my_dodag() 2015-03-17 19:56:34 +01:00
Cenk Gündoğan
442e7b10b9 rpl: make send_DAO aware of multiple dodags 2015-03-16 12:38:17 +01:00
Cenk Gündoğan
4346513e4b rpl: make send_DIO aware of multiple dodags 2015-03-16 12:26:17 +01:00
Cenk Gündoğan
a7c3807c29 rpl: remove unnecessary check for multiple instances 2015-03-16 09:52:06 +01:00
Cenk Gündoğan
5585413ce0 rpl: pass rpl_instance_t directly instead of its id 2015-03-16 09:35:14 +01:00
Fabian Nack
133aeedea5 sys/nhdp: Add interface specific packet sequence number 2015-03-13 07:06:40 +01:00
Fabian Nack
48ce3d467c sys/nhdp: Remove temp address lists to optimize hello processing 2015-03-13 06:57:06 +01:00
Fabian Nack
4d4b4bf348 sys/nhdp: Allocate memory for NHDP's if table static 2015-03-12 14:57:18 +01:00
Cenk Gündoğan
5d382b4ac8 rpl: use global ip addresses instead of link-local ones 2015-03-10 20:51:58 +01:00
kushalsingh007
3dbe4cd8af Reducing the scope of variable after running static code analyser.
- Part of fix for issue number 480 (variableScope)
- Suppression of warnings that are not needed.
2015-03-10 22:03:18 +05:30
Cenk Gündoğan
c60450df4c rpl: implement basic prefix information option for DIOs 2015-03-03 19:36:14 +01:00
Joakim Gebart
dcebfe55a4 Merge pull request #2491 from cgundogan/rpl_use_all_rpl_nodes_addr
rpl: use the all-RPL-nodes multicast address
2015-02-28 11:08:09 +01:00
Joakim Gebart
1eee289cb4 rpl: Make addr_str static 2015-02-26 09:56:52 +01:00
Cenk Gündoğan
1d4d3fa1c1 rpl: use the all-RPL-nodes multicast address 2015-02-25 20:33:13 +01:00
Fabian Nack
d9480cadfc sys - nhdp: Add nhdp impl 2015-02-24 11:50:58 +01:00
Cenk Gündoğan
d6e8e57d1f rpl: merge storing/non-storing to reduce the amount of redundant code 2015-02-21 15:36:28 +01:00
Cenk Gündoğan
fbf3296ca5 Merge pull request #2462 from BytesGalore/rpl_fix_hardfault_on_no_ocp
sys/net/routing/rpl: catch hardfault when OCP from DIO is not supported
2015-02-21 13:32:01 +01:00
Oleg Hahm
8ad299882c Merge pull request #2191 from cgundogan/rpl_remove_send_mutex
rpl: remove send mutex
2015-02-21 13:30:09 +01:00
BytesGalore
9e0ccc395a sys/net/routing/rpl: catch hardfault when OCP from DIO is not supported 2015-02-19 19:05:27 +01:00
BytesGalore
5a0eba2b1e sys/net/routing/rpl: apply correct byte order for RPL messages 2015-02-17 20:41:11 +01:00
BytesGalore
4b189b6e58 rpl: added configurable RPL MOP on compile time
- e.g. `make RPL_MOP=RPL_MOP_NON_STORING_MODE`
     - changed the MOP defines to have `RPL_MOP_*` prefix
2015-02-05 19:17:51 +01:00
Cenk Gündoğan
13e7bbccfc rpl: wrong length for DAO options 2015-02-03 11:47:07 +01:00
Cenk Gündoğan
c14217c68e rpl: introduce constants for PREFIX_INFO length with/without RPL_OPT_LEN 2015-02-03 10:41:28 +01:00
Cenk Gündoğan
26095013a1 rpl: introduce constants for DODAG_CONF length with and without RPL_OPT_LEN 2015-02-03 10:41:27 +01:00
Cenk Gündoğan
432688accb rpl: wrong length of DIO options
Currently, the DIO options `dodag conf` and `prefix info` are off by two
bytes in their `length` field. The RFC states, that the length field
should not include the option `type` field and the `length` field (two bytes).

For Prefix Info Option: Option Length: 30 (RFC 6550, P.61)
For Dodag Conf  Option: Option Length: 14 (RFC 6550, P.52)

Wireshark complains about DIOs as malformed packets, otherwise.
Can be reproduced by running the rpl_udp example and logging the DIOs
via wireshark.
2015-02-03 10:41:27 +01:00
Cenk Gündoğan
eb202ffe6d rpl: remove unsused warning 2015-02-02 12:54:58 +01:00
Cenk Gündoğan
f3c6ef7e66 rpl: remove common globals by prefixing with static 2015-02-02 12:54:58 +01:00
Oleg Hahm
6715bccf5b Merge pull request #2190 from cgundogan/rpl_new_parent_dodag_assignment
rpl: wrong dodag assignment to parent
2015-01-29 11:24:38 +01:00
Cenk Gündoğan
993f7cc7c6 rpl: remove rpl_send_mutex
This PR is based on #2155.
Since RPL/Trickle is only using one thread in #2155, the send mutex becomes
obsolete and can be removed safely.
2015-01-27 12:35:41 +01:00
Joakim Gebart
f71f8322d9 Merge pull request #2348 from gebart/pr/fno-common-fixes1
Removing (some) common globals, working towards #2346
2015-01-26 09:11:10 +01:00
Joakim Gebart
c5e1683a8c rpl: Make ipv6_buf local. 2015-01-23 19:46:26 +01:00
Joakim Gebart
526a84093b rpl: Remove extra definition of rpl_process_pid. 2015-01-23 19:46:26 +01:00
Joakim Gebart
6a810fe989 sys/net/routing: reduce scope of globals in etx_beaconing.c 2015-01-23 18:01:28 +01:00
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
Oleg Hahm
34908f11a9 Merge pull request #2257 from cgundogan/rpl_fix_srh_for_storing_mode
rpl: node-to-node communication broken (rpl_udp)
2015-01-13 18:49:14 +01:00
Oleg Hahm
a31bc97e1c Merge pull request #2253 from cgundogan/rpl_srh_remove_relay_debugf
rpl: move msg_send_receive outside of DEBUGF
2015-01-13 14:43:18 +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
22f466ab80 rpl: remove needless call to rpl_get_of_for_ocp
This line has no further significance to the application other than burning cpu cycles.
2015-01-08 09:40:08 +01:00
Cenk Gündoğan
da12f62751 rpl: remove return value completely as it is not really used, gives
`unsused` warning otherwise
2015-01-08 09:31:30 +01:00
Lotte Steenbrink
3591894698 aodvv2: fix calls to DEBUG()
``debug.h`` was included before ``ENABLE_DEBUG`` was set to 0 or 1. In consequence, setting ``ENABLE_DEBUG`` to 1 had no effect. This should be fixed now.
2015-01-06 15:57:12 -08:00
Lotte Steenbrink
465f9096b1 aodvv2: call aodv_packet_reader_handle_packet() when recieved packet is *not* our own.
For some reason the call to aodv_packet_reader_handle_packet() got lumped in with the check if a received packet is ours. In consequence, all packets which were not sent by the node that received them (i.e. the important ones) were silently ignored, preventing any routes from being established.
This should be fixed now: foreign packets are now handled again, while own packets are ignored.
Also, I made the corresponding comment a bit less passive-aggressive.
2015-01-06 12:54:14 -08:00
Cenk Gündoğan
40c28dd3bf rpl: node-to-node communication broken (rpl_udp)
Calling ipv6_iface_set_srh_indicator with storing mode breaks the
neighbour discovery code in **ip.c:480**.
Thus, it is not possible to use `send <n> test` from node to node.
2015-01-06 18:04:54 +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
d4b57b301d rpl: move msg_send_receive outside of DEBUGF
When the debug flag is set to off, the call to msg_send_receive will be
ignored. @fabianbrandt am I missing something?
2015-01-06 13:04:26 +01:00
Oleg Hahm
be67f662ac Merge pull request #2248 from cgundogan/rpl_remove_faulty_comment
rpl: remove faulty comment
2015-01-06 12:55:15 +01:00
Cenk Gündoğan
8b7386fc8b rpl: remove faulty comment
Can be misleading since we also support non-storing mode now.
2015-01-06 10:24:25 +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
36893ded6d rpl: typo childs -> children 2015-01-06 09:23:56 +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
eeafd426d5 rpl: wrong dodag assignment to parent
`dodag` is the representation of the incoming DIO and thus is temporary.
Assigning this to the parent would lead to failure when reading/writing
to/from the parent's dodag attribute later.
`my_dodag`on the other hand is the local persistent representation of
the DIO's dodag and therefore the right choice.
2014-12-14 09:41:42 +01:00
BytesGalore
0ced7338e4 sys:net:routing:rpl made the number of routing entries configurable on compile time. 2014-12-12 09:42:33 +01:00
Cenk Gündoğan
42d0fe3f78 rpl: removing unnecessary recv_mutex
In the main function of RPL (rpl_process thread)
a mutex is used after receiving a message via msg_recv.
However, this mutex is never used in another thread and thus is rendered
obsolete.
2014-12-05 16:31:41 +01:00
Oleg Hahm
312e2b10a8 Merge pull request #2146 from cgundogan/rpl_unused_parameter_warning_nonstoring
rpl: make unused parameter warning disappear
2014-12-05 15:11:01 +01:00
Cenk Gündoğan
6bfb82ca13 rpl: make unused parameter warning disappear 2014-12-05 14:16:11 +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
Hinnerk van Bruinehsen
59a6e5836b lint: fix uselessAssignmentArg start_index 2014-11-28 01:10:35 +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