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

358 Commits

Author SHA1 Message Date
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
6e7d5ae2d3 codespell: fix remaining issues 2022-09-16 14:00:35 +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
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
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
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
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
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
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
3d819ce707
gnrc_netif: make auto-config of compression context optional 2022-05-24 12:30:36 +02:00
Benjamin Valentin
fad65011b7 netdev_tap: make NETDEV_TAP_MAX an upper bound 2022-05-23 15:27:35 +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
03a669c407 gnrc_netif: remove warning about NETOPT_RX_END_IRQ 2022-05-11 13:56:47 +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
d800cca1c3 drivers/atwinc15x0: register with netdev 2022-03-30 16:07:29 +02:00
benpicco
1133d04de1
Merge pull request #17813 from leandrolanzieri/pr/tests/eth_drivers_rework
tests: rework eth drivers
2022-03-28 18:15:27 +02:00
Martine Lenders
624e8099ec
gnrc_netif: fix potential null pointer dereference 2022-03-24 15:53:23 +01:00
Leandro Lanzieri
a2e5934ec9
drivers/encx24j600: introduce setup function with index 2022-03-24 09:32:10 +01:00
Leandro Lanzieri
5f7a906b95
drivers/w5100: introduce setup with index 2022-03-24 09:30:42 +01:00
benpicco
2d89399047
Merge pull request #17745 from leandrolanzieri/cpu/esp32/esp-eth/move_auto_init
cpu/esp32/esp-eth: move GNRC auto_init to init_devs
2022-03-07 20:25:06 +01:00
Dylan Laduranty
9d459b8a14
Merge pull request #17746 from leandrolanzieri/cpu/sam0_common/eth/expose_correct_setup
cpu/sam0_common/eth: expose correct setup function
2022-03-07 18:42:08 +01:00
Leandro Lanzieri
de79edb352
drivers/encx24j600: define default parameters 2022-03-04 09:58:50 +01:00
Leandro Lanzieri
74c8893a4f
cpu/esp32/esp-eth: move GNRC auto init to init_devs 2022-03-04 09:41:18 +01:00
Leandro Lanzieri
f1075ad749
cpu/sam0_common/eth: expose correct setup function 2022-03-04 08:57:42 +01:00
Jens Wetterich
4dfeafcabd cpu/native/netdev_tap: Add to netdev_register 2022-02-11 07:54:11 +01:00
3b5662e116
gnrc/netif: convert to ztimer 2022-01-28 13:38:50 +01:00
Jose Alamos
5f46ab72e0
net/gnrc/lorawan: adapt ops->init to handle driver initialization 2022-01-10 13:59:27 +01:00
Jose Alamos
415704fa76
net/gnrc_netif: move netdev init code to ops->init 2022-01-10 13:59:24 +01:00
Jose Alamos
e7fac9f661
net/gnrc_netif: add return values to init 2022-01-10 13:59:01 +01:00
Benjamin Valentin
4b9bdc61b2 gnrc_netif/lorawan: add ; after DEBUG() 2021-12-09 10:14:07 +01:00
José Alamos
ce8cda2fd8
Merge pull request #16932 from benpicco/socket_zep-hal
socket_zep: port to radio HAL
2021-12-07 18:24:33 +01:00
Marian Buschsieweke
b1114b0674
sys/net/gnrc/netif: use container_of()
Using `container_of()` to translate from `netif_t *` to the containing
`gnrc_netif_t *` adds a bit of plausibility: It will fail when `gnrc_netif_t`
stops to contain `netif_t` as member. Additionally, this silences false
positives of -Wcast-align
2021-12-03 10:12:33 +01:00
Benjamin Valentin
fa2d9bde56 socket_zep: port to radio HAL 2021-11-18 11:51:14 +01:00
Benjamin Valentin
4bd53e70fa gnrc/netif: add gnrc_netif_ipv6_wait_for_global_address()
This adds a function to wait until a global address becomes available.
2021-09-17 13:00:14 +02:00
benpicco
abeb9c871d
Merge pull request #16745 from jia200x/pr/gnrc_netif_pktq/fix_deschedule
gnrc_netif_pktq: schedule immediately if timer us is equal to zero
2021-09-15 00:16:42 +02:00
Jose Alamos
ddc9c7c686
ieee802154/radio_hal: detach hal descriptor from driver 2021-08-18 15:24:10 +02:00
Jose Alamos
e9a2f186ba
gnrc_netif_pktq: send schedule msg directly if dequeue timer is zero 2021-08-16 14:42:56 +02:00
Jan Romann
4384795cb9
treewide: Remove excessive newlines 2021-08-13 19:50:38 +02:00
Jan Romann
e7a24fe136
gnrc_netif/lorawan: fix ENABLE_DEBUG definition 2021-08-12 17:30:46 +02:00
Jan Romann
441afca9fe
drivers/nrf24l01p_ng: fix ENABLE_DEBUG definitions 2021-08-12 17:30:45 +02:00
Martine Lenders
f2f6700865
Merge pull request #16228 from JKRhb/dhcp-ia-na
sys/net/dhcpv6: Add IA_NA support to the DHCPv6 client
2021-08-11 20:50:01 +02:00