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

119 Commits

Author SHA1 Message Date
Joakim Gebart
70cf054b5e sixlowpan: Broadcast message when neighbour not found in cache. 2015-03-04 08:47:10 +01:00
Cenk Gündoğan
d6242360da net_if: proper u/l-bit inversion for short addresses 2015-03-03 20:03:54 +01:00
Joakim Gebart
2aa031e7c7 sixlowpan: Set U/L bit in short address to local. 2015-03-03 19:56:11 +01:00
Johann Fischer
90ab40657a sys/net/network_layer/sixlowpan/lowpan.c: reduce scope of debug variable 2015-03-02 18:42:38 +01:00
Joakim Gebart
726bdf9d7b Merge pull request #2512 from cgundogan/ip_d_addr_unused
ip: use d_addr instead of s_addr when setting the destaddr
2015-03-02 12:23:11 +01:00
Cenk Gündoğan
c3fc24700c rpl: use d_addr instead of s_addr when setting the destaddr 2015-03-02 10:33:45 +01:00
Cenk Gündoğan
3832fc57f5 Merge pull request #2496 from gebart/pr/6lowpan-print-addr
sixlowpan: Properly print source address when ENABLE_DEBUG
2015-03-02 08:21:42 +01:00
Joakim Gebart
578eb38c38 sixlowpan: Properly print source address when ENABLE_DEBUG 2015-02-26 19:22:07 +01:00
Joakim Gebart
db59de6c2e sixlowpan: Refactor DAC/DAM decoding to match SAC/SAM implementation. 2015-02-26 13:53:07 +01:00
Joakim Gebart
9933a431e3 sixlowpan: Refactor SAC/SAM decoding. 2015-02-26 12:19:30 +01:00
Joakim Gebart
ff6f8ff82b sixlowpan: Invert local/universal bit in EUI-64 when forming IPv6 Interface Identifiers. 2015-02-26 09:59:28 +01:00
Johann Fischer
ce423816af sys/net/network_layer/sixlowpan/mac.c: add missing p->processing--; 2015-02-11 11:57:46 +01:00
BytesGalore
c7eea4d0d5 sys/net/sixlowpan: change to release lowpan.c::lowpan_context_mutex when no context is recognized 2015-02-10 12:27:56 +01:00
Cenk Gündoğan
4347039e88 ip: make addr_str static
When setting the `ENABLE_DEBUG` flag to *1* in ip.c,
the **rpl_udp** example won't compile, because the variable `addr_str`
is also defined in **rpl_udp.h** as extern.
Prefixing `addr_str` with `static` in ip.c solves this problem.
2015-02-08 22:07:19 +01:00
Martine Lenders
0eb2d78dda doc: use my real name 2015-02-08 18:52:16 +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
3f4478e2bb sixlowpan: Reduce scope on some globals in ip.c 2015-01-23 19:46:26 +01:00
Joakim Gebart
cd248f89f0 sixlowpan: reduce scope of globals in mac.c 2015-01-23 14:04:59 +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