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

230 Commits

Author SHA1 Message Date
Martine Lenders
b969eeb217 gnrc: rename ng_netbase to gnrc 2015-08-18 16:11:55 +02:00
Cenk Gündoğan
7f6966aacc ng_rpl: RPL for the gnrc network stack 2015-08-18 12:03:28 +02:00
Martine Lenders
56817ba015 Merge pull request #3596 from authmillenon/udp/api/disintangle
udp: put UDP header in its own module
2015-08-17 16:00:06 +02:00
Martine Lenders
4f650b31f9 ipv6: move non-GNRC types and functions in their own modules 2015-08-14 17:18:35 +02:00
Martine Lenders
203561e741 ipv6_addr: remove ng_ prefix 2015-08-11 13:27:07 +02:00
Martine Lenders
4e5fa612c1 ng_ndp: prepare for parallel NDP implementations 2015-08-11 02:49:18 +02:00
Martine Lenders
a5e039cf4d udp: put UDP header in its own module 2015-08-10 03:18:09 +02:00
Martine Lenders
5c03268516 inet_csum: remove ng_ prefix 2015-08-07 16:59:13 +02:00
8fd237d550 sys: make: remove obsolete network Makefile includes 2015-08-06 12:13:19 +02:00
00a44c9147 sys: net: remove AODVv2
(will be upgraded to gnrc soon)
2015-08-06 12:13:19 +02:00
Oleg Hahm
64544ee927 Merge pull request #3543 from cgundogan/pr/universal_address/cleanup
sys/universal_address: Makefile cleanup
2015-08-03 12:23:36 +02:00
BytesGalore
f3494b12f5 Merge pull request #3542 from cgundogan/pr/trickle/cleanup
sys/trickle: Makefile and include guards cleanup
2015-08-03 11:22:39 +02:00
Cenk Gündoğan
a2f4d990c6 sys/universal_address: Makefile cleanup 2015-08-03 11:18:16 +02:00
Cenk Gündoğan
0738f67de0 Merge pull request #3017 from BytesGalore/fix_remove_misplaced_usemodule
sys/Makefile: del `USEMODULE`s for `transport_layer` already present in `Makefile.dep`
2015-08-03 10:55:46 +02:00
Cenk Gündoğan
4a21c54547 sys/trickle: Makefile and include guard cleanup 2015-08-03 10:36:48 +02:00
Cenk Gündoğan
ea5e371383 sys/universal_address: separate universal_address from fib 2015-07-30 18:34:48 +02:00
Martine Lenders
3d9945667f Merge pull request #3496 from authmillenon/ng_pktbuf/enh/new_default
ng_pktbuf: new default packet buffer implementation
2015-07-29 02:08:46 +02:00
Martine Lenders
9e823076f4 ng_pktbuf: new default packet buffer implementation 2015-07-29 00:47:30 +02:00
Hauke Petersen
bce198ebf8 net: removed deprecated non-gnrc netapi 2015-07-28 23:10:21 +02:00
BytesGalore
a0c891b5db sys/Makefile: removed USEMODULEs for transport_layer already present in Makefile.dep 2015-07-27 14:04:30 +02:00
Nico von Geyso
4a4235c622 Unified Cipher API and Block cipher operation modes 2015-07-22 19:18:34 +02:00
Martine Lenders
c5318336ae net: intial import of the ZEP protocol 2015-07-02 15:47:19 +02:00
Oleg Hahm
b16e3fa358 gnrc: remove duplicate nomac from Makefile 2015-06-24 15:00:00 +02:00
Martine Lenders
f28c5041eb ng_nettest: initial import of a ng_netapi test framework 2015-06-23 15:22:55 +02:00
Martine Lenders
ae3d88fcae Merge pull request #2806 from authmillenon/ng_sixlowpan_iphc/feat/initial
ng_sixlowpan: Initial import of IP header compression
2015-05-27 18:07:11 +02:00
Martine Lenders
9a989264d8 ng_sixlowpan: initial import of IP header compression 2015-05-27 11:54:50 +02:00
1c91baed8b sys: net: add ng_netdev_eth netdev driver for dev_eth based ethernet devices 2015-05-26 21:05:19 +02:00
Martine Lenders
e3bdc53c37 Merge pull request #2898 from authmillenon/ng_ipv6_ext/feat/initial
ng_ipv6_ext: initial import of extension header handling (including RPL SRH)
2015-05-26 20:16:50 +02:00
Martine Lenders
96ab1fa283 ng_slip: initial import 2015-05-23 13:19:16 +02:00
Joseph Noir
bddaee751d Add replacement headers for thread, mutex and cond
These headers do not provide full stl functionality,
but a small subset:
* thread and this_thread
* condition_variable (some timed functions are missing)
* mutex, lock_guard and unique_lock
2015-05-18 13:57:02 +02:00
Martine Lenders
abc0280543 ng_rpl: add source routing header parsing for ng_net 2015-05-17 21:51:52 +02:00
Martine Lenders
5ffdbc5652 ng_ipv6_ext: add routing header parsing 2015-05-17 21:51:50 +02:00
c944d54171 core: log: introduce logging API 2015-05-17 21:49:22 +02:00
Martine Lenders
dcfa2681d6 ng_ipv6_ext: initial import of extension header handling 2015-05-17 21:46:56 +02:00
Martine Lenders
ee11a2ae56 ng_ndp: initial import of the address resolution 2015-05-17 09:15:03 +02:00
0921bce5dd sys: add hwtimer layer for periph timers 2015-05-06 12:04:53 +02:00
Oleg Hahm
d1bfa2f2ff Merge pull request #2555 from authmillenon/ng_icmpv6/feat/initial
ng_icmpv6: Initial import
2015-05-01 11:37:42 +02:00
Martine Lenders
86133b8404 ng_icmpv6_echo: initial import 2015-05-01 08:34:11 +02:00
Martine Lenders
591ef1826f ng_icmpv6: Initial import 2015-05-01 08:29:01 +02:00
Martine Lenders
067a3498c5 netif_hdr: add print function 2015-04-28 21:16:47 +02:00
haukepetersen
b1d8752711 net: added NG_UDP implementation 2015-04-26 21:53:07 +02:00
Martine Lenders
73d9739258 ng_sixlowpan: Initial import of datagram fragmentation 2015-04-26 02:21:20 +02:00
Martine Lenders
5412e0e68b ng_sixlowpan: initial import 2015-04-23 11:29:53 +02:00
Martine Lenders
07e2dbaf7e ng_sixlowpan_netif: initial import 2015-04-23 11:29:51 +02:00
Martine Lenders
a0c6db6591 ng_ipv6: initial import 2015-04-22 22:12:07 +02:00
Martine Lenders
39ed4baa92 ng_sixlowpan: initial import of a context buffer 2015-04-18 15:42:42 +02:00
Martine Lenders
c94094529d Merge pull request #2731 from authmillenon/ipv6_hdr/feat/initial
ipv6_hdr: Initial import
2015-04-10 07:35:41 +02:00
Martine Lenders
687947d3db Merge pull request #2730 from authmillenon/inet_csum/feat/initial
inet_csum: initial import of Internet Checksum module
2015-04-10 07:24:58 +02:00
Martine Lenders
9c30851b45 ipv6_hdr: Initial import 2015-04-10 00:41:55 +02:00
BytesGalore
30c76adc43 net: added a core implementation of a FIB 2015-04-01 10:24:35 +02:00
Martine Lenders
903a9d54ce inet_csum: initial import of Internet Checksum module 2015-03-28 14:02:59 +01:00
Hauke Petersen
497a3da9e3 net: added ng_pktdump module 2015-03-23 15:25:30 +01:00
Martine Lenders
7027519f28 ng_ipv6: provide support for ng_netif 2015-03-19 15:13:17 +01:00
Martine Lenders
c1708682e8 ng_ipv6_nc: Initial import 2015-03-13 20:42:47 +01:00
Martine Lenders
95432fadaa ng_nomac: add to sys/Makefile 2015-03-12 21:57:18 +01:00
Hauke Petersen
549867b57e net: added ng_nomac module 2015-03-12 17:15:39 +01:00
Fabian Nack
d9480cadfc sys - nhdp: Add nhdp impl 2015-02-24 11:50:58 +01:00
Martine Lenders
d198724981 sys: clean-up Makefile 2015-02-20 20:20:47 +01:00
Martine Lenders
dad4e8d5df Merge pull request #2433 from authmillenon/ng_ipv6_addr/feat/initial
ng_ipv6_addr: initial import
2015-02-20 19:27:17 +01:00
Martine Lenders
ff36abb2cf ng_ipv6_addr: initial import
The motivation behind this module is to allow for address handling
functions where they, but not the full IPv6 functionality might be
needed. This new version of the IPv6 address data type utilizes the
byteorder.h header to enforce network byte-order on its members.
2015-02-20 17:40:26 +01:00
Martine Lenders
41f60aca4c pktbuf: port to use ng_ version 2015-02-19 13:51:27 +01:00
Martine Lenders
c80c04d6ed netreg: Initial import 2015-02-12 16:13:38 +01:00
Martine Lenders
b208371163 Merge pull request #2417 from authmillenon/netif/feat/initial
netif: Initial import of ng_* version
2015-02-11 12:41:54 +01:00
Martine Lenders
7317097db2 pkt: simplify API 2015-02-11 11:01:33 +01:00
Martine Lenders
894cd964f9 netif: Initial import of ng_* version 2015-02-11 10:52:51 +01:00
Hauke Petersen
87e2b6db50 ng_net: added new version of NETAPI 2015-02-10 11:34:56 +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
2d874af904 Merge pull request #2158 from authmillenon/pkt/feat/initial-import
pkt: Initial import
2015-01-14 08:20:46 +01:00
Martine Lenders
99e2feca48 pkt: Initial import
This data type is bound to replace the `(netdev_hlist_t *ulh, void
*data)` tuples in netapi and netdev.
2015-01-14 07:04:56 +01:00
Martin Lenders
96502e2fd4 sys: net: Initial import of a basic MAC protocol layer 2015-01-14 06:58:48 +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
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
b7a079471a sys: net: Initial import of a general interface to a network protocol 2014-11-20 14:51:29 +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
René Kijewski
9a15a6def5 make: easify {sys,drivers}/Makefile
Currently you need to add every new sys and driver module into the
respective Makefile. This requires rebasing if another module was merged
in the meantime.

This PR allows you to omit the entry to {sys,drivers}/Makefile, if the
subfolder has the same name as the module name, which should be sensible
in most cases.
2014-11-11 09:26:37 +01:00
Martine Lenders
3519a3d9be sys: Initial import of analytical object dump (od) module 2014-10-30 16:43:06 +01:00
Martine Lenders
a569f2b92c net: Initial import of a global packet buffer 2014-10-16 11:52:30 +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
Kevin Funk
e8141ca5d8 cbor: CBOR implementation for RIOT-OS
This is a malloc-free implementation of the Concise Binary Object
Representation (CBOR) data format for the RIOT-OS.

This implementation mostly stand-alone, and it should be pretty easy to
port to other platforms. We're only using the C STL and some custom
network-related functionaliy which could be easily replaced by depending
on arpa/inet.h.

The CBOR API is straight-forward to use and provides encoding/decoding
functionality for all major C types, such as:
- int
- uint64_t
- int64_t
- float
- double
- char*
- struct tm
- time_t

It is possible to conditionally compile this module via CFLAGS:
- CBOR_NO_SEMANTIC_TAGGING: All semantic-tagging features removed
- CBOR_NO_CTIME: All ctime related features removed
- CBOR_NO_FLOAT: All floating-point related features removed
- CBOR_NO_PRINT: All features depending on printf removed
2014-08-05 19:49:51 +02:00
René Kijewski
0ab1b86e5f Add generic char pipe implementation 2014-07-28 23:21:27 +02:00
Hauke Petersen
839955cd05 sys: added color module 2014-06-22 13:53:01 +02:00
René Kijewski
467b41ad49 make: easifier usage of module subdirectories
Many modules have subdirectories. Often these subdirectories should only
be included under certain circumstances. Modules that use submodules
currently need to use this pattern:

```make
DIRS = …

all: $(BINDIR)$(MODULE).a
   @for i in $(DIRS) ; do $(MAKE) -C $$i ; done ;

include $(RIOTBASE)/Makefile.base

clean::
   @for i in $(DIRS) ; do $(MAKE) -C $$i clean ; done ;
```

This PR moves the `all:` and `clean::` boilerplate into `Makefile.base`.
2014-06-17 15:49:32 +02:00
René Kijewski
1b89f334e3 msp430: provide oneway-malloc implicitly
For MSP430 boards oneway-malloc is already used *if* `malloc.h` was
included. The problem is that `malloc.h` is not a standard header, even
though it is common. `stdlib.h` in the right place to look for
`malloc()` and friends.

This change removes this discrepancy. `malloc()` is just named like
that, without the leading underscore. The symbols now are weak, which
means that they won't override library functions if MSP's standard
library will provide these functions at some point. (Unlikely, since
using `malloc()` on tiny systems is less then optimal ...)

Closes #1061 and #863.
2014-05-22 15:40:25 +02:00
René Kijewski
96fba8a19b sys:crypto: put ciphers into one module 2014-05-12 21:57:44 +02:00
Fabian Brandt
ef5eaff1bc ETX-functionality is now part of a common routing-module 2014-04-25 11:30:28 +02:00
René Kijewski
300d6b3e35 Make: exterminate 'clean' buildtarget
Closes #993.

We do not need to descend into the modules to know what to do on
`make clean BOARD=blub`. We can just invoke `rm -rf bin/blub`.

This PR only keeps the descending into the USEPKGs, since they might
want to delete cached/downloaded/extracted data.
2014-04-09 23:07:52 +02:00
René Kijewski
fbc4531877 make: replace findstring with filter in sys/Makefile 2014-04-08 19:25:51 +02:00
René Kijewski
de29e4184c Add include paths automatocally for USEMODULES
Application developers use `$(USEMODULES)` in their Makefiles to have
the relevant functionally automagically added to their apps. This even
does basic dependency tracking by means of `Makefile.dep`.

But an important thing is missing: the automatic adding of include
paths. This is inconvenient, error prone, and will hinder the RIOT core
developers in future to change folder structures.
2014-03-29 16:27:55 +01:00
Christian Mehlis
60feb7ea37 posix: move posix semaphore in posix module 2014-03-16 19:48:25 +01:00
Ludwig Ortmann
9b61d95545 make: don't ignore failures in for loops
Add `|| exit 1` to all constructs like `@for i in $(DIRS) ; do "$(MAKE)" -C $$i ; done ;`, so that compilation stops on the first error.
2014-03-12 11:09:04 +01:00
Martin Lenders
4e39cbdd54 Put 6LoWPAN border router in its own module 2014-03-01 14:44:21 +01:00
Martin Lenders
848ac70f90 Implement net_if module 2014-02-28 23:13:22 +01:00
Christian Mehlis
e865022a31 pthread: initial add 2014-02-19 23:39:38 +01:00
Oleg Hahm
6c0482b976 Merge pull request #701 from Kijewski/issue-672
Use `filter` instead of `findstring`
2014-02-16 12:33:29 +01:00
René Kijewski
24defa5289 Merge pull request #572 from Kijewski/quad-math
Add quadword math library
2014-02-15 03:55:50 +01:00
René Kijewski
d86509db66 Use filter instead of findstring
See #672
2014-02-14 00:30:34 +01:00
Ludwig Ortmann
2525920426 remove trailing whitespace and newlines 2014-02-11 18:45:06 +01:00
René Kijewski
76bbac4c2b Add quadword math lib
GCC implicitly calls functions like __adddi3 to handle arithmetics on
long long.

Copied from http://ftp3.usa.openbsd.org/pub/OpenBSD/src/lib/libc/quad/
which is curtesy of the OpenBSD project (3 clause BSD license).
2014-02-11 15:24:21 +01:00
Martin Lenders
f9ae76fa4b Start POSIX net [pnet] module 2014-01-17 14:40:57 +01:00
Oleg Hahm
c7d985d371 removed redundant include pathes from Makefiles 2014-01-05 16:11:08 +01:00
Oleg Hahm
593ee623b6 simplify and unify include pathes
additional:
* exporting include path in sys is mandatory for subfolders
* removed duplicate object file in linker call
2014-01-05 16:11:07 +01:00
Oleg Hahm
7642dd0f1d moved net_help into crosslayer subfolder 2013-12-19 19:13:26 +01:00
Oleg Hahm
59e55c354c moved sixlowpan into network_layer subfolder 2013-12-19 19:13:26 +01:00
Oleg Hahm
2f20e9db51 moved protocol-multiplex into link_layer subfolder 2013-12-19 19:13:26 +01:00
Oleg Hahm
38be829901 moved ieee802154 into link_layer subfolder 2013-12-19 19:13:26 +01:00
Oleg Hahm
acd304e1cc moved RPL into routing subfolder 2013-12-19 19:13:26 +01:00
Oleg Hahm
a7d3092a4e moved destiny into transport_layer subfolder 2013-12-19 19:13:26 +01:00
Hauke Petersen
05419a5547 Initial import of crypto libs from SecureMicroMesh
- Imported files from secure micro mesh library
- added Makefiles and included libs into sys/Makefile
2013-12-19 13:33:06 +01:00
Christian Mehlis
8ae7750263 import ccn lite 2013-11-07 00:37:38 +01:00
Christian Mehlis
39d5299f69 posix: add semaphore implementation 2013-10-25 14:45:26 +02:00
Oleg Hahm
46deefe0f8 make Makefiles proof for spaces in $PATH 2013-10-09 15:28:53 +02:00
Christian Mehlis
2e44523b51 change the bloom filter to filter arrays of bytes
current implementation of the bloom filter only
handles c strings, this commits changes the hash
functions to work on byte arrays.

additionally I did:
	added to more hashes
	moved hashes in its own sys folder
2013-08-27 13:30:33 +02:00
Christian Mehlis
5ccde8340d add mersenne twister 2013-08-26 22:17:46 +02:00
Oleg Hahm
88b8ccf3e8 Merge pull request #108 from OlegHahm/unmaintained_libs
removed unmaintained code
2013-08-13 00:44:25 -07:00
Oleg Hahm
540515bd98 removed unmaintained tracelog library 2013-08-12 22:38:18 +02:00
Oleg Hahm
5bf958ce20 removed unmaintained syslog library 2013-08-12 22:38:18 +02:00
Oleg Hahm
d9189f1756 removed unmaintained logd library 2013-08-12 22:38:13 +02:00
Christian Mehlis
7d84936fd7 add sha256 implementation 2013-08-12 10:01:48 +02:00
Christian Mehlis
5a45d15894 initial bloom filter import 2013-08-09 22:37:03 +02:00
Oleg Hahm
564eb457ad fixing for #79: relocating rpl folder 2013-08-04 04:46:17 +02:00
Oleg Hahm
956f0e8656 fix for #87, replacing - with _ in module protocol_multiplex 2013-08-04 03:17:31 +02:00
Oleg Hahm
f7ecc704a4 fixed includes and include pathes 2013-07-29 01:24:02 +02:00
Oleg Hahm
40b3078b7e made rpl a stand-alone module 2013-07-05 09:35:29 +02:00
Oliver Hahm
57cc002c67 Merge branch 'wsn430'
Conflicts:
	core/include/queue.h
	core/queue.c
	cpu/msp430-common/hwtimer_cpu.c
	cpu/msp430x16x/hwtimer_msp430.c
	sys/lib/hashtable.c
	sys/net/ieee802154/ieee802154_frame.c
	sys/shell/commands/sc_cc110x_ng.c
	sys/transceiver/transceiver.c
	sys/vtimer/vtimer.c
2013-06-25 15:33:40 +02:00
Milan Babel
2f5ed66756 created own module for ieee802154
this is needed to include the ieee802154 in drivers without the hole sixlowpan
2013-06-06 08:35:17 +02:00
Martin Lenders
07e8ac9c19 Remove swtimer
see #4
2013-04-11 15:24:15 +02:00
Oliver Hahm
e6177e811a * moved cpu and board specific parts to corresponding Makefiles
* introduced variable for cpu folder
2013-03-23 18:38:12 +01:00
Benjamin Valentin
4d73d17662 add Makefiles to sys/net 2013-03-16 17:27:27 +01:00
Oliver Hahm
7a4dec1830 * replaced new Makefile name in Makefiles 2013-03-09 23:47:21 +01:00
Oliver Hahm
5ffe5a9c27 * renamed makefiles to Makefile 2013-03-09 23:45:56 +01:00