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

102 Commits

Author SHA1 Message Date
Joakim Gebart
3f4478e2bb sixlowpan: Reduce scope on some globals in ip.c 2015-01-23 19:46:26 +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
Lotte Steenbrink
a8b3c9f535 exclude `ipv6_iface_set_routing_provider() from #ifdef MODULE_RPL` so that other routing protocols can use it too. 2014-12-17 02:09:09 -08:00
Ludwig Ortmann
68ca082dcc sixlowpan: handle malloc error
The return value of malloc wasn't checked before, resulting in
possibly undefined behavior.
2014-12-14 11:32:30 +01:00
Ludwig Ortmann
5e6d5ab522 sixlowpan: remove redundant assignment 2014-12-14 11:32:30 +01:00
Cenk Gündoğan
2a7ce79947 ip: check for null before ip_get_next_hop is used 2014-12-11 15:43:16 +01:00
Cenk Gündoğan
6ee5e737f9 vtimer: set custom msg_t.type with vtimer_set_msg
Currently, when using vtimer_set_msg the corresponding msg_t is filled
with the MSG_TIMER ("12345") type.
This approach makes it difficult to differentiate between incoming
messages via vtimer_set_msg.

In this PR I introduce another parameter for the vtimer_set_msg
function to specify a custom msg_t type.
2014-12-09 10:07:26 +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
c92effaead debug: removed superfluous additional debug flag 2014-12-03 22:59:14 +01:00
Fabian Nack
eebfd5011a drivers - cc110x: Initial import of new cc110x driver 2014-12-01 17:14:02 +01:00
Oleg Hahm
dc74bd48bf doc: removed superfluous (and broken) @file params 2014-11-30 21:52:54 +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
Martine Lenders
c9219b87d6 net_help: prefix csum properly and add documentation 2014-11-18 14:59:37 +01:00
Martine Lenders
ba1527593f ipv6: fix IPv6 address matching algorithm 2014-11-13 00:16:34 +01:00
Oleg Hahm
d1d8972b0c 6lowpan: do not overrun in context_remove 2014-11-10 15:33:49 +01:00
Oleg Hahm
365bfd81af IPv6: allow complete in ipv6_addr_init_prefix
If the specified prefix is a full IPv6 address, no bits remain.
Fixes a possible buffer overrun.
2014-11-10 15:33:48 +01:00
Oleg Hahm
b96b995d76 6lowpan: fix buffer overrun in decompression 2014-11-10 15:33:48 +01:00
Oleg Hahm
e06dce55b1 6lowpan: free fragment buffer in error case 2014-11-10 15:33:48 +01:00
BytesGalore
de3c3cebd0 c++: sys: add extern C to header files 2014-11-08 20:09:55 +01:00
Hinnerk van Bruinehsen
a5aeaab87b lint: fix unreadVariable warnings 2014-10-31 01:24:30 +01:00
Oleg Hahm
313d5b4e56 doc: added and fixed some copyright boilerplates 2014-10-30 19:30:14 +01:00
Fabian Nack
07fff37efe drivers - cc110x_ng: rename ng driver to legacy 2014-10-24 09:55:31 +02:00
5146c66786 core: adapt to msg_try_send 2014-10-22 12:37:33 +02:00
Fabian Brandt
cd80cc166e Fixes when a packet is not for me, but an interface is defined. 2014-10-10 17:17:40 +02:00
Martine Lenders
d63e98786e sixlowpan: fix ipv6_addr_init_prefix 2014-10-09 14:42:35 +02:00
Oleg Hahm
cbb1aff0ce sixlowpan: fixed net_if counter
This is a fixup for 11254577eb which
caused this function to always return a positive number, when any
interfaces was configured.
2014-10-01 18:19:35 +02:00
Hinnerk van Bruinehsen
2faf813793 board/sys: move bounds check before array access 2014-09-14 01:56:11 +02:00
Hinnerk van Bruinehsen
57b998e4a1 cpu/examples/sys/drivers: reduce scope of variables 2014-09-13 19:03:40 +02:00
René Kijewski
0cc699c0ce lint: reduce scope
Fix some lint warnings of kind
```
style (variableScope): The scope of the variable '…' can be reduced
```
2014-09-12 11:50:12 +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
Oleg Hahm
c924075722 sixlowpan: documented internal is_our_address() 2014-09-10 14:37:43 +02:00
Oleg Hahm
11254577eb sixlowpan: ignore incoming packets if unconfigured
If there's no IPv6 address configured so far to any interface, 6lowpan
should not try to  handle incoming packets. This can easily lead to
looping packets.
2014-09-10 14:37:43 +02:00
Ludwig Ortmann
b7992922ce fix license headers in non-.c files 2014-08-23 16:16:26 +02:00
Oleg Hahm
e879e2aba2 fix low-level sending destination address 2014-08-21 21:34:45 +02:00
Oleg Hahm
1de5c2b4a0 fixed remaining variables to kernel_pid_t 2014-08-07 17:29:53 +02:00
Oleg Hahm
74fbff1df2 net: changed name of internal variable
To avoid naming conflicts + made variable static and volatile as it
should be.
2014-08-07 16:31:27 +02:00
Oleg Hahm
0ad7b170ed make kernel_pid_t comparisons consistent 2014-08-07 16:31:27 +02:00
Oleg Hahm
aa2ecf6216 initialize kernel_pid_t correctly 2014-08-07 16:31:27 +02:00
Oleg Hahm
c2b0423918 core: renamed KERNEL_PID_NULL to KERNEL_PID_UNDEF
As @authmillenon pointed out the "null" in the old name is somewhat
misleading, since the actual value is -1.
2014-08-07 16:31:27 +02:00
Oleg Hahm
4b1a2f32eb net: fix kernel_pid_t checks
KERNEL_PID_NULL is a negative number. If kernel_pid_t variables are
initialized to this value, one have to check for lt/gte 0.
2014-08-07 16:31:27 +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
Oleg Hahm
5dc38a3e8c sixlowpan: some additional debugging 2014-08-01 00:15:34 +02:00
Oleg Hahm
f2b9e20716 sixlowpan: decrement processing semaphore when discarding 2014-08-01 00:14:45 +02:00
Ludwig Ortmann
d55da67fb6 Merge pull request #1329 from LudwigOrtmann/riot_license
RIOT default license header change
2014-07-31 23:12:47 +02:00
Ludwig Ortmann
3ca4f18479 doc: use lgplv2.1-short license header instead of lgpl-short-riot 2014-07-31 22:57:20 +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
René Kijewski
6fae042a60 core: remove unneeded calls to mutex_init() 2014-07-29 09:33:24 +02:00
René Kijewski
ba1a15535b core: remove extra thread_create_arg() function 2014-07-09 10:28:23 +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
Oleg Hahm
eedc16815c Merge pull request #891 from OlegHahm/rpl_debug
net: some debug code
2014-06-22 19:27:18 +02:00