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

106 Commits

Author SHA1 Message Date
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
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
Martine Lenders
41f60aca4c pktbuf: port to use ng_ version 2015-02-19 13:51:27 +01:00
BytesGalore
5a0eba2b1e sys/net/routing/rpl: apply correct byte order for RPL messages 2015-02-17 20:41:11 +01:00
Martine Lenders
cb74094edd pktqueue: adapt to change in pkt.h 2015-02-11 11:01:33 +01:00
Martine Lenders
0eb2d78dda doc: use my real name 2015-02-08 18:52:16 +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
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
Martine Lenders
cfed38ae12 Merge pull request #2287 from authmillenon/pktqueue/api/use-pkt
pktqueue: adapt to pkt_t
2015-01-16 19:48:04 +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
Martine Lenders
c9e2f5bdce pktqueue: adapt to pkt_t 2015-01-14 14:53:37 +01:00
Martin Lenders
96502e2fd4 sys: net: Initial import of a basic MAC protocol layer 2015-01-14 06:58:48 +01:00
Cenk Gündoğan
aca1ade01c rpl: cleanup, changing structdefs into typedefs 2014-12-26 21:13:33 +01:00
Ludwig Ortmann
5e0973ca89 Merge pull request #2150 from OlegHahm/more_doc_cleanup
doc: More documentation cleanup
2014-12-22 11:58:59 +01:00
Lotte Steenbrink
743146a803 fix typos in ip.h, mac.h, ndp.h and types.h 2014-12-17 03:29:37 -08:00
Oleg Hahm
e64ab2aed5 Merge pull request #2024 from OlegHahm/ccnl_802154
ccn-lite: fixes for working with IEEE 802.15.4 radios
2014-12-16 11:03:20 +01:00
Oleg Hahm
5cf625fc03 ccnl: adapt for 802154 devices 2014-12-16 09:34:56 +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
Oleg Hahm
d4166faccc doc: add or move module description where missing 2014-12-11 17:29:51 +01:00
Oleg Hahm
73248cc05e doc: put rpl_storing header to right doxygen group 2014-12-11 17:27:56 +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
000450c894 Merge pull request #2117 from OlegHahm/doxygen_eliminate_warnings
Doxygen eliminate warnings pt. 2
2014-12-04 17:18:42 +01:00
Oleg Hahm
43c86b5a3e doc: fix remaining doxygen warnings 2014-12-04 17:16:57 +01:00
Oleg Hahm
0ccf1043de doc: fixed broken doxygen references 2014-12-04 17:16:57 +01:00
Martine Lenders
115420a510 Merge pull request #1228 from OlegHahm/l2_ping
net: Link Layer Ping
2014-12-03 11:55:37 +01:00
Oleg Hahm
d92e9af91c doc: fixed broken param descriptions 2014-11-30 22:34:50 +01:00
Oleg Hahm
dc74bd48bf doc: removed superfluous (and broken) @file params 2014-11-30 21:52:54 +01:00
Oleg Hahm
206afa4d40 doc: fix typo in UDP header 2014-11-30 21:46:08 +01:00
Oleg Hahm
df9c09d946 doc: fixed typos and other misspellings 2014-11-30 21:32:12 +01:00
Oleg Hahm
ae8dd90884 doc: added missing closing doxygen brackets 2014-11-30 21:16:41 +01:00
Hinnerk van Bruinehsen
9f80fa235b lint: fix syntax error caused by ifdef mess 2014-11-28 01:17:55 +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
Oleg Hahm
b358d8517f Merge pull request #1080 from fabianbrandt/of_manager
Introduction of an of-manager for RPL.
2014-11-27 18:17:18 +01:00
Fabian Brandt
38d9b42762 Introduction of a of-manager for RPL.
The of-manager should gather all available of´s and initialize the prefered one, based on rpl_config.h.
2014-11-27 17:18:54 +01:00
Lotte Steenbrink
0c67c02047 Add the AODVv2 Routing Protocol
This PR depends on #1766.

It contains a minimal implementation of the AODVv2 routing protocol.
*Not* implemented are:

	- AckReqs
	- alternate metrics
	- multiple interfaces
	- clients and Client Networks
	- buffering
	- all addresses, TLVs, and features that are marked as optional

An example application can be found at https://github.com/Lotterleben/RIOT-AODVv2/tree/master/aodvv2_demo.

The implementation relies heavily on a functioning Neighbor Discovery Protocol.
It might be necessary to fill the neighbor cache manually with the current state
of RIOTs NDP implementation.

The value of AODVV2_MAX_UNREACHABLE_NODES has been chosen arbitrarily and will be subject to
future improvement.

Please note that based on my experience, with the default transceiver
buffer size (3) of the native port, about 2/3 of the route discoveries
will fail. This has been addressed in issue #1747. It is advised to increase
the transceiver buffer size when using AODVv2 as a routing protocol.
2014-11-27 03:50:20 -08:00
Martine Lenders
211cad1ea3 pktqueue: fix alignment order
Alignment order of `pktqueue_node_t` does not align with `priority_queue_node_t`
2014-11-25 18:50:12 +01:00
Martine Lenders
b7a079471a sys: net: Initial import of a general interface to a network protocol 2014-11-20 14:51:29 +01:00
René Kijewski
434d6a1f65 core: move NTOHL and friends into byteorder.h 2014-11-19 00:46:41 +01:00
Martine Lenders
c9219b87d6 net_help: prefix csum properly and add documentation 2014-11-18 14:59:37 +01:00
Martine Lenders
4d82c2c646 net_help: remove IPV6_CMP_ADDR macro
Used nowhere; alternative: ipv6_addr_is_equal(), since other use-cases
(is an IPv6 address smaller than the other) are not applicable anyway.
2014-11-17 09:42:07 +01:00
Martine Lenders
53eaa4feb8 net_help: remove printArrayRange()
The od module does the same, much less specialized, much more
sophisticated.
2014-11-17 09:39:45 +01:00
Oleg Hahm
fbd04bd051 ieee802154: introduce constant for default PAN id 2014-11-16 19:04:25 +01:00
Oleg Hahm
4a93a261b4 net: l2_ping uses radio_packet_t instead of packet_info_t 2014-11-11 16:59:06 +01:00
Oleg Hahm
c692b3a00a net: move ping to sys/net
* moved the former ping module from `sys` to `sys/net/link_layer` and renamed to l2_ping
* use defaulttransceiver instead of cc110x
* some refactoring
2014-11-11 15:03:40 +01:00
BytesGalore
de3c3cebd0 c++: sys: add extern C to header files 2014-11-08 20:09:55 +01:00
Oleg Hahm
74a53e824e ieee802154: change frame type definition to enum 2014-11-06 08:02:11 +01:00
Oleg Hahm
313d5b4e56 doc: added and fixed some copyright boilerplates 2014-10-30 19:30:14 +01:00