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

128 Commits

Author SHA1 Message Date
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
Martine Lenders
fbaae0951a ip: set solicited node address correctly 2014-10-21 20:22:07 +02:00
Martine Lenders
a569f2b92c net: Initial import of a global packet buffer 2014-10-16 11:52:30 +02:00
Oleg Hahm
bd3d32e9b0 documentation: added description for packet queue 2014-10-13 19:30:12 +02:00
Ludwig Ortmann
90e2b1c4c4 sys/net/pktqueue: fix doxygen 2014-10-11 08:20:50 +02:00
Martine Lenders
36f8e3c5c3 Merge pull request #1640 from authmillenon/packetqueue
net: Initial import of a packet wrapper for priority_queue
2014-10-10 23:12:28 +02:00
Martine Lenders
e7e62cffdb net: Initial import of a packet wrapper for priority_queue 2014-10-10 23:11:50 +02:00
René Kijewski
749db8d0dd core: Provide functions for different byte orders
Rationale: see #1586.
2014-09-29 21:07:02 +02:00
René Kijewski
d4f144eb47 Add license statement to {msp430_types,net_help}.h 2014-09-25 10:14:58 +02:00
Cenk Gündoğan
710c7e6cf6 transport_layer: Splitting UDP and TCP
Currently, the tcp and udp implementations are bound to each other in a
module called *destiny*. Thus, when using only one of them then the
other one gets also compiled into the binary and initialized,
which results in unnecessary RAM usage and workload for the CPU.

The approach in this PR defines a common module named *socket_base*,
which contains functions used by the posix layer. Compiled by it's own,
those functions return negative error codes, to symbolize upper layers
that they are not supported. When also including the modules *udp* or
*tcp* respectively, functions from *socket_base* get overwritten with the
correct functionality.

Defining *udp* or *tcp* in a Makefile also includes *socket_base*.
Defining *pnet* in a Makefile also includes *socket_base*.
2014-09-11 20:07:46 +02:00
Ludwig Ortmann
2439bd839c doc: fix more license headers
Remove some cruft, set correct lgpl versions, update to lgpl where
this had been overlooked in the past, fix odd comment style...
2014-08-27 19:20:49 +02:00
Ludwig Ortmann
b7992922ce fix license headers in non-.c files 2014-08-23 16:16:26 +02:00
Oleg Hahm
400fb29a6b licenses: updated some missing licenses in headers 2014-08-21 23:52:42 +02:00
Oleg Hahm
8b34d323e2 rpl: moved headers to sys/net/include 2014-08-21 21:34:45 +02:00
Oleg Hahm
983d056c75 core: harmonizes the data type for the process ID
Instead of using differing integer types use kernel_pid_t for process
identifier. This type is introduced in a new header file to avoid
circular dependencies.
2014-08-01 12:02:54 +02:00
Cenk Gündoğan
ca5b45e264 converting tabs to spaces in sys (#1439)
This PR converts tabs to white spaces.
The statement I used for the conversion:
```find . -name "*.[ch]" -exec zsh -c 'expand -t 4 "$0" > /tmp/e && mv /tmp/e "$0"' {} \;```
Afterwards, I had a quick overview of the converted files to prevent odd indentation.
2014-07-31 20:51:50 +02:00
Ludwig Ortmann
b6846e31fc doc: fix most occurences of FU as an author
.. but only if there are other authors as well
2014-07-29 17:23:11 +02:00
Christian Mehlis
d2b78a398f ccnl: finish rebase 2014-07-18 21:06:40 +02:00
Christian Mehlis
cebffb2ccf ccnl: make relay start on RIOT startup 2014-07-18 20:07:15 +02:00
Christian Mehlis
0b390040f4 ccnl: use a second helper thread to handle e.g. timeouts 2014-07-18 20:01:11 +02:00
René Kijewski
ba1a15535b core: remove extra thread_create_arg() function 2014-07-09 10:28:23 +02:00
Fabian Brandt
62236e5d54 Introducing a source routing header for RPL. 2014-07-02 20:35:14 +02:00
René Kijewski
3063e3c2b1 Fix all warnings for native and qemu-i386
Missing returns, unused variables (only used for debugging), empty
translation units, missing function prototypes, and GNU extensions.
2014-06-24 16:50:32 +02:00
Cenk Gündoğan
ecf47b1f48 destiny: using a bit field for tcp_header->data_offset is more convenient
In the current implementation the data offset is coded into an uint8_t.
Of this uint8_t only 3 bits apply for the data offset.
The remaining bits represent reserved flags for future use.
However, a proper bit masking is forgotten in order
to obtain the data offset part of this uint8_t.

Therefore, defining this uint8_t as a bit field allows a more convenient
method of access.
2014-06-09 19:37:37 +02:00
Oleg Hahm
f8168c86d3 documentation: fixed organization of 6LoWPAN doxygen 2014-05-22 13:01:37 +02:00
Thomas Eichinger
7a031e5669 net: handle macro redefinitions for OS X
undefine macros and reorder header includes to get rid of system
defined macros on OS X

fixes #1165
2014-05-14 19:43:58 +02:00
René Kijewski
b8419d48d9 ccnl: remove type warning 2014-05-07 06:17:11 +02:00
Fabian Brandt
ef5eaff1bc ETX-functionality is now part of a common routing-module 2014-04-25 11:30:28 +02:00
Christian Mehlis
c2846a07b9 ccnl: use default transceiver 2014-04-18 11:45:53 +02:00
Martin Lenders
69903e4cb8 Make neighbor cache remove function public 2014-03-28 10:20:08 +01:00
Oleg Hahm
3e4fa5f012 removed error causing packed attribute in net_if 2014-03-02 23:34:07 +00:00
Martin Lenders
bdced318bc Eliminate side effects in icmpv6_csum and make it public 2014-03-01 15:08:19 +01:00
Martin Lenders
00acab920b Let IPv6 and ICMP use new 6LoWPAN layer (+fixes) 2014-03-01 15:08:18 +01:00
Martin Lenders
c9e8adc414 Use net_if in 6LoWPAN layer 2014-03-01 15:08:18 +01:00
Martin Lenders
108989b65d Use net_if in 6LoWPAN MAC layer 2014-03-01 14:44:21 +01:00
Martin Lenders
470d8745e9 Add capability to set and get variable default hop limit 2014-03-01 14:44:21 +01:00
Martin Lenders
78b5f2ae5d Decouple ICMPv6 from 6LoWPAN 2014-03-01 14:44:21 +01:00
Martin Lenders
90e946eb49 Fix ieee802154_frame module 2014-03-01 14:44:21 +01:00
Martin Lenders
bc4befb4e9 Fix coding conventions for sixlowpan and rpl module 2014-03-01 14:44:21 +01:00
Martin Lenders
848ac70f90 Implement net_if module 2014-02-28 23:13:22 +01:00
Martin Lenders
fa11d82443 Allow IEEE 802.15.4 addressing types for transceiver
IEEE 802.15.4 has two addressing modes: 16-bit short and the device's
EUI-64. Currently RIOT supports only sending of packets with 16-bit
short addresses via the transceiver interface. This patch allows at
least for the radio chips that support IEEE 802.15.4 to let the
application/upper layer decide which addressing mode to use.

Upper layer implementation will be implemented in follow-up PR to #460
2014-02-28 23:13:04 +01:00
Martin Lenders
e5df49dc5e Remove destiny header dependency from net_help 2014-02-08 00:31:02 +01:00
Christian Mehlis
97133b9dfb use one consistent mail address in all places 2014-01-27 20:46:45 +01:00
Christian Mehlis
8cfab9d014 ipv6_sendto: return the success 2014-01-14 07:29:28 +01:00
Oleg Hahm
59e55c354c moved sixlowpan into network_layer subfolder 2013-12-19 19:13:26 +01:00
Christian Mehlis
84258fa112 implement NACK for local requesters 2013-12-18 19:33:33 +01:00
Christian Mehlis
9b1b472a2a moved ccnl include folder in net/include 2013-12-18 19:33:33 +01:00
Hauke Petersen
2df82017a8 Fixed doxygen inconsistensies in sys 2013-12-16 15:09:18 +01:00
Hauke Petersen
edcabf7cb6 Fixed a lot of comments by removing tabs and correcting format. 2013-12-16 14:00:33 +01:00
Hauke Petersen
3785fe956b Fixed doxygen comments, focused on file headers and group definitions 2013-12-16 14:00:24 +01:00
Oleg Hahm
7f0d71a418 Merge pull request #363 from OlegHahm/msg_fix_notifier
fixed lowpan and ipv6 notifier
2013-12-11 06:27:40 -08:00
Oleg Hahm
2f5530083b Merge pull request #350 from OlegHahm/ipv6_csum
IPv6 Upper-Layer Checksums
2013-12-08 16:11:26 -08:00
Ludwig Ortmann
d6c213fb47 fix grammar in license header 2013-11-23 13:11:56 +01:00
Oleg Hahm
cce3432220 added IPv6 upper-layer checksum calculation 2013-11-21 21:16:21 +01:00
Oleg Hahm
079d654104 set message type for lowpan and ipv6 notifier 2013-11-21 20:21:55 +01:00
Oleg Hahm
19f4f45445 added some debug output for the network stack 2013-11-14 10:46:21 +01:00
Martin Lenders
d47907ed1a Refactor net module to one include directory 2013-11-06 13:04:23 +01:00