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

2172 Commits

Author SHA1 Message Date
benpicco
988039b351
Merge pull request #18708 from miri64/gnrc_ipv6_nib/enh/handle-up-down-in-gnrc_ipv6
gnrc_ipv6_nib: handle iface_up/iface_down in IPv6 thread
2022-10-10 20:26:42 +02:00
Martine Lenders
47aaa94157
gnrc_ipv6_nib: handle iface_up/iface_down in IPv6 thread 2022-10-07 14:12:00 +02:00
Marian Buschsieweke
fd80c53a35
sys/shell/cmds: fix shell_cmd_netif LoRaWAN integration
Model the LoRaWAN integration to GNRC's netif command (ifconfig) as
submodule of it, namely `shell_cmd_gnrc_netif_lorawan`.

This should fix a regression introduced by
https://github.com/RIOT-OS/RIOT/pull/18355
2022-10-04 23:06:03 +02:00
José Alamos
f022ac3e23
Merge pull request #17884 from Ollrogge/gnrc_lorawan1.1
gnrc/lorawan: add basic LoRaWAN 1.1 features
2022-09-30 11:29:55 +02:00
benpicco
6257e328c0
Merge pull request #18661 from fabian18/nib-6ln_correct_abr_timeout
nib/_nib-6ln: correct ABR timeout in ABRO
2022-09-29 17:25:06 +02:00
Ollrogge
32cef708a7 gnrc/lorawan: uncrustify files 2022-09-29 11:26:04 +02:00
Ollrogge
12a4e1c1ec gnrc/lorawan: add support for GNRC LoRaWAN 1.1 2022-09-29 11:25:56 +02:00
Fabian Hüßler
23fa33774f nib/_nib-6ln: correct ABR timeout in ABRO 2022-09-29 10:48:49 +02:00
Marian Buschsieweke
77731c5f7b
treewide: s/gnrc_pktbuf_cmd/shell_cmd_gnrc_pktbuf/
Replace the deprecated module gnrc_pktbuf_cmd with the new
shell_cmd_gnrc_pktbuf module.
2022-09-24 14:50:43 +02:00
benpicco
f03f5384c1
Merge pull request #18355 from maribu/sys/shell/cmds
sys/shell: make cmds submodules and add KConfig modeling
2022-09-19 21:07:23 +02:00
Marian Buschsieweke
8457f09dde
Merge pull request #18139 from maribu/sys/net/gnrc/netif/confirm_send
sys/net/gnrc_netif: Make use of confirm send
2022-09-17 19:40:24 +02:00
Benjamin Valentin
4b0bfae4ca gnrc_netif: handle NETDEV_EVENT_LINK_UP/DOWN events 2022-09-16 22:57:06 +02:00
Benjamin Valentin
7211aa11af ipv6/nib: add gnrc_ipv6_nib_iface_{up, down}() 2022-09-16 22:57:06 +02:00
Benjamin Valentin
6e7d5ae2d3 codespell: fix remaining issues 2022-09-16 14:00:35 +02:00
Marian Buschsieweke
c06335b71b
sys/shell: make cmds submodules
Previously `shell_commands` was a "catch-all" module that included
shell commands for each and every used module that has a shell
companion. Instead, the new `shell_cmds` module is now used to provide
shell commands as individually selectable submodules, e.g.
`cmd_gnrc_icmpv6_echo` now provides the ICMPv6 echo command (a.k.a.
ping).

To still have a "catch all" module to pull in shell commands of modules
already used, `shell_cmds_default` was introduced. `shell_commands`
depends now on `shell_cmds_default` for backward compatibility, but
has been deprecated. New apps should use `shell_cmds_default`
instead.

For a handful of shell commands individual selection was already
possible. Those modules now depend on the corresponding `cmd_%` module
and they have been deprecated.
2022-09-16 13:15:45 +02:00
Marian Buschsieweke
581f35e577
sys/net/gnrc/netif: adapt to new API
For Ethernet, raw netifs, and IEEE 802.15.4 netifs only release outgoing
frame with legacy drivers, as gnrc_netif does so with new non-blocking
API.
2022-09-15 13:23:26 +02:00
Marian Buschsieweke
1cb6f9e11a
sys/net/gnrc/netif: provide support for confirm_send()
This adds support for netdevs implementing the new API that provides
`netdev_driver_t::confirm_send()`. This allows implementing netdevs
in an event based non-blocking fashion, making live of driver
developers a bit easier. In addition, `gnrc_tx_sync` will now throttle
users of `sock_udp_send()` so that they can only send datagrams as
fast as the network stack and hardware is able to send out.

Finally, this lays the groundwork to fetch TX statistics (such as
TX timestamps, reception of layer 2 ACKs/NACKs, etc.) from the network
devices.
2022-09-15 13:23:25 +02:00
Karl Fessel
05f114d0af doc: fix unbalaced grouping
- most were trivial
    - missing group close or open
    - extra space
    - no doxygen comment
- name commad might open an implicit group
    this hould also be implicit cosed but does not happen somtimes
- crazy: internal declared groups have to be closed internal
2022-09-14 15:05:25 +02:00
Martine Lenders
84e3ace6e3
gnrc_lorawan_crypto: fix Vera++ errors 2022-08-31 10:43:25 +02:00
Martine Lenders
aead6d2010
gnrc_lorawan: use aes128_cmac_.* instead of cmac_.* 2022-08-31 10:43:25 +02:00
Jose Alamos
5fd601ae97
gnrc/init_devs/kw2xrf: use high priority queue for drivers 2022-08-22 18:00:15 +02:00
Jose Alamos
2c9f3072fb
net/gnrc_netif: add support for priority queues 2022-08-22 18:00:14 +02:00
benpicco
d1ce899188
Merge pull request #18398 from benpicco/gnrc_ipv6_auto_subnets-doc
gnrc/ipv6_auto_subnets: improve documentation about subnet generation and RIO
2022-08-16 17:00:52 +02:00
Benjamin Valentin
28ff28aee0 gnrc/ipv6_auto_subnets: document the role of the RIO 2022-08-16 11:31:23 +02:00
Benjamin Valentin
18e74ae8c0 gnrc/ipv6_auto_subnets: document subnet generation better 2022-08-16 11:31:23 +02:00
Jose Alamos
4ebcd7c055
drivers/kw2xrf: add IEEE 802.15.4 Radio HAL support
Co-authored-by: Michel Rottleuthner <michel.rottleuthner@haw-hamburg.de>
2022-08-15 12:11:03 +02:00
Jose Alamos
4ace2ed778
net/gnrc: add support for event based Bottom Half Processor 2022-08-12 11:12:13 +02:00
Benjamin Valentin
f6cef270c2 gnrc_ipv6_nib: use correct DHCPv6 client module name
`MODULE_GNRC_DHCPV6_CLIENT_IA_PD` does not exist, the correct module name
is `MODULE_DHCPV6_CLIENT_IA_PD`.
2022-08-05 12:52:22 +02:00
Martine Lenders
fe3d620a63
gnrc_ipv6_nib: make configurable via Kconfig again 2022-07-22 17:51:57 +02:00
Benjamin Valentin
d4a3521501 doc/doxygen: add gnrc_ipv6_auto_subnets.c to INPUT 2022-07-15 11:47:01 +02:00
Benjamin Valentin
c7ac22c892 gnrc/ipv6_auto_subnets: improve wording in documentation 2022-07-15 01:50:15 +02:00
benpicco
2198eb84c0
Merge pull request #18284 from jia200x/pr/gnrc_netif_move_tested_options
gnrc_netif: move `option_tested` to default init function
2022-07-11 22:57:57 +02:00
Leandro Lanzieri
4a3231f763
drivers/kw2xrf: add setup function with global index
This index is used to register the network device.
2022-07-11 09:24:59 +02:00
Martine Lenders
fda230eb7c
Merge pull request #18275 from maribu/sys/net/rpl/netstats
sys/net/gnrc/rpl: sync access to netstats
2022-07-01 12:24:24 +02:00
Marian Buschsieweke
5a47d6a9b8
sys/net/gnrc/rpl: sync access to netstats
Synchronize the RPL thread updating the RPL netstats with the RPL
shell command reading it by disabling IRQs. This will prevent printing
corrupted data on non-32bit platforms as well as printing inconsistent
data (e.g. TX count of old state in conjunction with TX bytes of new
state) for all platforms.

Co-authored-by: Martine Lenders <mail@martine-lenders.eu>
2022-06-30 09:48:46 +02:00
Marian Buschsieweke
93d8bade8e
sys/net/gnrc/rpl: refactor netstats_rpl_t
There is a repeating pattern in the struct that is split out into a
subtype in this commit. This makes handling the data easier, as now
done in the print routine.
2022-06-30 09:48:45 +02:00
Jose Alamos
2c76dbf351
gnrc_netif: move option_tested to default init function 2022-06-29 17:48:27 +02:00
Marian Buschsieweke
973b6f69bf
sys/net/netopt: change NETOPT_STATS semantics
Instead of retrieving a pointer with NETOPT_STATS, retrieve the current
data. This avoids data corruptions when reading from one thread (e.g.
the thread running the shell (ifconfig command)) while another thread
is updating it (e.g. the netif thread).

The issue affects all boards, as users typically expect the count of
TX packets and the number of TX bytes to refer to the same state. For
16 bit and 8 bit platforms even a single netstat entry can read back
corrupted.

This fixes the issue by just copying the whole netstat_t struct over
without requiring explicit locking on the user side. A multi-threaded
network stack still needs to synchronize the thread responding to
netopt_get with the thread writing to the netstat_t structure, but that
is an implementation detail no relevant to the user of the API.
2022-06-28 16:57:43 +02:00
Benjamin Valentin
0b3f66f0db sys/net/gnrc_pktbuf_static: fix documentation of use-after-free detection 2022-06-23 00:31:32 +02:00
Benjamin Valentin
a165093b10 sys/net/gnrc_pktbuf_static: add use-after-free detection 2022-06-22 15:41:15 +02:00
Benjamin Valentin
14afafa2d2 gnrc_pktbuf: fix gnrc_pktbuf_contains() 2022-06-17 19:58:01 +02:00
Benjamin Valentin
d102bf90ea gnrc/ipv6_auto_subnets: always send RIO to upstream network
In a881af8b08 we would return early if the subnet did not change,
but we must still send the router advertisement with the route information
option to the upstream network, otherwise hosts in that network will not
consider the downstream subnet off-link.
2022-06-09 17:25:20 +02:00
Martine Lenders
18edd896c1
Merge pull request #18153 from benpicco/gnrc_netif_pktq-fix
gnrc_netif_pktq: protect against concurrent access
2022-06-01 22:00:29 +02:00
Benjamin Valentin
61cc168ce1 gnrc_netif_pktq: protect against concurrent access
fixes #17924
2022-06-01 12:13:31 +02:00
Martine Lenders
c4e202ae67
Merge pull request #17709 from benpicco/cpu/native-tap_wired
netdev_tap: make 'wired' property configurable
2022-06-01 02:24:43 +02:00
Martine Lenders
e22fb6ef07
gnrc_netif_pktq: create dedicated Kconfig
Reflects dependency change in e5f93f856d
2022-05-30 11:13:52 +02:00
Martine Lenders
e5f93f856d
gnrc: gnrc_netif etc. modules are not required by gnrc_netif_pktq 2022-05-30 10:39:06 +02:00
Benjamin Valentin
bf5926283b gnrc_netreg: drain mbox on unregister
If there are still messages in the mbox when gnrc_netreg_unregister()
is called, we must release the associated pktbuf snips, otherwise
they are leaked away forever.

E.g. `sock_udp_close()` was called without receiving all messages with
`sock_udp_recv()`.
2022-05-29 22:42:48 +02:00
Martine Lenders
3e531801e6
Merge pull request #17678 from miri64/gnrc_netif/enh/optional-comp-ctx
gnrc_netif: make auto-config of compression context optional
2022-05-25 00:51:36 +02:00
Martine Lenders
a2ca69ac91
Merge pull request #17691 from miri64/gnrc_sock/enh/warn-about-async-timeout
gnrc_sock: warn about non-zero receive timeouts with sock_async
2022-05-24 23:20:42 +02:00