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

2144 Commits

Author SHA1 Message Date
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
Martine Lenders
a61c4b738c
Merge pull request #17547 from benpicco/gnrc_ipv6_auto_subnets-multi
gnrc/ipv6_auto_subnets: allow to join multiple subnets
2022-05-24 15:49:17 +02:00
Martine Lenders
4599c21b19
Merge pull request #18085 from benpicco/ipv6_auto_subnets-pio-flags
gnrc/ipv6_auto_subnets: only use prefixes meant for automatic address configuration
2022-05-24 14:23:53 +02:00
Martine Lenders
3d819ce707
gnrc_netif: make auto-config of compression context optional 2022-05-24 12:30:36 +02:00
Martine Lenders
4e88b7552b
gnrc_sock: warn about non-zero receive timeouts with sock_async 2022-05-24 12:29:13 +02:00
Martine Lenders
078bced8e1
Merge pull request #16090 from maribu/gnrc_tx_sync_frag_sfr
sys/net/gnrc: add gnrc_tx_sync for gnrc_sixlowpan_frag_sfr
2022-05-24 03:38:38 +02:00
Martine Lenders
a5cc629fb8
Merge pull request #18127 from benpicco/gnrc/nib-no_default_router_from_wpan
gnrc/nib: don't add routers from WPAN as default router on the 6LBR
2022-05-24 00:38:43 +02:00
Benjamin Valentin
f544890056 gnrc/nib: don't add routers from WPAN as default router for 6LBR
This avoids a race condition where the default router slots for the 6LBR
are used up by router advertisements from the 6Lo network that arrived
before router advertisements from the upstream network.

The border router should ignore 'default routers' from the 6Lo network as
it consitutes the uplink for that network.
2022-05-23 16:44:58 +02:00
Benjamin Valentin
fad65011b7 netdev_tap: make NETDEV_TAP_MAX an upper bound 2022-05-23 15:27:35 +02:00
Martine Lenders
3398898e76
gnrc_ipv6_nib: fix inconsistent ABR valid lifetime representation 2022-05-23 14:21:25 +02:00
Marian Buschsieweke
e4098d4b0d
sys/net/gnrc: add gnrc_tx_sync for gnrc_sixlowpan_frag_sfr
Implement TX synchronization for gnrc_sixlowpan_frag_sfr
2022-05-17 14:01:57 +02:00
benpicco
d28a45e939
Merge pull request #18089 from benpicco/NETOPT_RX_END_IRQ
net/netopt: drop NETOPT_RX_END_IRQ
2022-05-16 11:34:48 +02:00
Benjamin Valentin
b13b942e18 gnrc/ipv6_auto_subnets: allow to join multiple subnets 2022-05-12 00:44:18 +02:00
Benjamin Valentin
83d7d05885 gnrc/link_layer: don't set NETOPT_RX_END_IRQ 2022-05-11 13:58:06 +02:00
Benjamin Valentin
03a669c407 gnrc_netif: remove warning about NETOPT_RX_END_IRQ 2022-05-11 13:56:47 +02:00
Jose Alamos
869c5f37a7 link_layer/lwmac: use event queue for ISR offload 2022-05-10 17:48:43 +02:00
Jose Alamos
6040747f33 link_layer/gomach: use event queue for ISR offload 2022-05-10 17:48:43 +02:00
Jose Alamos
081dfe0e64 gnrc_netif: use event queue for ISR offload 2022-05-10 17:48:42 +02:00
Jose Alamos
38798cb877 gnrc_netif: use events instead of msg queue for ISR offload 2022-05-10 17:48:42 +02:00
Benjamin Valentin
1c1cb481da gnrc/ipv6_auto_subnets: only use prefix meant for address configuration 2022-05-10 16:41:20 +02:00
Marian Buschsieweke
eadd282cf4
Merge pull request #18026 from benpicco/gcoap_add_fix
gcoap: ensure response address is the same as request address
2022-05-10 10:49:56 +02:00
Benjamin Valentin
cc8b4f52aa grnc_sock_udp: implement SOCK_AUX_SET_LOCAL 2022-05-10 09:24:56 +02:00
Benjamin Valentin
2197f9c16a grnc_sock_ip: implement SOCK_AUX_SET_LOCAL 2022-05-10 09:24:56 +02:00
Benjamin Valentin
cbd48c23aa gnrc_sock: implicitly set netif if there is only a single one 2022-05-06 12:11:13 +02:00
Benjamin Valentin
e55f0f8831 sys/net/grnc: make use of iolist_to_buffer() 2022-05-02 23:23:52 +02:00
benpicco
1b92fb9858
Merge pull request #17350 from benpicco/gnrc_rpl/auto_init_on_prefix
gnrc/ipv6_auto_subnets: init RPL root when adding a prefix
2022-05-02 21:38:21 +02:00
Benjamin Valentin
a881af8b08 gnrc/ipv6_auto_subnets: bail out early if prefix stays the same 2022-05-01 21:37:32 +02:00
Benjamin Valentin
5785856fe7 gnrc/ipv6_auto_subnets: bail out early if adding prefix fails 2022-04-29 22:56:35 +02:00
Benjamin Valentin
3993fd75d0 gnrc/ipv6_auto_subnets: auto init RPL root 2022-04-29 22:56:35 +02:00