1
0
mirror of https://github.com/RIOT-OS/RIOT.git synced 2025-12-23 13:33:49 +01:00

170 Commits

Author SHA1 Message Date
krzysztof-cabaj
0a511dd858 pkg/lwip: fix misleading assert text in is_netdev_legacy_api function 2025-05-06 18:05:29 +02:00
Marian Buschsieweke
488ded8e98
pkg/lwip: Add DEBUG output to lwip_sock_tcp() 2025-04-17 17:46:33 +02:00
Benjamin Valentin
c231cfebc1 lwip_sock/udp: zero-init sock struct on create 2025-04-04 16:10:44 +02:00
Mihai Renea
0f25aecceb sock/async: cancel sock async events when closing the socket 2025-02-12 16:41:59 +01:00
Marian Buschsieweke
424eae0095
pkg/lwip: fix adaption to API change of netdev_new_api
Since https://github.com/RIOT-OS/RIOT/pull/21012 a netdev in the new API
can return > 0 directly in netdev_driver_t::send() to indicate the
driver is naturally synchronous and has already completed the
transmission.

The adaption of lwIP to that API change contained a bug: It handled the
case after the thread is already blocked waiting for the signal that
is never going to arrive. This is now fixed.
2024-12-16 15:11:25 +01:00
krzysztof-cabaj
72cb8355e0 pkg/lwip: fix unused parameter error - when DEVELHELP = 0 2024-12-13 14:35:34 +01:00
Benjamin Valentin
a86411b81e drivers/netdev: allow .send() to return > 0 to signal synchronos send 2024-11-20 16:40:36 +01:00
Benjamin Valentin
312a550f1a treewide: remove THREAD_CREATE_STACKTEST from thread creation 2024-07-29 11:45:58 +02:00
Marian Buschsieweke
28f412f79b
pkg/lwip: add support for netdev_driver_t::confirm_send 2024-04-30 19:14:35 +02:00
Marian Buschsieweke
7277d1d351
pkg/lwip: use sys/event for handling ISR and bhp
This is directly useful for the two driver using the bhp API, but also
other drivers profit from not loosing IRQs.

The main selling point is that this paves the way for implementing
netdev_driver_t::confirm_send().

Co-authored-by: benpicco <benpicco@googlemail.com>
Co-authored-by: Erik Ekman <eekman@google.com>
2024-04-29 19:12:58 +02:00
Frederik Haxel
3291f94e07 pkg: 64 bit compatibility
* Added arch_64bit feature and added it to all packages that require 32 bit.
* hacl, wolfssl: Fixed different types between function declaration and implementation.
* lwip: Add required flag for 64 bit and bug fix in `lwip_sock`.
* micro-ecc: Workaround for GCC warning when using `__int128`.
2024-01-18 00:40:08 +01:00
Benjamin Valentin
2f9c68dabc sys/net/netif: constify netif access 2023-12-15 16:50:21 +01:00
Benjamin Valentin
32d17f5313 pkg/lwip: add support for slipdev 2023-10-26 16:41:18 +02:00
Erik Ekman
c49cd446a8 pkg/lwip: Allow setting netif active state 2023-10-11 21:46:55 +02:00
Erik Ekman
8e996c0a75 pkg/lwip: Allow reading netif active state 2023-10-11 21:46:55 +02:00
benpicco
68653d6ee7
Merge pull request #18693 from HendrikVE/pr/fix_missing_null_initialization_async_cb
pkg/lwip: add missing initialization for async_cb
2022-10-06 10:12:57 +02:00
Hendrik van Essen
0df72af04c pkg/lwip: add missing initialization for async_cb
Without initializing async_cb to NULL it might be a value != NULL,
which leads to sock->async_cb.gen() being called mistakenly in _netconn_cb.

gnrc_sock already does it with "reg->async_cb.generic = NULL;"
2022-10-05 14:22:14 +02:00
Hendrik van Essen
726ef375e7 pkg/lwip: remove redundant pointer 2022-10-05 14:13:03 +02:00
Hendrik van Essen
804da9ba25 pkg/lwip: give lines some more space 2022-10-05 14:13:02 +02:00
Hendrik van Essen
669aef0c60 pkg/lwip: use intermediate variable instead of max_len 2022-10-05 14:11:17 +02:00
Hendrik van Essen
2fd95824a0 pkg/lwip: rename offset to recvd 2022-10-05 14:11:17 +02:00
Hendrik van Essen
ee4692e90b pkg/lwip: replace boolean with simple expression 2022-10-05 14:11:16 +02:00
Erik Ekman
04a2070faa pkg/lwip: Set netdev callback before driver init
Otherwise if the cable is connected at boot the immediate NETDEV_EVENT_ISR
event signaling connection will not trigger the isr, and the netdev will not
clear its pending event.

This explains why the connect/rx event clash seen in "esp32/eth: Don't
overwrite queued event with RX packet" (95196fb7e40b12c7) only happened
with lwIP.

Now on my ESP32 board with Ethernet the issue was the opposite (since IDF
upgrade), the stuck connected event blocked receive from working. After
this change 95196fb7e40b12c7 can be reverted since even early events are
consumed properly.
2022-09-03 14:07:02 +02:00
Jose Alamos
4daaaccb0f
pkg/lwip_netdev: add support for IPC based Bottom Half Processor 2022-08-25 15:44:34 +02:00
Jose Alamos
a2bf203485
pkg/lwip: fix handling of netdev send return code 2022-08-23 11:57:11 +02:00
Jose Alamos
d0403fc32d
pkg/lwip: acquire and release device lock 2022-08-19 19:44:32 +02:00
Marian Buschsieweke
3b3d644ce3
Merge pull request #18288 from maribu/pkg/lwip
pkg/lwip: ease debugging & fix sending from socket bound to anyaddr
2022-07-25 10:27:33 +02:00
Marian Buschsieweke
3be9446769
pkg/lwip: fix code style
This mostly converts switch statements from double indent style to
Linux kernel style, as required per the coding convention.

From the C compiler perspective, this is a whitespace only change.
2022-07-22 12:42:22 +02:00
Marian Buschsieweke
d646a71e71
pkg/lwip: fix sending from socket bound to anyaddr 2022-07-22 09:48:53 +02:00
Marian Buschsieweke
f590c18f7f
pkg/lwip: ease debugging 2022-07-22 09:48:53 +02:00
Benjamin Valentin
0b91660d98 pkg/lwip: don't set NETOPT_RX_END_IRQ 2022-05-11 23:44:24 +02:00
Erik Ekman
7b84b3a3f5 pkg/lwip: Add empty netif_setopt
To fully implement net/netif.h
2022-05-09 17:48:30 +02:00
Erik Ekman
4679d3d06e pkg/lwip: Fall back to netdev when getting options
Adds support for mac address, link state and more
2022-05-09 17:48:30 +02:00
Erik Ekman
8796293c5a pkg/lwip: Implement getting option NETOPT_IPV6_ADDR 2022-05-09 17:48:30 +02:00
Martine Lenders
aa5a18f833
Merge pull request #16974 from yarrick/lwip_netif
pkg/lwip: Add netif_t struct, register all netifs
2022-04-26 23:49:49 +02:00
Hendrik van Essen
850863c22f pkg/lwip: move includes to the top of the file 2022-03-07 17:19:04 +01:00
Francisco Molina
64ff3d1d4f pkg/lwip: use ztimer_msec instead of xtimer 2022-03-03 15:54:22 +01:00
Benjamin Valentin
b822e8a5a9 pkg/lwip: implement sock_udp_sendv_aux() 2022-02-22 10:05:41 +01:00
Erik Ekman
7593bb0e40 pkg/lwip: Update netif_get_name implementation
Correctly refer to the struct netif inside the netif_t

Fix call to netif_get_name from lwIP ifconfig shell command
2021-11-16 22:04:44 +01:00
Erik Ekman
efeaac51ca pkg/lwip: Add lwip_netif_t struct
Extending netif_t struct from sys/net/netif to support the
stack-independent API.
2021-11-16 22:04:44 +01:00
Erik Ekman
02c840af2a pkg/lwip: Fix 6lowpan build when IPv4 is active 2021-11-09 23:16:33 +01:00
benpicco
149de73160
Merge pull request #16741 from benpicco/net_lwip_netif_get_name
pkg/lwip: implement netif_get_name()
2021-08-26 14:37:58 +02:00
Benjamin Valentin
b6b48535fb pkg/lwip: implement netif_get_name() 2021-08-26 13:20:24 +02:00
Erik Ekman
06dfcdd3fa pkg/lwip: Move socket_zep to netif auto init 2021-08-20 14:57:39 +02:00
Erik Ekman
9002da3d80 pkg/lwip: Move nrf802154 to netif auto init 2021-08-20 14:57:39 +02:00
Erik Ekman
1897b57d8e pkg/lwip: Move at86rf2xx to netif auto init 2021-08-20 14:57:39 +02:00
Erik Ekman
fff95fc882 pkg/lwip: Add 6lowpan helper, do auto init for mrf24j40 2021-08-20 14:57:37 +02:00
Erik Ekman
cdc8c35e13 pkg/lwip: Move stm32_eth to netif auto init 2021-08-20 14:56:48 +02:00
Erik Ekman
c631c0fddd pkg/lwip: Move sam0_eth to netif auto init 2021-08-20 14:56:48 +02:00
Erik Ekman
e8c5ff162a pkg/lwip: Move enc28j60 to netif auto init 2021-08-20 14:56:48 +02:00