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

195 Commits

Author SHA1 Message Date
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
Martine S. Lenders
3c6e87c18f
lwip: bump to v2.1.3 2021-11-10 22:36:19 +01:00
Erik Ekman
02c840af2a pkg/lwip: Fix 6lowpan build when IPv4 is active 2021-11-09 23:16:33 +01:00
Erik Ekman
3aee2dde9d pkg/lwip: Only enable ARP if Ethernet is supported 2021-11-09 23:09:35 +01:00
Erik Ekman
9844953da4 sys/net: Add ipv4 pseudomodule
Enabled when lwIP uses IPv4.
2021-10-11 21:37:47 +02:00
Erik Ekman
ff7bf09313 sys/net/sock: Set SOCK_HAS_IPV6 in one place
Based on ipv6 pseudomodule
2021-10-11 21:37:39 +02:00
Erik Ekman
3df56d576f sys/net: Add ipv6 pseudomodule
Enabled when GNRC, lwIP or OpenWSN uses IPv6
2021-10-08 10:27:22 +02: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
benpicco
16f7c94875
Merge pull request #16761 from benpicco/pkg/lwip/init_devs
pkg/lwip: add auto-init for DOSE & at86rf215, cc2538_rf
2021-08-24 12:16:14 +02:00
Erik Ekman
adccbc9f2a pkg/lwip: Fix compilation without IPv6
RIOT/pkg/lwip/init_devs/init.c:65:61: error: 'tcpip_6lowpan_input' undeclared (first use in this function)
     return netif_add_noaddr(netif, state, lwip_netdev_init, tcpip_6lowpan_input);
                                                             ^
2021-08-20 17:52:37 +02:00
Benjamin Valentin
5b83475ffe pkg/lwip: add auto-init for cc2538_rf 2021-08-20 16:48:25 +02:00
Benjamin Valentin
6d468f8044 pkg/lwip: add auto-init for at86rf215 2021-08-20 16:48:25 +02:00
Benjamin Valentin
b39390ed93 pkg/lwip: add auto-init for DOSE 2021-08-20 16:37:53 +02:00
Erik Ekman
9459dfaf68 pkg/lwip: Use XFA to initialize network interfaces 2021-08-20 14:58:29 +02:00
Erik Ekman
11f8ba89ae pkg/lwip: Move ethos to netif auto init 2021-08-20 14:57:39 +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
Erik Ekman
fea0c8d453 pkg/lwip: Move atwinc15x0 to netif auto init 2021-08-20 14:56:48 +02:00
Erik Ekman
a18b24c7ed pkg/lwip: Move esp_wifi to netif auto init 2021-08-20 14:56:48 +02:00
Erik Ekman
c9116f5570 pkg/lwip: Move esp_eth to netif auto init 2021-08-20 14:56:48 +02:00
Erik Ekman
9a089d412b pkg/lwip: Set first netif as default
Set at create time, as all netifs will no longer be in one array.
2021-08-20 14:56:48 +02:00
Erik Ekman
2816ade5f8 pkg/lwip: Start rework of netif initialisation
Use separate files with auto_init
Proof of concept with only moving netdev_tap
2021-08-20 14:56:46 +02:00
Jose Alamos
ddc9c7c686
ieee802154/radio_hal: detach hal descriptor from driver 2021-08-18 15:24:10 +02:00
Benjamin Valentin
5117da1cb0 lwip_tcp: fix build with DEVELHELP=0
If DEVELHELP is not set `LOCK_TCPIP_CORE()`/`UNLOCK_TCPIP_CORE()`
are not defined, leading to a build failure.

Defining them to no-op leads to a run-time segmentation fault, so
better always use those functions.
2021-08-15 12:50:33 +02:00
Erik Ekman
e04da0d828 pkg/lwip: Lock core before calling netif_get_ip6_addr_match in sock 2021-07-15 15:46:10 +02:00
Erik Ekman
c50604b63c pkg/lwip: Add assert on incorrect thread usage 2021-07-15 15:46:10 +02:00
Erik Ekman
4e01900108 pkg/lwip: Start DHCP on correct interface
Fix for #16229
2021-07-13 13:45:16 +02:00
Erik Ekman
c7d24f7912 pkg/lwip: Add patch to fix netif_is_flag_set macro
Had spelling mistake: `nefif` instead of `netif`.
2021-07-13 13:07:38 +02:00
Jose Alamos
4e6f299af0
lwip: avoid explicit cast to netdev 2021-07-09 11:35:16 +02:00
iosabi
e469f2dea4 lwip_sock: Make sock_tcp_read return data if available
When reading from the socket with `sock_tcp_read()` it would only return
data from at most one internal connection buffer, even if the buffer
passed to `sock_tcp_read()` is larger and there is more data available
in the connection. This patch makes `sock_tcp_read` process all the
available data so long as there's more data to read available
immediately.
2021-04-10 18:45:57 +02:00
iosabi
afddb46c51 lwip_sock: Fix computation of last_offset on partial reads.
lwip receives network buffers that are made available to lwip_sock_tcp
calling `netconn_recv_tcp_pbuf`. The size of these buffers depends on
the size of the network packets. An application calling `sock_tcp_read`
can pass any arbitrary buffer size to read (copy) from these internal
network buffers, which may be smaller. lwip_sock_tcp keeps around the
last network buffer (`struct pbuf last_buf`) and the offset into this
buffer already consumed by the application (`last_offset`).

However, when multiple application reads from the same `pbuf` buffer
occur, the `last_offset` must be updated incrementing it. The code had
a bug that would work only when `last_offset` was either 0 (no previous
partial read) or when the current read was consuming all the remaining
data (when `buf_len == copylen`).

This patch fixes the issue an allows multiple reads from the same
buffer.
2021-04-04 12:45:54 +02:00
Francisco
7d2eb7efad
Merge pull request #16229 from yarrick/dhcp_start
pkg/lwip: Start DHCP early for all Ethernet interfaces
2021-03-30 15:54:11 +02:00
Francisco
7b65dda691
Merge pull request #16190 from aabadie/pr/pkg/make_silent_ci_build
pkg: silent make commands with RIOT_CI_BUILD=1
2021-03-30 10:28:12 +02:00
Erik Ekman
6b89f4f34b pkg/lwip: Start DHCP early for all Ethernet netifs
Netifs without link status support will keep sending discover
messages with increasing time between.

Netifs that support link status will wait for the link to be up,
and then start sending.

Netifs that support link status but send no link status events
will continue to not work (unless link status is up from the
first check when setting it up).
2021-03-25 16:01:27 +01:00
benpicco
9cad382dc8
Merge pull request #16153 from yarrick/netif_add
pkg/lwip: Add netifs with netif_add_noaddr
2021-03-25 13:36:17 +01:00
benpicco
b0364941b5
Merge pull request #16082 from yarrick/link_state
pkg/lwip: Set netif link state properly when supported
2021-03-25 13:36:07 +01:00
benpicco
3fabafa0d9
Merge pull request #16152 from yarrick/foreach_netif
pkg/lwip: Use NETIF_FOREACH macro in sock implementation
2021-03-18 11:49:19 +01:00
9bd22dba79
pkg: silent make commands with RIOT_CI_BUILD=1 2021-03-12 16:05:18 +01:00
Leandro Lanzieri
fe5c982fa6
drivers/Makefile.dep: don't pull netdev on netdev_default
netdev_default should enable the network devices, which do not
necessarily use netdev.
2021-03-10 14:18:12 +01:00
Erik Ekman
d3ba3117f2 pkg/lwip: Use NETIF_FOREACH macro in sock implementation
Decreases dependency on lwIP internals, and will handle LWIP_SINGLE_NETIF.
2021-03-06 11:27:14 +01:00
Erik Ekman
9b03b79a85 pkg/lwip: Add netifs with netif_add_noaddr
Makes 6lowpan netifs work even if dual stack is enabled,
and one less static method needed.
2021-03-05 00:17:17 +01:00
Erik Ekman
60d5d1aa74 pkg/lwip: Set link state properly when supported
Set link state correctly in lwIP for interfaces that support
the NETOPT_LINK option. Interfaces that do not support it
(like tap for native arch) remain up all the time.

Netdevs that support NETOPT_LINK but do not send NETDEV_EVENT_LINK_UP/DOWN
events will end up with a mismatched link state - but DHCP would
already not start for them either.

Use netifapi to signal lwIP to do the work in its own thread.
2021-03-01 23:55:08 +01:00
Benjamin Valentin
a57e58d6ef lwip: hook up sam0_eth support 2021-02-26 12:54:40 +01:00