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

7419 Commits

Author SHA1 Message Date
Juergen Fitschen
73e22612e2 sys/ztimer: add power management for ztimer clocks 2020-04-29 10:55:10 +02:00
Benjamin Valentin
6ce0092982 shell/sc_gnrc_netif: fix vera++ errors 2020-04-29 10:41:37 +02:00
Benjamin Valentin
504d02038d gnrc_netif: update PDU after changing PHY mode 2020-04-29 10:41:37 +02:00
Benjamin Valentin
c77119957f shell/sc_gnrc_netif: fix space after NID
All option have a space behind them. This fixes the formatting of the
NID parameter if there are options after it.
2020-04-29 10:41:37 +02:00
Benjamin Valentin
fac35644d0 ieee802154: add definitions & config options for MR-O-QPSK
Define options for IEEE 802.15.4g MR-O-QPSK as well as shell commands
to set them via ifconfig.
2020-04-29 10:41:37 +02:00
Thomas Stilwell
325ab426d4
sys/shell/commands: pm: add set mode block mode unblock mode 2020-04-28 16:56:34 +02:00
Thomas Stilwell
7c82ac6838
sys/shell/commands: add pm show command to view current blockers 2020-04-28 16:51:23 +02:00
Martine Lenders
633d0f486d
Merge pull request #13669 from bergzand/pr/netif/async_events
gnrc_netif: Add support for internal event loop
2020-04-28 13:03:39 +02:00
943450a567
Merge pull request #13959 from leandrolanzieri/pr/nanocoap/kconfig/add_type
nanocoap/kconfig: Explicitly define type of MODULE_NANOCOAP
2020-04-28 12:48:47 +02:00
Francisco Molina
da7e14dc66
sys/ztimer/auto_init: fix rtt auto_init 2020-04-28 09:11:44 +02:00
Leandro Lanzieri
b91c8502dc
net/nanocoap/kconfig: Explicitly define type of MODULE_NANOCOAP 2020-04-27 10:06:01 +02:00
Martine S. Lenders
cb8a6c36b0
gnrc_ipv6_nib: 6ln: use interface-specific DR for address registration
With multiple 6LoWPAN interfaces the router for the given interface
—the one the triggering RA came over—should be used to register the
address with.

Co-Authored-By: Benjamin Valentin <benpicco@googlemail.com>
2020-04-25 01:20:55 +02:00
Martine S. Lenders
245c04f368
gnrc_ipv6_nib: internal: add capability to search DR by interface
Co-Authored-By: Benjamin Valentin <benpicco@googlemail.com>
2020-04-24 17:57:09 +02:00
Leandro Lanzieri
eeea9b7dae
net/coap: Expose configurations to Kconfig 2020-04-24 10:06:45 +02:00
Leandro Lanzieri
9e427e1584
net/coap: Move COAP_MAX_RETRANSMIT to 'CONFIG' namespace
COAP_MAX_RETRANSMIT is moved to the compile time configuration macro
namespace.
2020-04-24 10:06:43 +02:00
Leandro Lanzieri
afe4244ac9
net/coap: Move COAP_RANDOM_FACTOR_1000 to 'CONFIG' namespace
COAP_RANDOM_FACTOR_1000 is moved to the compile time configuration macro
namespace.
2020-04-24 10:06:43 +02:00
Leandro Lanzieri
072a0d8563
net/coap: Move COAP_ACK_TIMEOUT to 'CONFIG' namespace
COAP_ACK_TIMEOUT is moved to the compile time configuration macro
namespace.
2020-04-24 10:06:40 +02:00
Cenk Gündoğan
4e05a66ca2 nanocoap: add proxy_uri parsing 2020-04-23 22:41:12 +02:00
Marian Buschsieweke
7b67e74bed
sys/net/gnrc: Use %lu to print times 2020-04-23 21:16:57 +02:00
Marian Buschsieweke
654b558343
sys/timex: Fix integer width issue
The macros US_PER_MS and friends are assumed to be 32 bit unsigned integers
by users. However, e.g. on AVR a `1000U` is only 16 bit long. Thus, e.g.
`xtimer_usleep(100 * US_PER_MS)` will wrap around and only sleep for ~34ms.

This commit declares them as unsigned long, which is on all currently supported
platforms 32 bit wide.
2020-04-23 21:16:04 +02:00
5e5ed8233d
Merge pull request #13922 from kaspar030/ztimer_rtt_maxval_fix
ztimer: periph_rtt: ensure RTT_MAX_VALUE is honored
2020-04-23 18:42:00 +02:00
d8c129fc47 ztimer: periph_rtt: ensure RTT_MAX_VALUE is honored
Previously, ztimer would happily set an absolute RTT alarm value that exceeds
RTT's maximum value (though not a longer interval), as the `val` was
simply added to `rtt_get_counter()`.
This commit ensures that the target value wraps around RTT_MAX_VALUE.

Fixes #13920.
2020-04-23 16:19:25 +02:00
Cenk Gündoğan
ea616abfda nanocoap: allow coap_opt_add_string() for zero-terminated strings 2020-04-22 12:28:48 +02:00
Leandro Lanzieri
46507ff247
Merge pull request #13894 from kb2ma/gcoap/ping
net/gcoap: add CoAP ping request
2020-04-21 12:23:54 +02:00
5293e5400c
Merge pull request #13210 from kaspar030/add_xtimer_left
sys/xtimer: remove uses of xtimer internal struct members
2020-04-21 12:15:41 +02:00
0228553384 sys/shell: rpl: make use of xtimer_left_usec() 2020-04-21 11:26:56 +02:00
df520a70a7 sys/evtimer: make use of xtimer_left_usec() 2020-04-21 11:26:56 +02:00
c9c8c98a4b sys/xtimer: introduce xtimer_left_usec() 2020-04-21 11:26:56 +02:00
40cb065a45
Merge pull request #13839 from leandrolanzieri/pr/kconfig_migrate/sys/usbus_ecm
usbus/cdc/ecm: Expose configurations to Kconfig
2020-04-21 10:12:30 +02:00
Ken Bannister
cac350901f
Merge pull request #13893 from cgundogan/pr/nanocoap-get-opt-uint
nanocoap: export coap_opt_get_uint()
2020-04-18 10:00:27 -04:00
Martine Lenders
55a7010a0a
Merge pull request #13157 from nmeum/pr/fuzzing_tcp_only
Add AFL-based fuzzing setup for network modules
2020-04-18 10:54:14 +02:00
Cenk Gündoğan
6859de7855 nanocoap: export coap_opt_get_uint() 2020-04-17 22:39:44 +02:00
Sören Tempel
ac9c1f4a69 gnrc_tcp: disable checksum checks during fuzzing 2020-04-17 17:11:15 +02:00
Ken Bannister
6eae4ded84 net/gcoap: create CoAP ping request 2020-04-17 08:15:20 -04:00
Ken Bannister
f5a85e2aff net/gcoap: handle CoAP ping request 2020-04-17 08:15:20 -04:00
Ken Bannister
2d3eb1a343 net/nanocoap: validate empty message length 2020-04-17 08:15:20 -04:00
Joakim Nohlgård
2013ac75f5
gnrc_netif: Add support for internal event loop
Enabled by the gnrc_netif_events pseudo module. Using an internal event
loop within the gnrc_netif thread eliminates the risk of lost interrupts
and lets ISR events always be handled before any send/receive requests
from other threads are processed.
The events in the event loop is also a potential hook for MAC layers and
other link layer modules which may need to inject and process events
before any external IPC messages are handled.

Co-Authored-By: Koen Zandberg <koen@bergzand.net>
2020-04-17 12:02:39 +02:00
Benjamin Valentin
795cd165fd ieee802154: add definitions for 802.15.4 PHY modes
This adds PHY modes for IEEE 802.15.4-2003 and IEEE 802.15.4g-2012.
2020-04-15 21:41:19 +02:00
Francisco Molina
2331448644
Makefile: remove usage of SUBMODULES_NOFORCE
With #10970 only existing *.c files will be added to SRC when using
the SUBMODULES mechanism, so SUBMODULES_NOFORCE (used to filter out
non existing source files) is now redundant so remove the usage.
2020-04-15 12:11:44 +02:00
benpicco
e499290f19
Merge pull request #13863 from yogo1212/rtc_iff
tm.h: fix typo
2020-04-14 23:02:25 +02:00
Hendrik van Essen
a0a3e6c3a1 sys/shell: refactor readline function
This makes the code of `readline()` clearer and shorter. It also fixes a
minor artifact of the long line handling.

Previously it was not possible to recover from a long line. That is, if too
many characters were sent, the line would be invalidated and pressing backspace
would not fix it- the only option was to discard the line. It is now possible
to bring the line back to size. Note that visual effects when deleting characters
will still depend on the host's terminal.

The new code is written in a way that all writes to memory are guarded by
bounds check, so an assertion was removed.

Co-authored-by: Juan Carrano <j.carrano@fu-berlin.de>
2020-04-14 15:38:56 +02:00
Hendrik van Essen
45f898563a sys/shell: remove ifdefs in the middle of code
ifdefs in the middle of code reduce the readability
and debugability and should be avoided.

Co-authored-by: Juan Carrano <j.carrano@fu-berlin.de>
2020-04-14 15:38:54 +02:00
Hendrik van Essen
268d1b2305 sys/shell: remove useless "inline prevention"
There was some code added to "prevent putchar from being inlined", which
supposedly enlarged the code size.

Co-authored-by: Juan Carrano <j.carrano@fu-berlin.de>
2020-04-14 14:34:58 +02:00
Leandro Lanzieri
b4655f6c91
Merge pull request #13848 from fjmolinas/pr_ccm_no_plaintext
sys/crypto/modes/ccm: handle input_len = 0
2020-04-14 10:49:54 +02:00
Martine S. Lenders
085c62ecdc
xtimer_core: piggy-back style fixes 2020-04-10 12:42:32 +02:00
Francisco Molina
8372286591
sys/crypto/modes/ccm: accept input_len=0
CCM may be used on messages with no plaintext data.
2020-04-10 10:41:01 +02:00
Martine S. Lenders
212fe15786
xtimer: set now pointer correctly in _update_short_timers() loop
This fixes `xtimer` to use `xtimer_now64()` instead of `xtimer_now()`
for updating the `*now` variable during the iteration in
`_update_short_timers()` function. The same function is used to
initialize `*now` in `_timer_callback()` below.

While using `xtimer_now()` in this iteration step does not hinder the
proper execution of all timers in the short term timers (for those the
`xtimer` module only looks at the `start_time` member, not the
`long_start_time` member) at least for the current long term time window
(I did not test higher cases), it sets the `long_start_time` member to 0
for all timers following in the list of timers after this iteration
step. However, external modules that rely on this to be correct,
e.g. evtimer [1], fail their calculations when trying to compare to
the current value to `xtimer_now64()`.

[1] https://github.com/RIOT-OS/RIOT/blob/11f3d68/sys/evtimer/evtimer.c#L118-L121

Co-Authored-By: Cenk Gündoğan <mail+dev@gundogan.net>
2020-04-10 00:02:33 +02:00
Leandro Lanzieri
a06d9bbb66
Merge pull request #13315 from jia200x/pr/kconfig/ieee802154
ieee802154: Expose configurations to Kconfig
2020-04-08 19:34:55 +02:00
Jose Alamos
77325b4cde ieee802154: add CONFIG_ prefix to config macros 2020-04-08 19:08:25 +02:00
Jose Alamos
d33e44a85c ieee802154: Expose configurations to Kconfig 2020-04-08 18:28:23 +02:00
Leandro Lanzieri
dddeb54e7d
usbus/cdc/ecm: Expose configurations to Kconfig 2020-04-08 16:31:46 +02:00
Leandro Lanzieri
8b857844fc
usbus/cdc/ecm: Move USBUS_CDC_ECM_CONFIG_SPEED to 'CONFIG_' 2020-04-08 16:30:58 +02:00
Leandro Lanzieri
335b0ceb50
usbus/cdc/ecm: Move USBUS_CDC_ECM_CONFIG_SPEED_UPSTREAM to 'CONFIG_' 2020-04-08 16:27:04 +02:00
Leandro Lanzieri
88e50658f3
usbus/cdc/ecm: Move USBUS_CDC_ECM_CONFIG_SPEED_DOWNSTREAM to 'CONFIG_' 2020-04-08 16:24:59 +02:00
14706d7423
Merge pull request #13243 from leandrolanzieri/pr/kconfig_migrate/net/nanocoap
net/nanocoap: Expose configurations to Kconfig
2020-04-08 10:51:54 +02:00
Martine Lenders
475048ab2f
Merge pull request #13833 from benpicco/dist/tools/sliptty-fix
gnrc_dhcpv6_client: fix for SLIP link-layer
2020-04-08 10:05:02 +02:00
Benjamin Valentin
f198d689be gnrc_dhcpv6_client: fix for SLIP link-layer
In a point-to-point serial connection, we don't have L2 addresses.
Set the link type & packet length accordingly and we will get a
prefix from KEA.
2020-04-07 22:08:57 +02:00
Ken Bannister
1ff78879ff net/nanocoap: remove obsolete functions to add Uri-Query option 2020-04-07 12:17:41 -04:00
Sören Tempel
65c7bbf76d gnrc_sock: Implement termination condition for fuzzing
The termination condition implemented in gnrc_pktbuf_malloc does not
work when using the sock interface as sock copies packet data to a local
buffer and frees the packet afterwards. As such, the fuzzing application
would exit before performing any input processing.

For this reason, the termination condition in gnrc_pktbuf_malloc is
disabled when using sock. Instead, the application terminates if
gnrc_sock_recv previously returned the fuzzing packet. The underlying
assumption of this implementation is that gnrc_sock_recv is called in a
loop.
2020-04-07 17:48:39 +02:00
Sören Tempel
e0570181e4 gnrc_pktbuf_malloc: Terminate when fuzzing packet is freed
Since RIOT is an operating system the native binary will never terminate
[0]. The termination condition for fuzzing GNRC is that the packet was
handled by the network stack and therefore freed. If it is never freed
we will deadlock meaning a memory leak was found, afl should be able to
detect this through timeouts.

This is currently only supported for gnrc_pktbuf_malloc since this is
the pktbuf implementation I used for fuzzing. Implementing this in
pktbuf.h is not possible.

[0]: Except NATIVE_AUTO_EXIT is defined, however, even with that define
set RIOT will only terminate when all threads terminated. Unfortunately,
gnrc_udp and other network threads will never terminate.
2020-04-07 17:48:39 +02:00
Sören Tempel
9e72f717e0 sys/fuzzing: Initialize
This adds a utility module which is used to write applications for
fuzzing RIOT network modules. The module provides a dummy network
interface which is configured with a static IPv6 addresses for modules
which perform operations on the underlying network interface. Besides,
it contains a utility function for transforming data received on
standard input into a `gnrc_pktsnip_t`.
2020-04-07 17:48:39 +02:00
Leandro Lanzieri
0137a06896
net/nanocoap: Expose configurations to Kconfig 2020-04-07 17:00:55 +02:00
Leandro Lanzieri
e80dcf2d8b
net/application_layer: Add Kconfig file and CoAP menu 2020-04-07 17:00:54 +02:00
Leandro Lanzieri
b6be8af81c
net/nanocoap: Move NANOCOAP_QS_MAX to 'CONFIG_' namespace 2020-04-07 17:00:53 +02:00
Leandro Lanzieri
2f72189aa2
net/nanocoap: Move NANOCOAP_BLOCK_SIZE_EXP_MAX to 'CONFIG_' namespace 2020-04-07 17:00:53 +02:00
Leandro Lanzieri
4052c01e85
net/nanocoap: Move NANOCOAP_URI_MAX to 'CONFIG_' namespace 2020-04-07 17:00:53 +02:00
Leandro Lanzieri
c84576ef6e
net/nanocoap: Move NANOCOAP_NOPTS_MAX to 'CONFIG_' namespace 2020-04-07 17:00:52 +02:00
c81c8ed104
Merge pull request #13375 from leandrolanzieri/pr/kconfig_migrate/sys/usbus_cdc
usbus/cdc/acm: Expose configurations to Kconfig
2020-04-07 15:00:36 +02:00
Leandro Lanzieri
934bede70e
usbus/cdc/acm: Expose configurations to Kconfig 2020-04-07 14:34:57 +02:00
Leandro Lanzieri
51c4f119a5
usbus/cdc/acm: Move USBUS_CDC_ACM_BULK_EP_SIZE to 'CONFIG_' namespace 2020-04-07 14:34:56 +02:00
Leandro Lanzieri
cd3ac726d9
usbus/cdc/acm: Move USBUS_CDC_ACM_STDIO_BUF_SIZE to 'CONFIG_' namespace 2020-04-07 14:34:52 +02:00
Ken Bannister
b32fcd28d1
Merge pull request #13815 from kb2ma/nanocoap/add_canonical_uri_query
net/gcoap: add canonical uri query function names
2020-04-07 06:32:13 -04:00
Ken Bannister
5d95436334 net/cord: use canonical function name to add Uri-Query option 2020-04-06 06:19:44 -04:00
Ken Bannister
04d14ae104 net/gcoap: reference canonical function name to add Uri-Query option 2020-04-06 06:19:44 -04:00
Ken Bannister
d57340c964 net/nanocoap: use new Uri-Query functions as primary implementation 2020-04-06 06:19:44 -04:00
Cenk Gündoğan
abd399b934
Merge pull request #13804 from chrysn-pull-requests/uri-test-isabsolute
uri_parser: Fix and test non-relative recognition
2020-04-05 13:42:11 +02:00
Martine Lenders
5c95df3151
Merge pull request #13806 from benpicco/sys/net/dhcpv6-multiple_prefixes
sys/net/dhcpv6: fix requesting multiple prefixes
2020-04-05 01:14:27 +02:00
Ken Bannister
127f8ca407
Merge pull request #13805 from benpicco/nanocoap_path
nanocoap: add convenience function for adding path elements
2020-04-04 12:50:16 -04:00
Benjamin Valentin
c8b2483de5 net/gcoap: make use of coap_opt_add_path() 2020-04-04 17:06:04 +02:00
Benjamin Valentin
1a4a5d4a9e nanocoap: add convenience function for adding path elements
Add a convenience function to make adding additional sub-path
options easier.
2020-04-04 17:06:04 +02:00
Ken Bannister
c463c45939 net/nanocoap: add canonical function names to add Uri-Query option 2020-04-04 07:56:58 -04:00
Benjamin Valentin
0e5595cffd sys/net/dhcpv6: fix requesting multiple prefixes
There were two subtle bugs that prevented the DHCPv6 client to request
multiple prefixes for different interfaces.

 - `dhcpv6_client_req_ia_pd()` would fill up *all* leases with the same interface
 - `_parse_reply()` would return after parsing the first answer

With this patch, `gnrc_border_router` gets a prefix on both interfaces of the at86rf215.
2020-04-03 17:02:57 +02:00
chrysn
050af95666 uri_parser: Fix relative recognition
Relative refernces with colons in their names can not be told by their
first character alone.
2020-04-03 15:22:13 +02:00
Cenk Gündoğan
f1bf9693a6
Merge pull request #13803 from chrysn-pull-requests/uri-terminology-strictness
uri_parser: terminology strictness
2020-04-03 15:21:42 +02:00
Cenk Gündoğan
fca7548762
Merge pull request #13374 from leandrolanzieri/pr/kconfig_migrate/sys/usbus
sys/usbus: Expose configurations to Kconfig
2020-04-03 15:19:22 +02:00
Leandro Lanzieri
06920a1f7a
sys/usbus: Expose configurations to Kconfig 2020-04-03 14:45:27 +02:00
Leandro Lanzieri
4d47921947
sys/usbus: Move USBUS_EP0_SIZE to 'CONFIG_' namespace 2020-04-03 14:45:26 +02:00
Leandro Lanzieri
7bd5f86bdd
sys/usbus: Move USBUS_AUTO_ATTACH to 'CONFIG_' namespace
In code now 'IS_ACTIVE' is used to check for this configuration.
2020-04-03 14:45:25 +02:00
chrysn
7f67077338 uri_parser: Document that fragment identifiers are not handled 2020-04-03 14:32:55 +02:00
chrysn
6991f62338 uri_parser: Differentiate between URI and URI reference in documentation 2020-04-03 14:30:38 +02:00
Cenk Gündoğan
e3d9097974 sys/uri_parser: check for uri_end instead of 0 2020-04-02 10:04:12 +02:00
Martine Lenders
76acde0984
Merge pull request #13779 from miri64/sock/enh/sock_buf_recv-iterate-chunks
sock: amend API to iterate over stack-internal buffer chunks
2020-04-01 16:59:03 +02:00
Martine S. Lenders
d934579817
gnrc_sock: adapt for *_recv_buf() API change 2020-04-01 15:50:51 +02:00
Martine S. Lenders
58685af8a6
sock: sock_*_recv_buf: mark as experimental 2020-04-01 15:50:51 +02:00
Martine S. Lenders
f9e17ac025
sock: amend API to iterate over stack-internal chunks
With lwIP we have a chunked UDP payload, so just providing the
stack-internal buffer is not possible. To be able to iterate over such
a chunked payload, this change allows the `sock_*_recv_buf()` functions
to use the internal buffer context as an iteration state.

As the internal buffer space can be released when the function would
return 0, `sock_recv_buf_free()` becomes unnecessary.
2020-04-01 15:50:46 +02:00
Leandro Lanzieri
461f40949d
gnrc/ipv6: Group IPv6 related Kconfig files 2020-04-01 14:34:13 +02:00
Cenk Gündoğan
abc1cb17ca sys/uri_parser: initialize has_authority in _consume_scheme() 2020-04-01 12:32:40 +02:00
Martine Lenders
d9b9426a86
Merge pull request #13758 from cgundogan/uri_parser
sys/uri_parser: minimal and non-destructive URI parsing
2020-04-01 00:40:27 +02:00
Cenk Gündoğan
b9012fb5d9 uri_parser: add minimal and non-destructive URI parser 2020-03-31 23:54:40 +02:00
Peter Kietzmann
767cfc21a9
Merge pull request #13341 from Einhornhool/cryptoauth-shellhandler
sys/shell: add shell handler for CryptoAuth devices
2020-03-31 22:19:21 +02:00
Lena Boeckmann
5bc0b15114 sys/shell: add cryptoauthlib shell handler 2020-03-31 21:31:24 +02:00
Martine Lenders
32d4b7eea5
Merge pull request #13755 from benpicco/base64-urlsafe
sys/base64: Implement Base 64 Encoding with URL and Filename Safe Alphabet
2020-03-31 20:15:23 +02:00
Leandro Lanzieri
aa2ec68c9c
gnrc/nib/conf.h: Align configuration values 2020-03-31 19:02:55 +02:00
Leandro Lanzieri
4476e06814
gnrc/uhcpc: Fix lines lengths 2020-03-31 19:02:55 +02:00
Leandro Lanzieri
184bbd32e5
gnrc/netif: Fix lines lengths 2020-03-31 19:02:54 +02:00
Leandro Lanzieri
87ac1a652d
gnrc/nib: Expose configurations to Kconfig 2020-03-31 19:02:51 +02:00
Benjamin Valentin
fc89531c61 sys/base64: Implement Base 64 Encoding with URL Safe Alphabet
RFC4648 specifies an alternate alphabet for base64 encoding / decoding
where '+' and '/' are exchanged for '-' and '-' to make the resulting
string safe to use in filenames and URLs.

This adds a base64url_encode() function that uses the alternate alphabet.

The base64_decode() function is extended to accept both alphabets.
2020-03-31 19:01:05 +02:00
Leandro Lanzieri
64dde8f317
gnrc/nib: Move GNRC_IPV6_NIB_ABR_NUMOF to 'CONFIG_' namespace 2020-03-31 18:07:13 +02:00
Leandro Lanzieri
a77d0dd9c5
gnrc/nib: Move GNRC_IPV6_NIB_OFFL_NUMOF to 'CONFIG_' namespace 2020-03-31 18:07:13 +02:00
Leandro Lanzieri
f6ee712e98
gnrc/nib: Move GNRC_IPV6_NIB_DEFAULT_ROUTER_NUMOF to 'CONFIG_' namespace 2020-03-31 18:07:12 +02:00
Leandro Lanzieri
f2ed8b06c0
gnrc/nib: Move GNRC_IPV6_NIB_L2ADDR_MAX_LEN to 'CONFIG_' namespace 2020-03-31 18:07:12 +02:00
Leandro Lanzieri
acd789bd87
gnrc/nib: Move GNRC_IPV6_NIB_CONF_REACH_TIME_RESET to 'CONFIG_' 2020-03-31 18:07:11 +02:00
Leandro Lanzieri
07771de08f
gnrc/nib: Move GNRC_IPV6_NIB_NUMOF to 'CONFIG_' namespace 2020-03-31 18:07:11 +02:00
Leandro Lanzieri
1f20ffc150
gnrc/nib: Move GNRC_IPV6_NIB_CONF_NO_RTR_SOL to 'CONFIG_' namespace
Also evaluate using IS_ACTIVE macro.
2020-03-31 18:07:10 +02:00
Leandro Lanzieri
53a522d642
gnrc/nib: Move GNRC_IPV6_NIB_CONF_MULTIHOP_P6C to 'CONFIG_' namespace
Also evaluate using IS_ACTIVE macro.
2020-03-31 18:07:10 +02:00
Leandro Lanzieri
22b4df9537
gnrc/nib: Move GNRC_IPV6_NIB_CONF_MULTIHOP_DAD to 'CONFIG_' namespace
Also evaluate using IS_ACTIVE macro.
2020-03-31 18:07:09 +02:00
Leandro Lanzieri
3ec296400d
gnrc/nib: Move GNRC_IPV6_NIB_CONF_DC to 'CONFIG_' namespace
Also evaluate using IS_ACTIVE macro.
2020-03-31 18:07:09 +02:00
Leandro Lanzieri
219d5a1de2
gnrc/nib: Move GNRC_IPV6_NIB_CONF_REDIRECT to 'CONFIG_' namspace
Also evaluate using IS_ACTIVE macro.
2020-03-31 18:07:08 +02:00
Leandro Lanzieri
42fb2fe09f
gnrc/nib: Move GNRC_IPV6_NIB_CONF_ADV_ROUTER to 'CONFIG_' namespace 2020-03-31 18:07:08 +02:00
Leandro Lanzieri
bad9abd349
gnrc/nib: Move GNRC_IPV6_NIB_CONF_DNS to 'CONFIG_' namespace
Also evaluate using IS_ACTIVE macro.
2020-03-31 18:07:07 +02:00
Leandro Lanzieri
e52b93cef0
gnrc/nib: Move GNRC_IPV6_NIB_CONF_ARSM to 'CONFIG_' namespace
Also evaluate it using IS_ACTIVE macro.
2020-03-31 18:07:07 +02:00
Leandro Lanzieri
f23267b67b
gnrc/nib: Move GNRC_IPV6_NIB_CONF_QUEUE_PKT to 'CONFIG_' namespace
Also evaluate it using IS_ACTIVE macro.
2020-03-31 18:07:06 +02:00
Leandro Lanzieri
ce931f179c
gnrc/nib: Move GNRC_IPV6_NIB_CONF_SLAAC to 'CONFIG_' namespace
Also evaluate it using IS_ACTIVE macro.
2020-03-31 18:07:05 +02:00
Leandro Lanzieri
49ec28867c
gnrc/nib: Move GNRC_IPV6_NIB_CONF_ROUTER to 'CONFIG_' namespace
Also evaluate it using IS_ACTIVE macro.
2020-03-31 18:07:05 +02:00
Leandro Lanzieri
1acfe7ae19
gnrc/nib: Move GNRC_IPV6_NIB_CONF_6LN to 'CONFIG_' namespace
Also evaluate it using IS_ACTIVE macro.
2020-03-31 18:07:04 +02:00
Leandro Lanzieri
398bb6d025
gnrc/nib: Move GNRC_IPV6_NIB_CONF_6LR to 'CONFIG_' namespace
Also evaluate it using IS_ACTIVE
2020-03-31 18:07:03 +02:00
Leandro Lanzieri
40c78f1c75
gnrc/nib: Move GNRC_IPV6_NIB_CONF_6LBR to 'CONFIG_' namespace
Also evaluate it using IS_ACTIVE macro.
2020-03-31 18:07:03 +02:00
Benjamin Valentin
2867ab8b9b sys/riotboot: add a warning about the size of riotboot_flashwrite_t
On e.g. samd5x FLASHPAGE_SIZE is 8k (4k on kinetis, stm32w, nrf52)
so placing this struct on the stack will almost always cause a stack
overflow.
2020-03-31 13:27:05 +02:00
Hendrik van Essen
3860355380
sys/shell: rephrase/reformat some comments 2020-03-30 12:26:20 +02:00
Juan Carrano
2810637306
sys/shell: correctly detect and handle long lines
The numeric value for EOF is -1. This caused the shell to return
the same code when EOF was encountered and when the line lenght was
exceeded. Additionally, if the line length is exceeded, the correct
behaviour is to consume the remaining characters until the end of
the line, to prevent the following line from containing (potentially
dangerous) garbage.

Co-authored-by: Hendrik van Essen <hendrik.ve@fu-berlin.de>
2020-03-30 12:26:20 +02:00
Martine Lenders
889e8b7cf8
Merge pull request #13752 from gschorcht/sys/shell/fix_gnrc_netif
sys/shell: fix ifconfig command for NETOPT_LINK
2020-03-30 09:44:13 +02:00
Gunar Schorcht
8a1cfd99da sys/shell: fix ifconfig command for NETOPT_LINK 2020-03-30 09:01:21 +02:00
Ken Bannister
7d624def4e
Merge pull request #13637 from cgundogan/coap_proxy
gcoap: allow proxied client requests
2020-03-28 10:30:27 -04:00
Cenk Gündoğan
b1f728189c net/gcoap: add note on proxy operation 2020-03-28 14:50:51 +01:00
Cenk Gündoğan
50900a1fbe nanocoap: add convenience function for PROXY_URI 2020-03-28 14:50:51 +01:00
Benjamin Valentin
a3adaa7ec0 gnrc_ipv6_nib: fix index calculation
We must divide the pointer difference (in bytes) by the size of
the individual elements to get the index of the element.
2020-03-28 00:00:16 +01:00
Benjamin Valentin
a835ad3e13 gnrc_ipv6_nib: append ext_opts when adding sixco 2020-03-27 22:52:31 +01:00
Cenk Gündoğan
97c5d2d82d coap: add Proxy-* options 2020-03-27 22:06:42 +01:00
benpicco
8024380f7b
Merge pull request #13700 from miri64/gnrc_sock/enh/recv_buf
gnrc_sock: provide implementation for `sock_*_recv_buf()`
2020-03-27 16:34:57 +01:00
Benjamin Valentin
e1ce24abec shell/gnrc_icmpv6_echo: replace incorrect use of gnrc_netif_highlander()
We want to check if there *is* only one interface, not if there *can*
be no more than one interface here.
2020-03-27 15:07:38 +01:00
benpicco
15dc9fe0de
Merge pull request #13731 from benpicco/upstream_no_rtr_adv
gnrc_uhcp, gnrc_dhcpv6_client_6lbr: disable Router Advertisements on upstream interface
2020-03-27 10:32:59 +01:00
Benjamin Valentin
3f24eaefb9 gnrc_uhcp: disable router advertisements on upstream interface 2020-03-27 00:37:54 +01:00
Benjamin Valentin
fec156899c gnrc_dhcpv6_client_6lbr: disable router advertisements on upstream interface
We don't want to advertise ourselves as a router to the upstream router.
This also leads to the border router ignoring advertisements from the upstream
router.
2020-03-27 00:37:54 +01:00
JulianHolzwarth
dd6e51b1eb core/mutex.c _mutex_lock uses an int pointer
_mutex_lock uses a volatile int pointer for the parameter blocking instead of an int.
2020-03-26 17:26:07 +01:00
José Alamos
18c4cfe2ec
Merge pull request #13725 from miri64/gnrc_netif/doc/out-params
gnrc_netif: document new *_create() out parameter as such
2020-03-26 15:21:06 +01:00
Martine Lenders
f39cfc7556
Merge pull request #13253 from nmeum/pr/random_ephemeral_port
gnrc_sock_udp: choose random ephemeral port
2020-03-26 15:00:14 +01:00
Martine S. Lenders
62d48d5bf3
gnrc_netif: document new *_create() out parameter as such 2020-03-26 14:37:44 +01:00
Martine Lenders
061eb88c05
Merge pull request #12994 from jia200x/pr/gnrc_netif_desc_alloc
gnrc_netif: implementation of dynamic GNRC_NETIF_NUMOF approach
2020-03-26 14:30:44 +01:00
Jose Alamos
44f7cb712c gnrc_netif: add GNRC_NETIF_SINGLE macro 2020-03-26 14:19:02 +01:00
Martine Lenders
cba1a2da0c
Merge pull request #13666 from jue89/feature/evtimer_now_msec
net/gnrc/ipv6/nib: remove direct dependency to xtimer
2020-03-26 13:50:13 +01:00
Jose Alamos
e451570219 gnrc_netif: remove GNRC_NETIF_NUMOF macro 2020-03-26 11:12:23 +01:00
Jose Alamos
67ed9defbe gnrc_netif_xxx_create: use external netif allocation 2020-03-26 11:12:23 +01:00
Juergen Fitschen
c42677609b sys/ztimer: remove duplicate definition of _ztimer_now_extend() 2020-03-26 10:48:56 +01:00
Marian Buschsieweke
937361856d
Merge pull request #13702 from ccoors/feature/esp32-ws281x
drivers/ws281x: Add support for esp32
2020-03-25 21:39:40 +01:00
Martine Lenders
ab5deca3b0
Merge pull request #13712 from miri64/gnrc_uhcp/fix/prefix_len
gnrc_uhcp: use actually advertised prefix length
2020-03-25 18:46:00 +01:00
Christian Friedrich Coors
c0615ad726 sys/timex: Add NS_PER_SEC definition 2020-03-25 17:20:01 +01:00
Martine S. Lenders
01d94f268a
gnrc_uhcp: use actually advertised prefix length
This makes the UHCP client to use the actually advertised prefix length
instead of assuming /64.
2020-03-25 16:55:01 +01:00
benpicco
6ae0fd7c82
Merge pull request #13485 from miri64/gnrc_dhcpv6/enh/configure-context
gnrc_dhcpv6_client: configure prefix as compression context on 6LBRs
2020-03-25 16:48:11 +01:00
benpicco
53790d1269
Merge pull request #13713 from miri64/gnrc_sixlowpan_iphc/bug/encode-zero-header
gnrc_sixlowpan_iphc: zero IPv6 header before decompressing into it
2020-03-25 16:43:17 +01:00
4c59e93a35
Merge pull request #13711 from cgundogan/pr/nanocoap/coap_opt_get_opaque/const
nanocoap: add const qualifier to pkt of coap_opt_get_opaque()
2020-03-25 15:21:23 +01:00
Martine S. Lenders
ac222521ab
gnrc_sixlowpan_iphc: zero IPv6 header before decompressing into it 2020-03-25 14:54:18 +01:00
Cenk Gündoğan
5e42e26a6e nanocoap: add const qualifier to pkt of coap_opt_get_opaque() 2020-03-25 13:38:21 +01:00
Martine S. Lenders
4fc0251b4b
gnrc_ipv6_nib: only route to prefix list entry if on-link
In 06aa65e1ba (#10627) a new behavior was
introduced in IPv6 route resolution to try address resolution only at
interfaces that have the prefix of the address to be resolved configured
in the prefix list. This however only makes sense, if the prefix
configured is [on-link], otherwise there is small likelihood of the
address to be resolved being on that link.

For the error case presented for 06aa65e (circular routing at the border
router) this made sense, however within a 6LoWPAN, due to the prefix
being valid for the entire mesh, this leads to the nodes always trying
classic address resolution for in-network addresses instead of just
routing to the default route.
Classic address resolution however fails, as 6LoWPAN hosts typically
[don't join the solicited-node multicast address of their unicast
addresses][6LN-iface-init], resulting in in-network addresses not being
reachable.

As such, to prevent both error cases

- the fallback to address resolution by prefix list must only be used
  when the prefix is on-link,
- the prefix configured by DHCPv6/UHCP at the 6LoWPAN border router
  must be configured as on-link, but
- the prefix must not be advertised as on-link within the 6LoWPAN to
  still be [in line with RFC 6775][RFC-6775-forbidden]

With this change these cases are covered.

[on-link]: https://tools.ietf.org/html/rfc4861#page-6
[RFC 6775]: https://tools.ietf.org/html/rfc6775
[6LN-iface-init]: https://tools.ietf.org/html/rfc6775#section-5.2
[RFC-6775-forbidden]: https://tools.ietf.org/html/rfc6775#section-6.1
2020-03-25 13:13:40 +01:00
Martine Lenders
e47c8fa91c
Merge pull request #10627 from miri64/gnrc_ipv6_nib/fix/forward-to-pl
gnrc_ipv6_nib: don't ignore PL for route
2020-03-24 21:49:56 +01:00
Martine Lenders
06aa65e1ba
gnrc_ipv6_nib: don't ignore PL for route
When pinging to a prefix for which there is a prefix list entry on the
node (so no next hop) but a default route, a packet to a non-existent
address under that prefix results in the packet being forwarded to the
default route instead. This fixes it, so the node tries address
resolution on the interface the prefix list entry is associated to.
2020-03-24 18:19:18 +01:00
Martine S. Lenders
39cd293a0e
gnrc_sock: provide implementation for sock_*_recv_buf() 2020-03-24 17:15:17 +01:00
Martine Lenders
ba711c50bf
Merge pull request #13616 from miri64/sock/enh/recv_buf
sock: amend with zero-copy receive functions
2020-03-24 17:10:12 +01:00
Martine S. Lenders
2ed7a7345f
sock_udp: fix doc of sock objects 2020-03-24 14:02:36 +01:00
Martine S. Lenders
a7d468988d
sock: amend with zero-copy receive functions
This change amends the `sock` API by a set of functions to `sock` that
allow provisioning of stack-internal buffers to the caller on receive.

This allows to cover two use-cases

1. Zero-copy systems: if the stacks supported the buffer space provided
   by these functions can be the same that was filled in the link-layer
2. asynchronous receive within a wrapping sock layer (e.g. `sock_dtls`
   wrapping `sock_udp`): to receive packets of the lower level protocol
   asynchronously, the wrapping implementation layer would currently
   need to allocate its own buffer space, introducing a third buffer
   space in addition to the one of the application and the network
   stack. For a wrapping layer this is undesirable.

While there are security considerations exposing stack internal memory
space to the caller, I believe they are minor, as in the end the
application developer is the person in control of the node.
2020-03-24 14:02:36 +01:00
Leandro Lanzieri
877db8c00e
Merge pull request #13557 from gschorcht/doc/fix_url
doc: fix broken links
2020-03-24 13:08:18 +01:00
Juergen Fitschen
877e0a9b32 net/gnrc/ipv6/nib: fix typos 2020-03-24 13:07:20 +01:00
Juergen Fitschen
47f5cd8618 net/gnrc/ipv6/nib: make use of the evtimer system time getter
This commit removes the implication that evtimer uses xtimer as timer backend.
2020-03-24 13:07:20 +01:00
Juergen Fitschen
47b8439cd8 sys/evtimer: add helper for retrieving the current system time 2020-03-24 13:07:19 +01:00
Gunar Schorcht
62e55bb8c0 sys/net/lorawan: fix broken links 2020-03-24 10:39:49 +01:00
Gunar Schorcht
b1ad00eb11 sys/net/eui64: fix broken links 2020-03-24 10:39:49 +01:00
Gunar Schorcht
a4b21a46cb sys/embUnit: fix broken links 2020-03-24 10:39:49 +01:00
Gunar Schorcht
10cdaa1bd6 sys/can: fix broken links 2020-03-24 10:39:49 +01:00
e12defd5a0
suit/transport/coap: Use nanocoap coap_tree_handler 2020-03-24 09:38:24 +01:00
1d5010e126
nanocoap: make separate tree handling function
This refactors nanocoap to seperate out the resource tree parsing. It
allows for calling the tree handler with custom resource trees. The
advantage is that a resource with COAP_MATCH_SUBTREE can parse a new
separate resource tree.
2020-03-23 15:08:53 +01:00
7d0c475113
Merge pull request #13486 from bergzand/pr/suit/ietf_v3
SUIT: Update to draft-ietf-v3
2020-03-20 14:44:29 +01:00
Francisco
cdbf0b2d69
Merge pull request #13583 from benpicco/at86rf215-minimal
drivers/at86rf215: add basic support for AT86RF215 dual-band radio
2020-03-20 09:33:50 +01:00
benpicco
5435792034
Merge pull request #12277 from benemorius/pr/kw41zrf
drivers: add kw41zrf
2020-03-20 00:49:56 +01:00
Joakim Nohlgård
5bd67d88a8 drivers/kw41zrf: Transceiver driver for the KW41Z radio
This is the radio found in NXP Kinetis KW41Z, KW21Z. Only 802.15.4 mode
is implemented (KW41Z also supports BLE on the same transceiver).

The driver uses vendor supplied initialization code for the low level
XCVR hardware, these files were imported from KSDK 2.2.0 (framework_5.3.5)
2020-03-19 17:00:04 -05:00
1d1d5b6f0d
examples/suit: Refactor to draft ietf-v3
Co-authored-by: Kaspar Schleiser <kaspar@schleiser.de>
2020-03-19 22:56:01 +01:00
413b91326f
tests/suit_v3_manifest: Add draft-ietf-v3 manifest parser test
Co-authored-by: Kaspar Schleiser <kaspar@schleiser.de>
2020-03-19 22:56:01 +01:00
benpicco
b0fab9c53a
Merge pull request #13638 from gschorcht/sys/shell/rtt_command
sys/shell: add rtt command
2020-03-19 21:21:12 +01:00
Gunar Schorcht
3d20b0b6c5 sys/shell: add rtt command 2020-03-19 17:17:26 +01:00
Benjamin Valentin
d35511bee7 drivers/at86rf215: Add basic driver for the AT86RF215 radio
This adds a driver for the SPI based AT86RF215 transceiver.
The chip supports the IEEE Std 802.15.4-2015 and IEEE Std 802.15.4g-2012 standard.

This driver supports two versions of the chip:
    - AT86RF215:  dual sub-GHz & 2.4 GHz radio & baseband
    - AT86RF215M: sub-GHz radio & baseband only

Both radios support the following PHY modes:
    - MR-FSK
    - MR-OFDM
    - MR-O-QPKS
    - O-QPSK (legacy)

The driver currently only implements support for legacy O-QPSK.

To use both interfaces, add

    GNRC_NETIF_NUMOF := 2

to your Makefile.

The transceiver is able to send frames of up to 2047 bytes according to
IEEE 802.15.4g-2012 when operating in non-legacy mode.

Known issues:

 - [ ] dBm setting values are bogus
 - [ ] Channel spacing for sub-GHz MR-O-QPSK might be wrong
 - [ ] TX/RX stress test will lock up the driver on openmote-b
2020-03-19 14:39:18 +01:00
14bdf8f46b
sys/suit: Add SUIT draft ietf-v3 firmware upgrade module
Co-authored-by: Kaspar Schleiser <kaspar@schleiser.de>
2020-03-18 14:13:12 +01:00
182cb8735b
sys: periph_uart is required for arduino 2020-03-18 10:53:17 +01:00
95bf34ee9c
makefiles: sys/cdc-acm-stdio: provide a reset in bootloader hook 2020-03-18 10:43:05 +01:00
643187c1e4
sys: add usb_board_reset module 2020-03-18 10:43:05 +01:00
6538687a4c
Merge pull request #13613 from fjmolinas/pr_light_shell_interactive_sync
tests: add interactive_sync adapted to shell
2020-03-17 18:16:51 +01:00
Francisco Molina
a31003a23c
tests: add interactive_sync adapted to shell 2020-03-17 17:23:27 +01:00
Francisco Molina
d57c39f09f
sys/shell: remove sc_interactive_sync 2020-03-17 17:20:58 +01:00
Jose Alamos
c2e491d2b7 gnrc_netif: change macros to inline functions 2020-03-17 10:54:30 +01:00
Jose Alamos
4393822b0f gnrc_netif: add function to check if device requires 6Lo 2020-03-17 10:54:30 +01:00
Jose Alamos
6ace7b5472 gnrc_netif: use gnrc_netif_single where possible 2020-03-17 10:54:30 +01:00
Jose Alamos
121626b362 gnrc_netif: add function to check if single GNRC netif 2020-03-17 10:50:49 +01:00
Leandro Lanzieri
d281d4843f
Merge pull request #13628 from jia200x/pr/gnrc_rpl_macro
gnrc_rpl: add default value to GNRC_RPL_DEFAULT_NETIF
2020-03-13 15:47:13 +01:00