1
0
mirror of https://github.com/RIOT-OS/RIOT.git synced 2025-01-18 12:52:44 +01:00
Commit Graph

8748 Commits

Author SHA1 Message Date
Benjamin Valentin
8871b929ab gnrc_ipv6_nib: consider all local interfaces when looking for address
If a node has two interfaces A with 2001:16b8:45b5:9af8:5884:3bff:fe4f:a903
and B with 2001:16b8:45b5:9afa:5884:3bff:fe4f:a902 and receives a neighbor
solicitation on A for an address configured on interface B, answer the neighbor
solicitation instead of bailing out with

> Target address 2001:16b8:45b5:9afa:5884:3bff:fe4f:a902 is not assigned
> to the local interface
2021-06-22 15:05:09 +02:00
benpicco
cf688774e5
Merge pull request #16527 from benpicco/gnrc_netif_create-race
sys/net/gnrc/netif: make gnrc_netif_create() blocking to avoid race condition
2021-06-21 15:48:18 +02:00
Benjamin Valentin
d7c377f400 sys/net/gnrc/netif: make gnrc_netif_create() blocking
Make gnrc_netif_create() block until the interface is created and
registered.
This avoids a race condition where after calling gnrc_netif_init_devs()
not all interfaces are available yet when iterating through the list
of interfaces with gnrc_netif_iter().
2021-06-21 14:04:06 +02:00
Karl Fessel
a6a53c98f7 sys/ztimer: convert clock do not require pm
avoid blocking and unblocking of power_mode 0 for convert clocks
2021-06-21 13:56:03 +02:00
Benjamin Valentin
c1eead925d drivers/slipdev: register with netdev 2021-06-21 12:42:03 +02:00
Benjamin Valentin
9fbab8f0f8 drivers/slipdev: report NETOPT_ADDRESS to simulate l2 address
A lot of things break if `GNRC_NETIF_FLAGS_HAS_L2ADDR` is not set.
In order to handle router advertisements and auto-configureation,
generate a faux l2 address based on the netdev ID.
2021-06-21 12:42:03 +02:00
Francisco Molina
beee6fdffb
sys/ztimer: use highest frequency for nrf51 as well 2021-06-18 14:14:09 +02:00
Benjamin Valentin
f5d5ff3794 gnrc/nib: honor CONFIG_GNRC_IPV6_NIB_ADV_ROUTER option
This option was unused before, honor it to make it possible to start
with router advertisements disabled and enable them at run time.

The defaults remain unchanged by that.
2021-06-17 18:45:38 +02:00
Benjamin Valentin
e74ba8f92d gnrc/nib: don't define _set_rtr_adv() twice
It's already defined in `_nib-router.h`, defining it to no-op
in `_nib-6lr.h` makes it impossible to run-time enable advertisements
on non 6lo nodes.
2021-06-17 18:45:38 +02:00
Martine Lenders
7cad799afe
Merge pull request #15468 from jia200x/pr/rh/rev.13.11
ieee802154/hal: adapt frame filter and source address matching changes
2021-06-17 16:18:57 +02:00
Francisco
a012a0849f
Merge pull request #15317 from aabadie/pr/sys/arduino_ztimer
sys/arduino: replace xtimer by ztimer as high-level background timer
2021-06-17 15:56:04 +02:00
Leandro Lanzieri
ae81b808a1
Merge pull request #16080 from jia200x/pr/gnrc_lorawan_netif
gnrc_lorawan: encode LoRaWAN port in netif header
2021-06-17 11:30:09 +02:00
746f56cc3f
sys/arduino: use ztimer as backend high-level timer 2021-06-17 10:23:21 +02:00
Jose Alamos
7d14fb3571
ieee802154/hal: remove set_rx_mode 2021-06-17 10:07:43 +02:00
Jose Alamos
6d64b537ef
ieee802154/hal: remove set_hw_addr_filter 2021-06-17 10:07:43 +02:00
Francisco
a20790b0ef
Merge pull request #16530 from benpicco/gnrc_dhcpv6_client_6lbr-generic
gnrc_dhcpv6_client_6lbr: choose downstream if as !upstream
2021-06-17 08:37:30 +02:00
Francisco
629cecb625
Merge pull request #14558 from jia200x/pr/gnrc_lorawan_rtt_support
gnrc_lorawan: add support for RTT (ztimer)
2021-06-17 08:34:59 +02:00
Hauke Petersen
7c6b72d3b4 net/gnrc/rpl: use ztimer_msec if available 2021-06-16 20:39:32 +02:00
Jose Alamos
dca0b366ac
gnrc_lorawan: drop frame if port exceeds max app port 2021-06-16 14:50:48 +02:00
Jose Alamos
9dce6eba14
ieee802154: add Auto ACK compile time config 2021-06-16 14:19:39 +02:00
Jose Alamos
70815e012b
ieee802154/hal: add set config addr filter 2021-06-16 14:19:39 +02:00
Jose Alamos
eb7282db0a
ieee802154/hal: add set frame filter 2021-06-16 14:19:38 +02:00
Jose Alamos
e13aac3909
ieee802154/hal: add config src address match 2021-06-16 14:19:38 +02:00
Jose Alamos
7343c1c503
gnrc_netif_lorawan: add netif hdr support 2021-06-16 13:18:04 +02:00
Jose Alamos
dfacff9568
gnrc_lorawan: add support for RTT 2021-06-16 13:13:37 +02:00
Jose Alamos
2f680eaf01
gnrc_lorawan: remove xtimer and msg dependency
This commit removes the dependency to xtimer and RIOT messages.
This step is required to use other sources of events (e.g event_queue)
and timers (RTT)
2021-06-16 13:03:28 +02:00
José Alamos
9954ac8166
Merge pull request #16553 from fjmolinas/pr_ztimer_enable_rtt
ztimer: pull ztimer_periph_rtt for ZTIMER_MSEC if available
2021-06-16 13:01:39 +02:00
Francisco Molina
3e4e664071
ztimer: remove duplicate dependencies 2021-06-16 11:18:25 +02:00
Francisco Molina
c80390f28b
ztimer: pull ztimer_periph_rtt for ZTIMER_MSEC if available 2021-06-16 11:18:25 +02:00
Jose Alamos
7fd0364d59
net/netopt: deprecate NETOPT_LORAWAN_TX_PORT 2021-06-15 16:25:03 +02:00
benpicco
c7d12733ea
Merge pull request #16523 from benpicco/boards/same54-xpro-lock_eui
boards: lock EUI provider to interface type
2021-06-15 16:16:12 +02:00
Benjamin Valentin
056dcd8ae1 gnrc_dhcpv6_client_6lbr: choose downstream if as !upstream 2021-06-15 15:35:10 +02:00
Martine Lenders
35e40ce245
Merge pull request #16548 from benpicco/gnrc_ipv6_nib-nce_switch
gnrc_ipv6_nib: get node from proper interface
2021-06-15 12:00:42 +02:00
Leandro Lanzieri
fee045d3e9
Merge pull request #16515 from fabian18/ieee802154_security_kconfig
Kconfig: expose IEEE 802.15.4 Security to Kconfig
2021-06-15 11:21:41 +02:00
3eb6b602a4
Merge pull request #16544 from benpicco/drivers/ethos-multi
drivers/ethos: enable multiple instances
2021-06-15 10:14:41 +02:00
Benjamin Valentin
ae4165b374 gnrc_ipv6_nib: get node from proper interface
If we switch the interface in gnrc_ipv6_nib_get_next_hop_l2addr()
we must also re-get the nib entry from the 'proper' interface.
Otherwise we will always find the host unreachable on the 'wrong'
interface.
2021-06-14 16:56:15 +02:00
Hauke Petersen
1fb34b364b sys/shell/sc_gnrc_rpl: do not print tricke TC 2021-06-14 11:22:49 +02:00
Hauke Petersen
c5d1a34b83 sys/trickle: migrate to ZTIMER_MSEC 2021-06-14 09:04:25 +02:00
Benjamin Valentin
2467c84634 drivers/ethos: enable multiple instances 2021-06-11 12:31:37 +02:00
Benjamin Valentin
118e08607a net/eui_provider: prohibit use of NETDEV_ANY for EUI device type
The EUI provider function only gets the index of a device within it's
device type.
Using NETDEV_ANY with two devices of different type causes the EUI
provider to be used for both (since both interfaces are index 0 of
their type).

To prevent this, require EUI providers to be locked to an interface type.
2021-06-08 14:30:40 +02:00
cfb10db9b7
Merge pull request #16507 from fjmolinas/pr_event_timeout_periodic
sys/event: add periodic timeout event
2021-06-08 13:07:40 +02:00
Benjamin Valentin
d2b6f79143 gnrc_ipv6_nib: consider all prefixes when deciding on-link next hop
Consider the following configuration:

    nib prefix
    2001:16b8:4569:88fc::/62 dev #7  expires 7081 sec deprecates 3481 sec
    2001:16b8:4569:88fe::/63 dev #6

If `_on_link()` stops at the first match, a packet received from #7 with a
destination in the downstream subnet in #6 would always be sent back via #7
if this happens to be the first entry in the list.

Instead, consider all prefixes and return the one that is the closest match.
2021-06-07 12:58:42 +02:00
benpicco
029cc50e72
Merge pull request #16528 from janosbrodbeck/pr/dtls/auto_init_before_gcoap
sys/auto_init: move sock_dtls after network stack initialization
2021-06-05 14:54:32 +02:00
János Brodbeck
ae39ffd9f8
sys/auto_init: move sock_dtls after network stack initialization 2021-06-04 18:13:33 +02:00
János Brodbeck
2e523bf101
net/gcoap: change return type from gcoap_req_send() to ssize_t 2021-06-04 17:15:04 +02:00
Francisco Molina
b0396eec5a
sys/include/event/timeout: add missing DOXYGEN
Fix styling
2021-06-03 17:54:26 +02:00
Francisco Molina
4ddbac3be3
sys/event: add periodic event 2021-06-03 17:53:44 +02:00
benpicco
3ad85a380c
Merge pull request #16522 from benpicco/bit_check
sys/bit: add bit_checkXX() functions
2021-06-03 13:07:21 +02:00
Fabian Hüßler
93759a747b ieee802154_security: adapt to Kconfig 2021-06-03 08:38:25 +02:00
Benjamin Valentin
3dd5f5c789 sys/bit: add bit_checkXX() functions 2021-06-02 14:07:17 +02:00
fde0bb7819
Merge pull request #16505 from fjmolinas/pr_event_timeout_ztimer
sys/event/timeout: add option to use ztimer as backend
2021-06-01 12:19:39 +02:00
Fabian Hüßler
d09ca43a84 Kconfig: Expose ieee802154 security configuration 2021-05-31 10:32:01 +02:00
Francisco
69368c32f8
Merge pull request #16470 from jan-mo/feat/20210512__schedstatistics_runtime_in_usec
sys/ps: enable runtime_usec output for the ps command
2021-05-28 16:12:13 +02:00
Jan Mohr
435796ccaa sys/ps/ps.c: enabled runtime in usec for schedstatistics 2021-05-28 15:00:46 +02:00
Francisco Molina
4f34e50130
sys/event/timeout: add option to use ztimer as backend 2021-05-27 22:34:01 +02:00
ca60cc9f66
Merge pull request #16363 from haukepetersen/add_byteorder_letofrombuf
sys/byteorder: add little endian to/from buf functions
2021-05-21 13:35:42 +02:00
Marian Buschsieweke
c210975108
Merge pull request #16443 from maribu/tests/malloc
sys/malloc_thread_safety: fix potential overflow in multiplication
2021-05-13 14:38:59 +02:00
Jnae
b287d120ff at86rf215: timestamp counter for rx frames 2021-05-12 15:27:36 +02:00
Marian Buschsieweke
eefed0e0cd
sys/malloc_thread_safety: fix overflow in calloc
some standard c libraries (e.g. newlib before 4.0.0) don't perform
proper overflow check in the multiplication. We just implement calloc
here ourselves on top of malloc with proper overflow check in place.
This might even safe a handful of ROM bytes.
2021-05-06 13:04:01 +02:00
Martine Lenders
4b4eaf3b76
gnrc_ipv6_nib: fix acquire race on gnrc_ipv6_nib_get_next_hop_l2addr()
When two threads use `gnrc_ipv6_nib_get_next_hop_l2addr()` to determine
a next hop (e.g. when there is both an IPv6 sender and a 6LoWPAN
fragment forwarder), a race condition may happen, where one thread
acquires the NIB and the other acquires the network interface resulting
in a deadlock. By releasing the NIB (if acquired) before trying to
acquire the network interface and re-acquiring the NIB after the network
interface is acquired, this is fixed.
2021-05-05 17:48:24 +02:00
Leandro Lanzieri
d36628d37e
Merge pull request #16183 from Ollrogge/aes_pr
sys/crypto: Enable support for AES-192, AES-256
2021-05-05 09:19:12 +02:00
Mumpfie
185570b034 gnrc tx-sync: add cast for c++ compatibility 2021-05-04 16:59:56 +02:00
Francisco
3cb3b5ab85
Merge pull request #16133 from miri64/congure_mock/enh/real-methods
congure_mock: add capability to provide actual methods
2021-05-04 11:06:35 +02:00
Ollrogge
f5ca90b007 sys/crypto, sys/random: Fix Kconfig files in response to AES changes 2021-05-03 17:34:53 +02:00
Ollrogge
b1a2d4787d sys/crypto: Remove leftover code related to deprecated 3DES block cipher 2021-05-03 17:34:53 +02:00
Ollrogge
427d2bd06e sys/crypto: Enable support for AES-192, AES-256 2021-05-03 17:34:49 +02:00
benpicco
2b6454a2d7
Merge pull request #16106 from fabian18/ieee802154_security_small_bugfix_and_stricter_names
net/ieee802154_security: small bugfix and stricter names
2021-05-03 11:29:43 +02:00
Leandro Lanzieri
a60b53005a
pkg/lvgl: model dependency resolution in Kconfig 2021-04-28 11:19:24 +02:00
Benjamin Valentin
d611a264fd drivers/cc2420: register with netdev 2021-04-27 17:37:52 +02:00
Fabian Hüßler
346f92f663 sys/net/link_layer/ieee802154: stricter names for security types
stricter prefixing of security related types and constants with
"ieee802154_sec_"
2021-04-27 08:54:19 +02:00
Fabian Hüßler
9390b3072b sys/net/link_layer/ieee802154: add missing const 2021-04-27 08:54:19 +02:00
Fabian Hüßler
1f0c62fbc8 sys/net/link_layer/ieee802154: move _set_key _sec_ecb _sec_cbc together 2021-04-27 08:54:19 +02:00
Fabian Hüßler
7036c2b9ee sys/net/link_layer/ieee802154: fix small typos 2021-04-27 08:54:19 +02:00
Fabian Hüßler
43f1470abc sys/net/link_layer/ieee802154: fix small copy paste bug 2021-04-27 08:54:19 +02:00
Martine Lenders
f7992bb588
Merge pull request #16268 from maribu/sys/Makefile.dep
sys/Makefile.dep: Some cleanup
2021-04-23 21:34:11 +02:00
Marian Buschsieweke
19d92cb455
sys/net/gnrc/Makefile.dep: split out of sys/Makefile.dep 2021-04-23 20:29:38 +02:00
Sebastiaan de Schaetzen
dee65e7ec6 xtimer: fix race condition in xtimer_msg_receive_timeout 2021-04-22 16:31:36 +02:00
Hauke Petersen
a7a3244b8f
Merge pull request #16367 from kaspar030/fix_ztimer_is_set
ztimer: fix `ztimer_is_set()`
2021-04-22 12:06:41 +02:00
88b509e56d ztimer: correctly unset timer->next (fix ztimer_is_set())
ztimer's machinery depends on figuring out if a timer is currently set
or not. It does that using _is_set(), which is also exposed as
ztimer_is_set().
Now when a timer expired and got taken of the timer queue using
_now_next(), the `next` pointer wasn't unset. This caused _is_set() to
wrongly return `true` for that timer.
Internally in ztimer, this didn't cause breakage, just an unnecessary
iteration of the timer queue by _delete_timer_from_list().
But this also broke the public ztimer_is_set().

This commit fixes the issue by correctly NULLing the timer's `next`
pointer when the timer triggers.
2021-04-22 11:06:04 +02:00
Hauke Petersen
9f19152c5c sys/byteorder: add little endian to/from buf funcs 2021-04-21 11:48:38 +02:00
chrysn
9ece00f10d sys/shell/sc_gnrc_rpl: Err out early if RPL not even started
Closes: https://github.com/RIOT-OS/RIOT/issues/16357
2021-04-20 17:04:27 +02:00
Hauke Petersen
feeffb2b2e sys/shell/sc_gnrc_6ctx: use ztimer if available 2021-04-16 11:38:54 +02:00
Hauke Petersen
75dbf65256 net/gnrc/sixlowpan/ctx: use ztimer if available 2021-04-16 11:38:54 +02:00
Hauke Petersen
d605cf4c15 shell/sc_nimble_netif: fix _connect_name scan dur 2021-04-15 12:42:41 +02:00
Hauke Petersen
01770fb9ae sys/shell/sc_nimble_netif: use ztimer 2021-04-15 09:11:53 +02:00
Leandro Lanzieri
58ec967cc6
Merge pull request #16264 from MrKevinWeiss/pr/pkgupdate/kconfig
pkg/*/Kconfig: Model simple pkgs in Kconfig
2021-04-12 19:01:18 +02:00
Hauke Petersen
b339e91e18 sys/sema: allow to use ztimer and/or xtimer 2021-04-12 13:08:39 +02:00
MrKevinWeiss
008660fccf sys/random: Fix typo in kconfig 2021-04-08 16:44:10 +02:00
Leandro Lanzieri
e7732d9a00
Merge pull request #16217 from fjmolinas/pr_driver_sm_pwm_01c
drivers/sm_pwm_01c: initial import
2021-04-08 09:04:38 +02:00
Francisco Molina
424192fbe7
sys/progress_bar: add Konfig configuration 2021-04-07 12:05:00 +02:00
04b562780f
Merge pull request #16160 from kfessel/p-block-required
sys/ztimer: rename required_pm_mode to block_pm_mode
2021-04-07 11:09:04 +02:00
Karl Fessel
951fa14d70 sys/ztimer: rename required_pm_mode to block_pm_mode 2021-04-06 16:57:53 +02:00
Martine Lenders
e3f398e3d3
Merge pull request #16279 from brummer-simon/gnrc_tcp-fix_data_race_on_status
gnrc_tcp: fix data race on fsm status
2021-04-06 15:53:08 +02:00
Simon Brummer
247f4d52bc gnrc_tcp: fix warnings from static-tests 2021-04-06 14:13:34 +02:00
Peter Kietzmann
c8cb79c3cf
Merge pull request #16253 from Ollrogge/ciphers_PR
crypto/ciphers: remove unneeded max_key_size in cipher_interface_st
2021-04-06 11:18:30 +02:00
Peter Kietzmann
f3482071e1
Merge pull request #16179 from leandrolanzieri/dev/net/sock/dtls_multi_cred
net/sock/dtls: allow using multiple credentials
2021-04-06 10:04:45 +02:00
Simon Brummer
458cfb9994 gnrc_tcp: fix data race on fsm status 2021-04-04 17:47:53 +02:00
Ollrogge
650e69038c crypto/ciphers: remove unneeded max_key_size in cipher_interface_st 2021-04-02 10:50:58 +02:00
Francisco
9d1d2f9e21
Merge pull request #16172 from kfessel/p-zimer-sec
sys/ztimer: add ZTIMER_SEC, improve auto_init
2021-04-02 08:32:38 +02:00
Karl Fessel
3f66735bde ztimer/periph_rtc: intialize struct tm to avoid TZ and IDST problems
{ .elem = 0 }  initializes the complete struct to 0
{} is not ISO C conform
2021-04-01 18:19:15 +02:00